You need to learn about DevOps, but you do not know where to start? This is the essential DevOps guide, created especially to teach you, in less than 10 minutes, everything you need to know to participate in the next IT revolution.
The creation of apps in a matter of days or hours with which we are currently used to could not be more different from the software development scenario until a few years ago. It took months to model, a few more years to develop, and the launch of a new version was celebrated with events, CEO speeches, and notes in newspapers and magazines.
The emergence of much more dynamic web services, like social networks such as Facebook, Flickr, and the late Orkut, and digital businesses such as Amazon, Netflix and Uber, which focus on constant innovation, has changed this paradigm, forcing one of the biggest transformations that the industry has seen.
The development teams quickly adopted agile methods such as Scrum, allowing constant delivery of new codes, but still could not put the created versions into production at the same speed. The operations professionals, which aimed at high availability of service infrastructure, needed to create an environment of tests, to check all the infrastructure requirements and minimize any instability, increasing greatly the deploy time!
How to make the development, operations and other groups within IT to collaborate and work towards the same goal, which should always be the fast and reliable delivery of software to support the company’s business?
2. The DevOps Concept
This is where the DevOps culture comes in:
DevOps is defined as a series of software engineering practices that aim to unify the areas of development (Dev) and operations (Ops).
The term DevOps was created by Andrew Shafer and Patrick Debois in 2008 during the Agile Conference in Toronto and since 2009 has been constantly promoted through a series of events called “devopsdays” which began in Belgium and is now spread to others countries.
DevOps, therefore, is more than a methodology or a set of tools. It is true that the adoption of the DevOps culture has been possible due to the emergence of various data center automation and configuration management softwares such as Puppet, Ansible, Chef, OpenStack and OpenNebula, but only deploying them will not allow your organisation to to obtain all the benefits from the DevOps culture (after all, Unix and Linux professionals have sought automation of their tasks since the begging of the times #shellscript).
The factors that have promoted the adoption of the DevOps culture are:
- The demand for an increase in the release rate of new software versions, coming from the business area;
- The deployment of Scrum and other agile development processes and methods;
- A greater focus on test automation and continuous integration methods;
- The wide availability of virtualized infrastructure and cloud environments and
- The broad promotion of best practices.
3. DevOps Culture Goals
DevOps, however, will be just another buzzword if it is not accompanied by a behavior change, at all hierarchical levels. Teams that adopt the DevOps culture have the following objectives:
- To reduce the development cycle;
- To increase the frequency of deploys;
- To maximize the predictability and efficiency of operational processes and
- Mainly, to align all the actions of IT groups with the business objectives of the organization.
To do this, developers, analysts and managers within DevOps teams must adopt a shared responsibility attitude, working in collaboration with other groups and valuing feedback, which allows the continuous improvement of the work processes between developers and operations and the system in deployment.
It also necessary to be understood that automation promotes collaboration, but also brings efficiency and provides more time for innovation, making IT professionals more accountable as they know their primary purpose (supporting business, remember?) and must work on the constant search for new solutions.
4. Benefits of DevOps Culture
The measurable benefits of the DevOps culture include:
- Fast and efficient delivery of software;
- Improved research and innovation capacity;
- Solidification of a culture focused on performance;
- Less risks with better products;
- Improved customer satisfaction and
- Reduced costs.
A survey conducted over the last six years has shown evidence that companies that adopt DevOps practices achieve significant results and perform deploys 46 times more than their competitors, make changes 440 times faster and recover from failures with 96 times greater effectiveness.
5. DevOps in Practice
In an economy that pushes more and more for companies to become scalable and agile without sacrificing reliability or performance, the DevOps culture is no longer a competitive advantage: it’s either adopting or getting lost along the way.
In the next post of the #DevOpsDNA series, which we’ll be posting next Tuesday, we’ll outline an action plan to guide you toward the adoption of the DevOps culture. Let’s see how to deploy in practice, basing ourselves on the three pillars: Continuous Integration, Continuous Deployment and Continuous Feedback.