The advantages of DevOps in practice
This article was published on May 8th 2019 in Netzwoche 08/2019 – author: Markus Speth.
DevOps stands for a new culture and approach in the collaboration of traditionally separated departments. Development (software development) and Operations (IT operations) are pulling together to increase software quality and availability and thus customer satisfaction. In a world where software is becoming increasingly important, the success of a business depends more and more on how quickly software can be developed and deployed. Technology is evolving rapidly, is accessible to everyone, and international development teams are on call waiting to get the next assignment – so how can you stand out from the competition? The decisive factor today is how well a company knows its target group and how it satisfies customer needs better and faster than the competition through rapid iteration. DevOps can be an enabler for this.
What is DevOps?
DevOps is a dazzling term, but often just as vague as „cloud“ or „container“. Everybody understands something different, and in some cases, DevOps is already used inflationary or only for marketing purposes. However, the majority agree that DevOps has arrived in the mainstream. Fundamentally, DevOps is an artificial word made out of „development“, i.e. software development, and „operations“, i.e. IT operations or system administration. DevOps stands symbolically for a new culture of collaborative departments that historically have pursued rather different goals: software development must be agile, creative and at the cutting edge of technological development in order to be able to constantly deliver new features. In contrast, IT operations is geared towards stability, security and reliability. DevOps now tries to unite exactly this apparent contradiction between agility and stability. As a logical further development of agile software development, DevOps aims to include the entire value chain in an interdisciplinary way. DevOps should break up existing silo thinking.
(illustration ©️ Daniel Stori – thank you very much)
DevOps consists of processes, tools and cultural components, whereby it primarily depends on the people. A DevOps culture must be lived. DevOps cannot be „bought“ by using tools, introducing new processes or hiring a DevOps engineer. DevOps is the interdisciplinary cooperation, not only of Dev and Ops, but of all parties involved in the product life cycle such as Product Owner, Scrum Master, Testing and Security. The entire organization must contribute to this. It is not possible to establish a DevOps culture in a company without committed people who break out of the „sysadmin vs. coder“ thinking pattern. This requires leaders who promote cooperation and collaboration between the teams. The management must share the ideas and set an example. DevOps is a philosophy or holistic approach – not a methodology nor a management framework that can simply be put over an existing organization.
Who benefits from DevOps?
DevOps affects all sectors and is not limited to software development. Many traditional industries today support their core business with software: no matter if banks, insurance companies, retail or industrial sector – digitization does not stop at any industry. If the customer is happy, so is the team, the individual employee and ultimately the company. In the end, everyone benefits from DevOps.
DevOps in practice
In practice, a functioning DevOps organization is characterized by frequent and fast release cycles, automated deployments (including automatic rollbacks if required), continuous integration and automated testing. The ideal picture is a fully automated pipeline without the need for manual intervention. It is also important that the management gives the teams the authority to make decisions autonomously without having to wait for a „go“. A practical example is self-service: The developer can create a development or test environment him or herself if required, without having to wait for the IT administration. The biggest obstacle to team collaboration is often the deadlocked approach and the „power of habit“. In such cases, it takes a lot of persuasion and time before a DevOps culture can become a commonplace. One only has to imagine how a company must also change culturally so that it can evolve from a few software releases per year to daily or even hourly releases through the use of continuous delivery. Software delivery cycles are getting shorter and shorter through Continuous Integration / Continuous Delivery (CI/CD) as production pipelines can increasingly be scaled through microservices and cloud native environments. Ideally, errors are detected before they go into production. The earlier an error is found and corrected in the chain, the cheaper it is to correct it. DevOps principles and automation make this possible, for example by using several test environments.
Today’s most successful product companies like Netflix deploy their applications several hundred to thousand times a day. Failures cannot be prevented, but can be scheduled in to continuously learn from them. Netflix has significantly increased the stability and robustness of its service through the use of chaos engineering, i.e. the deliberate and accidental termination of servers and processes in production as well. Server failure is taken for granted and built into the DNA of the service. Without a mature and comprehensive DevOps mentality throughout the entire organization, it would be impossible to deliver software at this speed and quality. Software companies are also on the rise in Switzerland, which are constantly improving their applications and placing their customers in the foreground through a lived DevOps practice. For example, Sherpany with their software for management and board meetings or Amazee.io, who have developed Lagoon, a modern docker build and deployment system for Kubernetes and OpenShift.
But DevOps is not just there to accelerate software development by increasing the level of automation and efficiency and agility. DevOps can be an enabler of an organization’s cultural change and improve overall collaboration, work climate and motivation. DevOps stands for collaboration, flexibility, agility and concentration on a joint business success: satisfied users, market-driven products and long-term motivated and loyal employees.
Want to learn more about DevOps?
We have conducted a study of the state of DevOps in Switzerland which will be published soon.
If you or your organization would like to learn more about DevOps and would like to find out whether there is still room for improvement in your current application architecture, VSHN offers a DevOps workshop to find out.