Compute in the cloud
- ec2
- instance types
- pricing
- dedicated hardware
- scaling
- auto-scaling
- load balancing
- messaging
- Simple Notification Service (SNS)
- Simple Queue Service (SQS)
- Serverless
- Lambda
- container services
- Elastic Container Service (ECS)
- Elastic Kubernetes Service (EKS)
- Fargate “serverless containers”
(1) EC2
EC2 instance types
- general purpose - balances compute, memory, network
- compute optimized - high-performance processors
- memory optimized - high-performance databases (db needs memory)
- storage optimized - data warehousing
- accelerated - (special use-cases)
R6a R 6-> v6 a amd i intel
EC2 Pricing
pay for what you use
EC2 instance pricing options
- on-demand (pay for what you use)
- spot (cheaper, might be interrupted)
- reserved (cheaper, pay for instances even when not using it)
- compute savings plan (cheaper, pay for consistent compute usage)
Dedicated Hardware (vs shared hardware with virtualization)
- dedicated instance (eg. legal compliance)
- dedicated host - physical box (eg. licensing requirements)
(2) scalability auto-scaling
- get more instances when (eg. 3 minutes of 70% usage)
elastic load balancing
- get the traffic into the instance
side-effect: resilience when an instance crashes
(3) AWS messaging services
Simple Notification Service (SNS) push / publish topic subscriber
Simple Queue Service (SQS) queue stored on queue pull
(4) Serverless compute services
Lambda
(5) container services
Elastic Container Service (ECS) Elastic Kubernetes Service (EKS)
Fargate - “serverless containers” fargate pricing (per vCPU / GB per hour) https://aws.amazon.com/ecs/pricing/