What is DevOps?
DevOps is a philosophy in which development and operations teams work together in a rapid cycle of building, testing, and deploying software, often in a microservices architecture. Closely tied to “agile” environments, DevOps uses automation tools for frequent updates, constant iteration based on feedback, and continual development of new features to improve software delivery to end-users.
The practice of DevOps was born out of necessity around 2008; users in the software space were constantly demanding applications with new features that were efficient and worthwhile, but also stable and bug-free. This forced development teams to choose between features that were new but were code-breaking, or a stable application that moved at a snail’s pace. In order to meet user demands, the culture of DevOps was born to break the silos between teams, create transparency in processes, and enable collaboration to achieve a final objective.
DevOps pulls all the delivery teams of a business together to work towards a single goal instead of competing ones: producing the highest quality software possible.
- DevOps is a culture, not a “thing” or a job title
- Instead of silos with competing goals, teams integrate and collaborate to deliver the best software possible
- DevOps promotes rapid development, continuous delivery, and stable software
- A DevOps culture enables teams to respond to feedback quickly and provide the best product for their users
Impact on Today
DevOps is often used in place of accurate job titles or proper team names; for example, some companies might be hiring a “DevOps Front End Developer.” The most important thing to know is that DevOps is a culture, not a thing or a job title.
By continuously integrating, developing, rapidly building, testing, and shipping software and new features, DevOps can provide more value to customers with new and stable features. Some of the key benefits of a DevOps culture include:
- Continuous delivery, shipping “bits” as they are ready instead of waiting for a release
- Teams that iterate at a high velocity
- A reliable and auditable infrastructure
- The ability to scale up or down to meet user and resource demands
- Integration and hyper collaboration among teams that share workflows and responsibilities