Traditional software development practices created large code bases that became difficult to change, thus bringing innovation to a halt. It is not uncommon to hear from companies who release software once a year who are looking to iterate much faster, ship more code, close the gap in the feedback loop. The emergence of DevOps is driving the adoption of Continuous Integration (CI) and Delivery (CD) practices. In this model, code changes are integrated and tested all the time and shipped when ready. Often this is in conjunction with transitioning from a monolithic code base to a micro services application architecture.
|Challenges with CI/CD||Docker Accelerates CI/CD|
|Difficulty supporting diverse language stacks and tooling||Eliminate system and language conflicts by isolating in containers|
|Slow provisioning and setup of build and test environments||Run more jobs faster|
|Low throughput of jobs and software shipped to stage or production||Ship more software|
|Inconsistencies between environments||Standardized yet flexible environment|