In Chapter 4: VPC (Virtual Private Cloud), we established a secure, isolated network foundation within AWS—our private "estate" where all cloud resources will reside. While this network layer is essential for controlling traffic, ensuring security, and isolating environments, it is only the beginning.
Now, we shift our focus to what runs within that estate. We need a robust, scalable, and highly available platform to deploy and manage our applications—one that supports containerized workloads, automatic scaling, and seamless integration with AWS services.
In this chapter, we introduce Amazon Elastic Kubernetes Service (EKS)—the managed Kubernetes platform that allows us to run modern, container-based applications efficiently within our VPC.
Imagine you've built a powerful new application and you're ready to put it into production. To do this effectively, you need more than just raw computing power—you need a factory-like environment that can:
Traditionally, this would mean provisioning and managing fleets of servers, manually configuring deployments, and implementing complex operational processes. As applications scale, this model becomes increasingly difficult to maintain, error-prone, and resource-intensive.
This is where Amazon Elastic Kubernetes Service (EKS) comes in.
EKS provides a fully managed Kubernetes control plane, enabling you to run containerized applications at scale without managing the underlying infrastructure. Think of it as a state-of-the-art, automated factory for your applications—one that handles orchestration, resource management, scaling, and recovery, so you can focus on delivering and evolving your software.
With EKS, you gain the power and flexibility of Kubernetes, backed by AWS’s reliability, security, and integration ecosystem.
To understand how Amazon EKS fits into our infrastructure, it’s helpful to first define the core technologies behind it:
Kubernetes (K8s)
Kubernetes is an open-source container orchestration platform designed to automate the deployment, scaling, and management of containerized applications. Think of Kubernetes as the orchestra conductor for your workloads—coordinating when and where application components (containers) run, monitoring their health, and ensuring they work together harmoniously. It also handles dynamic scheduling, self-healing, service discovery, and load balancing.
Amazon Elastic Kubernetes Service (EKS)
EKS is AWS’s managed Kubernetes service. It offloads the operational burden of running Kubernetes itself by managing the control plane on your behalf. This includes provisioning, scaling, patching, and securing the Kubernetes master nodes. With EKS, you focus on defining and deploying your workloads, while AWS handles the availability, performance, and security of the Kubernetes control plane.
By using EKS, you get the full power of Kubernetes—with deep AWS integration and without the overhead of managing the control infrastructure.
This split responsibility is key: