Deploying, Running Applications in Docker Containers

An introductory overview of containerization and why Docker became a core enabler for modern DevOps delivery. The post explains how containers improve portability, deployment efficiency, and CI/CD execution across environments.

Jeff Pierce

October 30, 2017

Deploying and running applications in Containers is one of the hottest trends in DevOps and IT today. Docker, a containerization platform that lets users easily package, deploy, and manage their applications within containers, is principally responsible for bringing containers to the mainstream. This article provides information about what containers are, their relationship with DevOps, and the benefits derived from container implementation.

What are Containers?

Containerization is a virtualization method for encapsulating software and the minimum set of resources and dependencies necessary for that software to run. Containers encapsulate functionality at a higher level than Virtual Machines (VMs) as they do not typically contain a full operating system or services, rather they have a minimalist OS which makes them orders of magnitude smaller than a typical VM (a number of containers can fit into a typical VM disc footprint) and makes them extremely efficient and portable. Containers, with their stripped down OS and minimal services, are typically much faster to deploy and initialize than a full VM. Containers are extremely flexible and facilitate higher workload densities for deployments on bare metal, virtualized, and cloud based infrastructures.

What do they have to do with DevOps?

Modern data center infrastructure management solutions are helping to change software development. The increasing popularity of virtualization technologies, including containerization, has made infrastructure more available and flexible, supporting agile software development processes and practices while increasing integration and collaboration between development and operations. Containers facilitate DevOps and Continuous Integration (CI), Continuous Deployment (CDep), and Continuous Delivery (CDel) by creating smaller, isolated, and more efficient workload deployment packages that are more easily managed and integrated with CI/CD build pipelines.

What benefits can one gain from Containers?

  • Resource utilization/efficiency (ROI)
  • Standardization and consistency
  • Workload Portability
  • CI/CD efficiency and Rapid Deployment
  • Cloud multi-platform support
  • Security through isolation and segregation of applications and resources

Learn More!

If you want to learn more about how Containers can help with your DevOps implementation and support Agile Development, and how to actually implement Docker Containers, register now for  event!

Jeff Pierce

Jeff Pierce

Jeff Pierce is a Managing Consultant with Coveros, Inc., a software company that helps organizations accelerate the delivery of secure, reliable software. Jeff is a leader with over twenty years experience in information technology (IT) program/project management. Jeff is a SAFe(R) 4 Program Consultant, a certified Scrum Master, and is also a Project Management Professional (PMP). He has proven technical excellence in development and deployment of strategic web-based enterprise information systems utilizing cloud computing and continuous integration technologies. Jeff's experience also includes an extensive Software Quality Assurance (SQA) and test engineering background including building and managing test teams and test automation implementation across a variety of platforms, technologies, and industries. Jeff manages Coveros Training, and is a professional instructor, delivering Agile and Software Quality related courses nationwide.