☁️

Guide to Choosing AWS Compute Services

Apr 22, 2025

Choosing an AWS Compute Service

Purpose

  • Determine the best AWS compute service for your organization.

Services Covered

  • Amazon EC2
  • Amazon EC2 Spot Instances
  • Amazon EC2 Auto Scaling
  • AWS Batch
  • AWS Elastic Beanstalk
  • Amazon Elastic Container Service (Amazon ECS)
  • Amazon ECS Anywhere
  • Amazon Elastic Container Registry
  • Amazon Elastic Kubernetes Service (Amazon EKS)
  • Amazon EKS Anywhere
  • AWS Fargate
  • AWS Lambda
  • AWS Local Zones
  • AWS Dedicated Local Zones
  • AWS Outposts
  • AWS Wavelength
  • Savings Plans
  • AWS Compute Optimizer
  • EC2 Image Builder
  • Elastic Load Balancing
  • Amazon Lightsail

Introduction

  • AWS compute services provide scalable computing power for modern applications.
  • Important to choose the right service for tasks such as web app requests or data-intensive algorithms.
  • Examples of services: EC2, Elastic Beanstalk, AWS Lambda, ECS, EKS, Fargate, and Batch.
  • Utilize multiple types for optimal advantages.

Understanding AWS Compute Services

  • Amazon EC2: Resizable virtual servers.
  • Elastic Beanstalk: Deploy web applications straightforwardly.
  • AWS Lambda: Run code without managing servers.
  • ECS & EKS: Container orchestration.
  • AWS Fargate: Serverless containers.
  • AWS Batch: Batch computing.
  • AWS Local Zones & Outposts: Infrastructure for low latency and local data.
  • EC2 Auto Scaling: Adjusts capacity automatically.

Amazon EC2 Services

  • Wide variety of instance types for different workloads.
  • Options include general purpose, compute optimized, memory optimized, etc.
  • EC2 Auto Scaling: Maintains availability with scaling policies.
  • EC2 Image Builder: Automates server image creation and management.

AWS Elastic Beanstalk

  • Supports multiple programming languages and Docker platforms.
  • Simplifies application deployment.

Amazon Lightsail

  • Simplified web application building with instances and container services.

Container Services

  • Amazon ECS: Managed container orchestration.
  • Amazon EKS: Managed Kubernetes service.
  • Options to run containers on EC2 or Fargate.
  • Amazon ECR: Managed Docker container registry.

Serverless Compute

  • AWS Fargate: Run containers without managing servers.
  • AWS Lambda: High-availability code execution without server maintenance.

On-premises and Edge Compute

  • AWS Local Zones: Resources close to population centers.
  • AWS Outposts: Extends AWS infrastructure on-premises.
  • AWS Wavelength: Low latency applications for mobile devices.

Cost Optimization

  • Savings Plans: Reduces costs with usage commitments.
  • AWS Compute Optimizer: AI/ML analytics for cost management.
  • Amazon EC2 Spot Instances: Discounted unused capacity.

Elastic Load Balancing

  • Distributes traffic across targets for availability.
  • Application Load Balancer: Operates at the application layer.
  • Network Load Balancer: Handles millions of requests per second.
  • Gateway Load Balancers: Deploy and manage virtual appliances.

Key Considerations

  • Workload type and requirements
  • Performance and scalability
  • Management overhead and cost optimization
  • Latency, throughput, and compliance

Choosing the Right Service

  • Match workload characteristics with service capabilities for efficiency.
  • Categories and optimized use cases:
    • Amazon EC2: High-performance computing.
    • Container services: Focus on application building.
    • Serverless compute: Minimize management overhead.
    • On-premises and edge: Low latency needs.
    • Cost optimization: Reduce AWS costs.

Tutorials and Resources

  • Amazon EC2 tutorials for Linux and Windows.
  • AWS Batch setup and deep dive.
  • AWS Fargate and Lambda guides.
  • AWS Outposts implementation planning.
  • Cost management decision guides.
  • Elastic Load Balancing tutorials.

Exploration

  • Architecture diagrams, whitepapers, and AWS solutions for further understanding and application.