Devops Renaissance
Glenn Engstrand
Facilitates better, faster, cheaper product delivery from requirements to production deployment
We live in a time of renaissance for what is now called devops maturity. It has never been easier to develop and deploy to different environments complex, distributed systems of computer software. A lot of this ease is courtesy of a technology known as Kubernetes which is an open-source system for automating deployment, scaling, and management of containerized applications. But Kubernetes by itself doesn’t complete the picture. There are also some other popular open source software systems that contribute greatly to this renaissance.
What is devops? The word itself is a portmanteau of the words developers and operations. In the days before devops, running services in production was kind of dysfunctional in the corporate culture. The operations staff were responsible for running in production what the developers coded but they didn't know much about those services (after all, they didn't code them) so they would have to reach out to the developers whenever there was an outage. These interruptions angered the developers who didn't feel like they were responsible. Since developers were separate from operations, they didn't feel like they needed to understand the production environment in which their services ran.
领英推荐
With the introduction of Docker and devops, the lines of responsibility shifted. In all environments, developers are responsible for what goes on in their containers and operations staff are responsible for what runs those containers and what runs outside of containers (e.g. databases). Typically, the developers in each team rotate through an on-call assignment every sprint. The DoC (dev on call) responds to alerts and to any questions or concerns in group chat devoted to such purposes. They are responsible for maintaining runbooks and any other educational collateral for operating their services in production. Devops also brought about a tendency to automate all aspects of the software development life cycle which led to the rise of CI / CD (Continuous Integration / Continuous Deployment).
If this topic is of interest to you and you would like to learn more about the tooling that supports it, then check out my blog on Devops Renaissance.