A story of Docker Migration

Jul. 1, 2021

📦 A Docker Migration Story 🐳

What’s the process for a team to make the transition in infrastrucure from classic VMs to Container As A Service? Here’s the gist of it, as we learned it the hard way on the course of 18 months in a previous PaaS startup.

  1. (Decision Maker) Recognize the need for change:

    • Virtual Machines (VMs) have limitations and fixed costs.
    • Containers provide infrastructure as code, traceability, and improved performance.
    • Docker aligns with DevOps principles of agility, antifragility, and time-to-market.
  2. (Manager) Understand potential challenges:

    • Speed is crucial; fast execution is essential for success.
    • Lack of confidence can arise when issues occur only on specific environments.
    • Silos and dependencies can hinder the benefits of containerization.
  3. (Devs) Start the Docker migration journey:

    • Implement Argo Workflows for reactive GitOps pipelines and deployment jobs.
    • Use hadolint for linting Dockerfiles and maintaining best practices.
    • Employ container-structure-test for validating Docker images against defined tests.
  4. Overcome challenges during Docker migration:

    • Improve speed and execution time by embracing Docker’s fast-evolving ecosystem.
    • Break down silos and foster a high level of maturity within the team.
    • Ensure the CaaS platform is not creating more frustration by evaluating overall QA metrics.

By following this recipe, you can successfully migrate to Docker, leveraging its benefits for your web applications.

Tools mentioned:

Original blog post published July 2021: https://www.artifakt.com/blog/cloud/documenting-our-migration-to-docker/