The Doppler Quarterly Spring 2018 | Page 56

This is an ideal type of application to modernize with containers. It is stateless, has an automated and repeatable build process and is being actively developed. How Was the Application Deployed? Before containers, the application was deployed to each environment by updat- ing the existing virtual machines. An environment-specific deployment script ran a set of commands to copy the latest version of the application to a shared file system, and then updated each VM with the new version. The deployment was slow and frequently failed due to transient timeout errors during the update process. What Problem Were We Trying to Solve Using Containers? Setting the Scene As the team scaled, the deployment process became a bottleneck. The team was frequently troubleshooting deployment failures, which caused delays and missed target dates. Incorporating additional tools and automation required involving specific team members familiar with the custom deployment scripts. The amount of effort and coordination required to deploy the application to production led to an increase in the amount of time between releases. To mit- igate impacts to clients, the deployments were done late at night or early in the morning. 54 | THE DOPPLER | SPRING 2018