Containers: an efficient way to manage software in the cloud
Post filed in: Innovation
As the federal government adopts cutting-edge technologies and embraces large changes to existing information technology (IT) infrastructure, containers have become a growing topic of discussion. Some agencies already have budding containerization practices, while other agencies are building container capabilities and skills or are just beginning the process.
In collaboration with the Cloud and Infrastructure Community of Practice (C&I CoP), the GSA Data Center and Cloud Optimization Initiative Program Management Office has developed the Containerization Readiness Guide to provide an overview of container technologies and guide agencies through the decision process of container adoption.
What are containers?
Containers are packages of software services that exist separately and independently from an existing host infrastructure. They consist of all the services required to operate in a runtime environment (RTE). Container environments house the application, all required dependencies, software libraries, and configuration files. Because container images hold everything needed for an application, developers do not need to code applications for new environments, and deployment is greatly streamlined. Generally, applications have multiple containers that function like isolated, secure building blocks for the application’s software.
Open-source tools allow organizations to build, test, and deploy applications through containers. There are various containerization platforms agencies can choose from when considering computing, networking, and storage capabilities.
Why should your agency consider containers?
Containers may offer your agency a unique opportunity to modernize your legacy applications and develop new applications to take advantage of cloud services. They allow agencies to develop applications quickly, scale applications rapidly, and use compute resources efficiently.
- Develop applications quickly: Using containers frees developers from the tedious task of managing multiple configuration environments, supporting libraries, and configurations from testing to production environments. Containers can be created once and used multiple times without additional effort.
- Scale applications rapidly: Federal agencies can use a container management system to cluster multiple containers together, schedule and automate deployments, and manage containers to meet mission needs and priorities.
- Optimize compute resources: Unlike virtual machines, multiple containers can run on a single operating server or a single virtual machine due to their lightweight nature, and their ability to quickly execute and maintain a consistent runtime model.
Is your agency ready?
As your agency considers containerizing its applications, leaders must determine if the agency is ready to transition to containers and whether containers are the best solution. The Containerization Readiness Guide provides three tools to help your agency with this process:
- A decision flow chart to assess your agency’s readiness and viability.
- A journey map to show the overarching stages of container adoption maturity — from Exploration to Enterprise-wide Adoption — and the challenges associated with each.
- A matrix of recommended container delivery models based on your agency’s purpose in adopting container technologies and its maturity level.
Join our Community of Practice!
This guide is iterative and agencies are encouraged to collaborate, share best practices, and lessons learned. Subscribe to the C&I CoP if you would like to learn more about containers and cloud computing.