The Journey Towards Application Containers
Published Web Location
https://doi.org/10.48448/wgkm-5776Abstract
The Merritt Digital Preservation System consists of 8 microservices deployed to 23 production servers. Conceptually, the Merritt team is intrigued by the thought of redesigning the system to be deployed to production as a stack of Docker containers. At the present time, our team does not have plans or the expertise to deploy docker containers in production. We imagine that other library development teams are similarly intrigued by the concept of containerization but not yet committed to running containers in production.
The migration to a stack of containers is not an all-or-nothing proposition. The Merritt team has replaced a deprecated development server environment with a stack of docker containers, and we have already seen many benefits (expected and unexpected) from using containers in our software development processes.
The process of modifying our services in Docker for the purpose of enabling end-to-end automated testing has delivered significant benefits to the team regardless of when or if we migrate the production instances.
We now have an environment that allows us to test each component of the Merritt system. Additionally, we have the capability to attach a debugger to each application running in this environment. The creation of this environment enabled us to develop a suite of end-to-end integration tests.
More interestingly, the discipline involved in creating development containers for our applications introduced several enhancement ideas that made our applications (running outside of containers) even better.
This presentation will describe the migration process of our development stack and it will detail the benefits that we have already achieved in our non-containerized environments. The presenter team includes a software developer, a product manager, and a development team manager. Each presenter will describe the impact of this migration from our unique perspectives.