Module 3 - Exploring Compute Services
Module 3 - Exploring Compute Services
Introduction to Serverless Compute
With serverless computing, you run applications without managing the underlying infrastructure. AWS handles provisioning, scaling, and maintenance on your behalf.
Key serverless and managed compute services include:
- Amazon Elastic Container Service (Amazon ECS)
- Amazon Elastic Kubernetes Service (Amazon EKS)
- AWS Elastic Beanstalk
- AWS Lambda
The level of management you receive varies by service:
- Unmanaged services (e.g., EC2) — you are responsible for the operating system, networking, and firewall configuration.
- Managed services (e.g., Amazon ECS) — AWS handles the operating system, networking, and firewall, but you still configure the application layer.
- Fully managed services (e.g., AWS Lambda) — AWS is responsible for the entire underlying infrastructure, including scaling and maintenance.
AWS Lambda
- Lambda is a serverless compute service that lets you run code without provisioning or managing a server.
- It operates as a function-as-a-service: you write a function, and Lambda executes it in response to a trigger.
- Lambda can respond to events — such as an API call or a file upload to S3 — without you needing to start a server.
- It automatically manages the infrastructure and scales to handle the incoming workload.
- You are charged only for the compute time your function uses, making it cost-effective for event-driven workloads.
Containers and Orchestration on AWS
Containers package your application and its dependencies into a single, portable unit. This creates a consistent runtime environment across development, staging, and production.
- Amazon ECR (Elastic Container Registry) stores, manages, and versions your container images.
- Amazon ECS (Elastic Container Service) is a fully managed service that orchestrates containers. You define the parameters, and ECS handles deployment and scaling.
- Amazon EKS (Elastic Kubernetes Service) is a managed Kubernetes service, suited to teams that already use Kubernetes or need fine-grained control over container orchestration.
- AWS Fargate is a serverless compute engine for containers. It removes the need to provision or manage the underlying servers entirely — you simply define your container and Fargate runs it.
Additional Compute Services
- AWS Elastic Beanstalk streamlines environment provisioning and application management. You can save and reuse environment configurations across deployments.
- AWS Batch manages large-scale batch computing tasks and automatically adjusts resources based on demand.
- Amazon Lightsail simplifies the setup and management of web applications by bundling compute, storage, and networking into a straightforward package, without the complexity of configuring individual services.
- AWS Outposts extends AWS services to your on-premises data centre, enabling hybrid cloud architectures where workloads span both local and cloud environments.