Demystifying containers on AWS: What’s right for you? (DEV307)

Container Services on AWS: Choosing the Right Fit

Overview

  • The presenters discussed the different container services offered by AWS and how to choose the right one for your needs.
  • They highlighted the trade-offs between flexibility, control, and complexity when selecting a container service.
  • The presentation was divided into the following sections:
    1. Layers of container management on AWS
    2. Grouping of AWS container services
    3. Choosing between different container services based on your requirements
    4. Optimizing costs for container workloads

Layers of Container Management on AWS

The presenters explained the three layers of container management on AWS:

  1. Capacity Layer: Provides the underlying computing power (e.g., EC2, Fargate)
  2. Orchestration Layer: Manages the deployment and scaling of containers (e.g., ECS, EKS, OpenShift on AWS)
  3. Provisioning Layer: Simplifies the interaction with the orchestration layer (e.g., App Runner, Elastic Beanstalk, Amplify)

They also mentioned that AWS Lambda encompasses all three layers, providing a serverless option for running containers.

Grouping of AWS Container Services

The presenters categorized the AWS container services into three groups:

  1. Bring Your Own Container Image: Services where you provide the container image, and AWS runs it (e.g., ECS, EKS, App Runner, Lambda)
  2. Bring Your Own Container with Added Value: Services that let you run containers but provide additional features (e.g., App Runner, Amplify, Elastic Beanstalk)
  3. Containers Running Under the Hood: Services that manage the containers for you, and you don't see them (e.g., some AWS managed services)

Choosing the Right Container Service

When choosing a container service, the presenters suggested considering two main approaches:

  1. Tactical (Fit-for-Purpose): Focuses on practical solutions to get the application up and running quickly, without managing the underlying infrastructure.
  2. Strategic (Organizational-Level): Balances long-term needs like scalability, control, and developer experience, as well as the in-house expertise of the team.

Optimizing Costs for Container Workloads

The presenters provided the following tips for optimizing costs:

  • Comparing the pricing models of different services (e.g., EC2 vs. Lightsail vs. Fargate)
  • Leveraging spot instances and Savings Plans to reduce costs
  • Considering the trade-offs between flexibility, scalability, and cost when choosing between services (e.g., EC2 vs. Fargate, EKS with EC2 vs. EKS with Fargate)

They also provided a demo and shared a repository with example infrastructure setups using various container services.

Your Digital Journey deserves a great story.

Build one with us.

Cookies Icon

These cookies are used to collect information about how you interact with this website and allow us to remember you. We use this information to improve and customize your browsing experience, as well as for analytics.

If you decline, your information won’t be tracked when you visit this website. A single cookie will be used in your browser to remember your preference.

Talk to us