Container Options
Containers are very popular—and with good reason. These virtualization components are smaller and more efficient than virtual machines when it comes to making a single application or service available. As a result, more and more organizations are turning to containers for delivering their solutions. AWS is perfectly aware of this. In fact, Amazon offers two services for container management and deployment: ECS and EKS.
Elastic Container Service (ECS)
The AWS Elastic Container Service (ECS) is a highly scalable, high-performance container management service that supports Docker containers. AWS ECS is a fully managed service, which means AWS takes care of the operational aspects, such as server provisioning, patching, and scaling. It eliminates the need for you to install, operate, and scale your own cluster management infrastructure.
Here are some other exciting benefits of AWS ECS:
ECS provides orchestration services: This can help you quickly become an efficient manager of your containers at great scale.
ECS is similar to EC2: ECS features automated autoscaling capabilities.
ECS integrates with AWS Fargate: AWS Fargate is the serverless compute option for running containers.
ECS also supports ECS clusters: An ECS cluster is a logical grouping of container instances, which provides another powerful scalability feature.
Elastic Kubernetes Service (EKS)
Amazon Elastic Kubernetes Service (EKS) is a fully managed Kubernetes service in the public cloud. EKS simplifies the process of deploying, managing, and scaling containerized applications using Kubernetes. With EKS, users can leverage the power of Kubernetes for container orchestration without the need to manage the underlying infrastructure.
Here are some features you should be familiar with:
EKS integrates with the popular open-source Kubernetes platform, offering a consistent and secure way to run containerized applications.
It allows users to create and run Kubernetes clusters in the AWS Cloud, taking advantage of AWS features such as Elastic Load Balancing (ELB) for distributing incoming traffic, AWS Identity and Access Management (IAM) for secure access control, and Amazon VPC for network isolation.
EKS supports the seamless integration of other AWS services, making it easier for developers to build, deploy, and scale applications in a Kubernetes environment.
EKS is designed to automatically update the Kubernetes control plane, ensuring that users have access to the latest features and security patches without manual intervention.
Like ECS, EKS integrates seamlessly with AWS Fargate. (Remember that Fargate is the serverless compute service for running container workloads.)
Figure 13-2 shows EKS in AWS.
Figure 13-2 The AWS Elastic Kubernetes Service