A Close Look at Aws Fargate and Aws App Runner Con406

Title

AWS re:Invent 2022 - A close look at AWS Fargate and AWS App Runner (CON406)

Summary

  • Archana Shakanta, a principal engineer at AWS, discusses the evolution of AWS container services from EC2 to AWS App Runner.
  • EC2, the original compute service, required customers to manage VMs, software, load balancers, auto-scaling, and deployment pipelines.
  • Elastic Beanstalk was introduced to automate the orchestration of these components, but customers still managed the resources.
  • The rise of containers led to the creation of ECS in 2015, which moved container orchestration control to AWS, but customers still managed scaling and deployment complexities.
  • AWS Fargate, launched in 2017, is a serverless container offering that abstracts away the underlying instances, allowing customers to focus on containers.
  • AWS App Runner further simplifies deployment for web applications by managing containers, load balancers, auto-scaling, and deployment pipelines, leaving customers to handle only the application image.
  • App Runner supports both source code and pre-built container images, with seamless scaling and a simplified API call to create services.
  • Under the hood, App Runner uses a service VPC, managed language runtimes, and deploys Fargate tasks in an AWS-owned account with networking to the customer's VPC.
  • Fargate uses Firecracker microVMs for fast startup and strong isolation, running on bare metal instances within the Fargate VPC.
  • ECS orchestrates the placement of Fargate tasks, with a sophisticated microservices architecture and cellular design for high availability.
  • Security is a key consideration, with strict controls in VPCs, security groups, IAM roles, and isolation between tasks and instances.
  • Availability is ensured through regional independence, cellular architecture, and multi-AZ deployments for both the control plane and data plane.

Insights

  • AWS has progressively abstracted the complexity of running web applications on its platform, moving from infrastructure management to serverless offerings.
  • The shared responsibility model is a core concept in AWS, where AWS manages certain aspects of the stack, and customers manage others, depending on the service used.
  • AWS Fargate and App Runner represent the highest level of abstraction, significantly reducing the operational burden on customers.
  • Firecracker microVMs are a key technology enabling the fast startup and strong isolation required for serverless container execution.
  • AWS employs a cellular architecture within regions to minimize the impact of failures and ensure high availability across its services.
  • Security and availability are designed into every layer of AWS services, with the higher abstraction services benefiting from all the underlying work.
  • Customers are encouraged to start with the highest abstraction service that meets their needs and only move to lower-level services if necessary.