We will explore some of the compute options in AWS such as Elastic Compute Cloud(EC2), Container Orchestration Service (ECS, EKS) and Serverless Compute (Lamda).
Elastic Cloud Compute
This service offers virtual machines on the AWS cloud rather than the physical server. In EC2, AWS manages underlying hardware, hypervisor, networking and security while the user is responsible for patching the OS; configuration of storage, networking and security. EC2 offers a wide range of instances (VM) based on the operating system (Linux, Windows); compute, storage and networking to suit different kinds of workloads.
Auto scaling features in EC2 scales instances up or down to meet the application load. EC2 instances can be purchased by various pricing options such on on-demand, spot, reserved, dedicated etc. based on your usage criteria.
EC2 is useful for a wide variety of use cases such as deploying test environments for applications, hosting databases and websites, big data analytics etc.
Container Orchestration (ECS and EKS)
Microservices architecture is a software development approach to break down monolithic applications into smaller and independent services. Elastic Container Server (ECS) and Elastic Kubernetes Service(EKS) are the container orchestration services offered by AWS that support the microservices architecture. ECS is Amazon’s proprietary fully managed container orchestration service while EKS is a managed service which runs an open source Kubernetes container orchestration platform on AWS.ECS allows you to deploy, manage and scale containerized applications on AWS. ECS capacity (infrastructure for running containers) is available 3 different options i.e. EC2, Fargate (serverless compute) and on-premise virtual servers. When ECS is deployed with EC2, AWS manages the control plane and the user is responsible for managing the EC2 cluster(instances, patching, scaling). When ECS is deployed with Fargate, AWS is responsible for managing the control plane and EC2 cluster, and the user is responsible for monitoring and patching of containers. There is no additional cost for using ECS so you only pay for the EC2 instances.
EKS is compliant with open source Kubernetes container orchestration platform, so your existing Kubernetes application can be easily migrated to AWS. In EKS, AWS manages the control plane similar to ECS and the user is responsible for managing the EC2 cluster. Similar to ECS, you can deploy worker nodes using either EC2, Fargate and on-premise virtual servers. There is an additional charge for using EKS service apart from EC2 cluster cost. EKS requires deployment of Kubernetes control plane pods which requires a higher level of expertise compared to ECS.
Lambda
Lambda is an event triggered serverless computer service offered by AWS. In Lambda, AWS manages the underlying hardware, OS, its patching, capacity and its scaling; and the user is only responsible for application code development.
Comments
Post a Comment