Overview of DevOps
Traditionally, infrastructure and development teams were treated as independent functions and there was minimal collaboration between the two. Infrastructure teams were responsible for provisioning and managing infrastructure, while the development team was responsible for building and shipping code. The conflict arose from the fact that the two teams had conflicting mandates. The infrastructure team’s responsibility was to maintain the infrastructure operational, while developers wanted to make changes to those systems. Whenever you introduce new code or changes to systems and applications, you are increasing the risk of downtime. This created a culture where infrastructure teams may want to minimize changes and demand a long, rigorous process for changes. Developers, however, needed a way to release software more often while ensuring lower failure rates, faster recovery times, a shorter lead time between fixes, and generally more frequent deployments.
...