Year2009 – Ongoing
RoleApplication Development, DevOps, UX, QA
Longer provisioning time impacts product release frequency
A leading healthcare analytics firm was using traditional VMs for deployment across QA, Staging and Production. This resulted in high turnaround time for provisioning environment and impacted the frequency of new releases and bug fixes. The requirement was to speed up application deployment and environment setup using Docker containers.
Docker enables dynamic resource usage
We used Docker containers to reduce the environment set-up time. Since the platform was already using microservices architecture, it made things easy to map each service to a Docker container. Each container was then defined by a Dockerfile along with all libraries and dependencies. A CI/CD pipeline was created using Git, Bitbucket, Jenkins, Docker Hub, and Chef. As the workloads are not known upfront, we developed dynamic partitioning solution using Docker cgroups memory and CPU quotas. The Docker containers were controlled at run-time, giving customer the flexibility to dynamically increase/ decrease the resource usage for any workflow.
Flexible, real-time capacity planning
The result was a flexible, near real-time capacity optimization solution that leverages Docker container providing flexibility to provision capacity based on usage at run time, thereby optimizing resource usage and bringing down the overall operational cost.