What is DevOps, and why is it important for organizations to understand and implement it? A comprehensive, non-technical explanation of what DevOps means and explores why DevOps principles are critical for enterprise organizations of all stripes.
What is DevOps, and why is it important for enterprises to understand and implement it? Below, WebGate provides a comprehensive, non-technical explanation of what DevOps means and explores why DevOps principles are critical for enterprise organizations of all stripes. This article, aimed at a non-technical audience, is primarily intended to clarify what exactly DevOps is.
What is DevOps?
DevOps is an artificial word made up of the terms Development and IT Operations. In short, it brings together the traditionally separate software development and system administration. The aim is to improve the quality of the software, the speed of development and delivery, and the interaction between the teams involved.
DevOps cannot simply be bought in, but must rather be understood as an interdisciplinary collaboration of all roles involved in product development. A DevOps culture must be promoted and lived. First and foremost, it depends on the individual people in the team, how they work together, how supporting tools are used, and how new processes are introduced.
As software development and operations become more intertwined and companies become more dependent on cloud infrastructure, executives and project managers need to develop fluency in DevOps to remain competitive and ensure their teams are working to their full potential. This requires a DevOps culture within the company with engaged leaders and employees who break out of the siloed “systems administration versus programmers” mindset and encourage cooperation and collaboration between teams. Thus, hiring a DevOps engineer also comes down to teamwork and communication skills, because technical skills can be learned comparatively easily and continuously expanded on-the-job. (See our related article: What companies should look for when training their IT staff).
DevOps is a philosophy that fundamentally changes the way we work together and cannot simply be imposed on an existing organization as a management framework. Management must exemplify this culture and encourage and support employees in the process.
What are the benefits of DevOps?
A chief digital officer explains in a TechBeacon interview how his company went from a clunky, legacy IT infrastructure to “an agile, DevOps-based approach” that increased development productivity fourfold. Updates are being released much faster, and IT has regained trust by once again meeting user expectations.
The findings of the 2017 State of DevOps report point to a striking difference between companies that are adopting DevOps principles and those that are not. According to the report, top performers have far higher software implementation frequency (46 times more frequent) and far shorter development times (440 times faster). The joint work of development and operations allows for a clearer picture of the current project status, which makes project implementation more efficient and faster.
Further, these companies have a significantly lower error rate in updates (five times lower) than their lower-performing counterparts. This is because the most common errors are development errors. Being able to update systems faster and more securely saves a lot of time. This shortens the recovery time when errors are fixed, and thus the potential downtime.
DevOps principles encourage project involvement and collaboration. With better communication, project stakeholders are more involved and productive. Trust between teams encourages innovation and experimentation with new technologies.
Because everyone involved is also directly exposed to the other disciplines within a project, the skills of the entire team increase. It can support and encourage each other, leading to more thoughtful solutions and early recognition of interdisciplinary problems.
Despite these significant benefits, the term DevOps is too often misused or misunderstood. For many, the idea remains fuzzy, and even the basic definition of DevOps can seem elusive. This can potentially harm organizations and teams trying to implement DevOps principles. DevOps should not be viewed as just another vague buzzword, but rather as an important concept with the potential to dramatically improve products and businesses.
The DevOps Toolkit
Increasing efficiency is an important driver for DevOps. This is achieved primarily by automating slow and tedious processes in software development and infrastructure operations. Automation is thus central to DevOps, as demonstrated by the following two fundamental DevOps practices.
- With Continuous Integration(CI), the adaptations and further developments are no longer collected and delivered in large packages. By supporting automation, it is possible to update the software after each change, as is also done on mobile apps. Through these many, small development steps, the risk of errors decreases and different features are more easily merged.
- Continuous Delivery(CD) delivers and installs versions of software directly. Existing systems are automatically updated when they are adapted, with minimal effort. This saves a lot of time on monotonous tasks, which is then available to employees for solving more complex tasks.
Today’s most successful product companies, such as Netflix, deploy their applications hundreds to thousands of times per day. Downtime cannot be prevented, but it can be better planned for. Server downtime is taken for granted and built into the DNA of the service. Without a mature and pervasive DevOps mentality throughout the organization, it would be impossible to deliver software at this speed and quality. In Switzerland, too, software companies are on the rise that is constantly improving their applications and putting their customers first through a lived DevOps practice, for example, Sherpany with its software for management and board meetings.
Authors: Samuel Bäumlin, Senior Developer, Roman Weber, CEO