AWS Compute
AWS compute services provide on-demand processing capacity in Amazon's cloud. They range from virtual machines (EC2) and containers (ECS, EKS) to serverless functions (Lambda), each trading control for operational simplicity depending on the workload.
itCloud computing | OpenSkills.info
Course pathWalk it in order
Look it upDip in anytime
Go furtherLeaves this page
Don't Panic
Don't Panic — AWS Compute
AWS Compute is a menu of execution models, which is a polite way of saying AWS has several ways to run your code and each one brings a different pile of chores. You can rent a virtual server, schedule containers, run a function after an event, or submit a finite job to a queue. The useful question is not which service name sounds familiar. It is what you need to control and what you are prepared to operate.
Amazon EC2 is the control-rich choice. An AMI starts a virtual server, an instance type shapes its resources, and the rest of the arrangement is firmly your business: guest operating-system updates, network access, credentials, application software, capacity, and replacement. One instance is one failure domain, which is less a philosophical observation than a warning label. The Intro explains how launch templates, Auto Scaling groups, healthy targets, and load balancing turn replaceable instances into a service.
Containers split the question in two. ECS and EKS decide how container work is orchestrated; EC2 and Fargate decide where that work gets capacity. Fargate removes the underlying instance fleet, not the image, task permissions, network paths, storage choices, or application behavior. If that sounds like a distinction designed by a committee, it is still the distinction that keeps an incident from becoming an archaeology project. The Cheatsheet has the compact comparison when the names start to resemble a bowl of initialisms.
Lambda narrows the contract again. It runs an independent function invocation after an event or API call, so durable state belongs elsewhere and a persistent host process belongs somewhere else entirely. AWS Batch takes the other timing path: finite work enters a queue and is scheduled for throughput, retries, and resource use rather than interactive request latency. Lightsail is the smaller packaged-web route when the full EC2 architecture surface would be more choices than the project needs.
The surprise is that managed compute does not remove architecture. It moves responsibility upward and changes the shape of the constraints. Cost also follows the allocation model: EC2 capacity, Fargate task resources, Lambda requests and execution resources, Batch resources, and Lightsail bundles do not fail or bill in the same way. Read the Slides for the selection path, then use the Field Notes when the neat diagrams have met queues, overload, and an Availability Zone that has chosen an inconvenient afternoon.
When you need to put the picture to work, use the Reference tab for AWS documentation and the Landscape for the compute products behind the choices. Keep the mental model small: choose the smallest execution unit that fits the workload, then check identity, network access, state, failure behavior, observability, and cost. The cloud is still a computer. It has merely become very good at sending you a receipt for the parts you forgot to think about.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html
Supports
- EC2 instances are virtual servers and AMIs provide starting operating systems and software
- Instance types define compute, memory, networking, storage, and accelerator characteristics
- EBS provides persistent block storage while instance store is temporary
- Security groups control allowed network traffic
- EC2 has On-Demand, Savings Plans, Reserved Instance, Spot, dedicated, and capacity-reservation pricing options
- https://docs.aws.amazon.com/global-infrastructure/latest/regions/aws-regions-availability-zones.html
Supports
- Regions are separate geographic areas and Availability Zones are isolated locations within a Region
- A workload placed only in one Availability Zone can lose all of its instances during a failure in that Zone
- Most AWS services use regional resources and AWS does not automatically replicate regional resources across Regions
- https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-security.html
Supports
- EC2 customers manage network access, instance credentials, guest operating system updates, application software, and attached IAM role permissions
- AWS protects the infrastructure that runs EC2
- https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html
Supports
- Auto Scaling groups maintain minimum, desired, and maximum EC2 capacity
- Auto Scaling replaces unhealthy instances and can balance capacity across Availability Zones
- Scaling policies add or remove capacity according to defined criteria
- Auto Scaling integrates with Elastic Load Balancing target registration and health checks
- https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/what-is-load-balancing.html
Supports
- Elastic Load Balancing distributes incoming traffic across healthy registered targets
- Targets can include EC2 instances, containers, and IP addresses across one or more Availability Zones
- Load balancers support health checks and automatically scale load-balancer capacity
- https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-purchasing-options.html
Supports
- On-Demand Instances avoid long-term commitments
- Savings Plans use a one-year or three-year consistent-usage commitment
- Reserved Instances use a one-year or three-year instance-configuration commitment
- Spot Instances use unused EC2 capacity and can reduce compute cost
- https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-instance-termination-notices.html
Supports
- Spot interruption notices are best effort
- A notice normally precedes stop or termination by two minutes, except hibernation begins immediately
- AWS recommends fault-tolerant applications that consume interruption notices
- https://docs.aws.amazon.com/decision-guides/latest/containers-on-aws-how-to-choose/choosing-aws-container-service.html
Supports
- AWS container selection separates orchestration choices from compute capacity choices
- ECS and EKS provide orchestration choices while EC2 and Fargate provide compute choices
- Containers package applications and dependencies into reproducible execution environments
- https://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html
Supports
- Amazon ECS is a managed container orchestration service
- ECS separates capacity, controller, and provisioning layers
- https://docs.aws.amazon.com/eks/latest/userguide/what-is-eks.html
Supports
- Amazon EKS provides managed Kubernetes
- AWS manages the Kubernetes control plane for an EKS cluster
- EKS is a fit when Kubernetes compatibility and tooling are requirements
- https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS_Fargate.html
Supports
- Fargate runs ECS containers without a customer-managed EC2 cluster
- Customers specify container CPU, memory, networking, and IAM settings
- Each Fargate task has an isolation boundary from other tasks
- https://docs.aws.amazon.com/AmazonECS/latest/developerguide/security-shared-model.html
Supports
- AWS provisions and patches Fargate compute infrastructure
- Fargate customers manage container images, task IAM permissions, network configuration, encryption, data, and applications
- ECS on EC2 adds customer responsibility for the EC2 AMI, patches, hardening, and ECS agent
- https://docs.aws.amazon.com/lambda/latest/dg/welcome.html
Supports
- Lambda runs code after events or API requests without customer server management
- AWS manages Lambda infrastructure, server maintenance, capacity provisioning, scaling, and patching
- Lambda function invocations are independent and scale horizontally with demand
- https://docs.aws.amazon.com/batch/latest/userguide/what-is-batch.html
Supports
- AWS Batch schedules queued batch workloads through managed orchestration
- AWS Batch can provision and scale EC2 and Fargate compute resources
- Batch targets high-scale finite work and resource-efficient throughput
- https://docs.aws.amazon.com/lightsail/latest/userguide/what-is-amazon-lightsail.html
Supports
- Lightsail bundles instances, containers, databases, networking, storage, and related web resources
- Lightsail targets websites and web applications with quick setup and predictable monthly prices
- https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html
Supports
- CloudWatch provides metrics, logs, dashboards, and alarms for AWS resources and applications
- CloudWatch alarms can trigger automated actions when metrics cross configured thresholds
- https://aws.amazon.com/about-aws/whats-new/2006/08/24/announcing-amazon-elastic-compute-cloud-amazon-ec2---beta/
Supports
- Amazon EC2 beta launch in August 2006 introduced resizable compute capacity.
- https://aws.amazon.com/about-aws/whats-new/2009/05/17/monitoring-auto-scaling-elastic-load-balancing/
Supports
- The May 2009 launch combined CloudWatch monitoring, Auto Scaling, and Elastic Load Balancing for EC2.
- https://aws.amazon.com/blogs/compute/reinvent2014/
Supports
- Amazon EC2 Container Service launched at re:Invent 2014 for Docker containers on managed EC2 clusters.
- https://aws.amazon.com/about-aws/whats-new/2014/11/13/introducing-aws-lambda/
Supports
- AWS Lambda preview launched in November 2014 as event-triggered compute with managed resources.
- https://aws.amazon.com/about-aws/whats-new/2016/11/introducing-amazon-lightsail/
Supports
- Amazon Lightsail launched in November 2016 with bundled virtual private server resources.
- https://aws.amazon.com/blogs/aws/aws-batch/
Supports
- AWS Batch launched in December 2016 with managed queues, scheduling, and compute environments.
- https://aws.amazon.com/about-aws/whats-new/2017/11/introducing-aws-fargate-a-technology-to-run-containers-without-managing-infrastructure
Supports
- AWS Fargate launched in November 2017 as container compute without an underlying instance fleet.
- https://aws.amazon.com/blogs/aws/amazon-eks-now-generally-available/
Supports
- Amazon EKS became generally available in June 2018 as managed Kubernetes.
- https://aws.amazon.com/blogs/containers/happy-5th-birthday-aws-fargate/
Supports
- AWS Fargate added Amazon EKS support in December 2019.
- https://aws.amazon.com/builders-library/static-stability-using-availability-zones/
Supports
- AWS describes overprovisioning active-active capacity so remaining Availability Zones can carry load after a Zone impairment.
- https://aws.amazon.com/builders-library/avoiding-insurmountable-queue-backlogs/
Supports
- AWS Builders Library explains failure modes and prevention strategies for queue backlogs.
- https://docs.aws.amazon.com/whitepapers/latest/availability-and-beyond-improving-resilience/increasing-mtbf.html
Supports
- AWS explains that automated scaling can be too slow to prevent overload and discusses quotas, throttling, retries, and load shedding.
- https://aws.amazon.com/blogs/compute/enhancing-auto-scaling-resilience-by-tracking-worker-utilization-metrics/
Supports
- AWS explains why worker-utilization metrics can represent capacity more accurately than host-resource metrics.
- https://aws.amazon.com/ec2/
Supports
- Amazon EC2 is an AWS virtual-server compute service.
- https://aws.amazon.com/ecs/
Supports
- Amazon ECS is AWS container orchestration.
- https://aws.amazon.com/eks/
Supports
- Amazon EKS provides managed Kubernetes.
- https://aws.amazon.com/fargate/
Supports
- AWS Fargate provides serverless capacity for containers.
- https://aws.amazon.com/lambda/
Supports
- AWS Lambda runs event-driven functions.
- https://aws.amazon.com/batch/
Supports
- AWS Batch manages queued batch workloads.
- https://aws.amazon.com/lightsail/
Supports
- Amazon Lightsail provides bundled web compute resources.
