Cloud Computing continues to advance containers provide a stable mechanism for moving workloads within environments regardless of whether they're internal, external or across clouds... applications can be migrated across environments unchanged.
Container orchestration allows container based applications to scale by allowing container management software to handle the scheduling and management of containers across multiple hardware nodes.
-
Application portability - given the variety of environments in the enterprise, portability is key. Containers enable applications to be quickly provisioned anywhere... from the developers desktop, to QA environments to Production in the data center or any public cloud. This flexibility allows engineers to select the target environment based on the necessary characteristics, whether focusing on performance, cost, or privacy.
-
Faster Time to Market - Containers simplify development and DevOps cycles, allowing developers to to build application components and their dependencies in containers and hand them off for deployment to the container orchestration platform. This lowers engineering costs by allowing for a common approach to a well defined model. This gets new application updates into production faster with less risk, less down time and fewer distinctly different approaches to managing components.
-
Horizontal Scalability - scalability is achieved with automated management of containers in conjunction with clustering across multiple nodes. This provides the kind of scalability on demand that allows for an agile to response to changing business conditions.
-
Resource utilization - Containers improve resource utilization by leveraging isolation to allow multiple applications (or multiple instances of the same application). The light weight nature of containers allows for fast startup times and good utilization of server instances.
-
Better Team coordination - Containers provide a model that helps more easily distinguish areas of responsibility... development owns what's inside the containers, operations owns what's outside the container. Having a well defined model simplifies getting development, operations, and others in the process to work together in a well defined context.