Container

Container wrap up

  • They are a method of OS virtualization that allows you to run an app and its dependencies in resource-isolated processes.

  • They package an app’s code, configurations, and dependencies into building blocks.

  • This delivers better environmental consistency, operational efficiency, developer productivity, and version control.

Container vs virtual machine

Container doesn’t have a hypervisor requirement, making them extremely portable: your laptop, your EC2, your virtual machine, and your bare metal server are all potential hosts for the same container. Also, because the processes are talking directly to the kernel, most container boot in just a couple of seconds.

Amazon ECS wrap up

  • Orchestrates the execution of containers. This means it:

    • Maintains and scales the fleet of nodes running your containers

    • Removes the complexity of standing up the infrastructure

    • Monitors deployment of your containers

    • Schedules containers using its built-in scheduler or a third-party scheduler (e.g., Apache Mesos, Blox)

    • Is extensible via APIs

  • Can scale up to thousands of containers, including automatically via Auto Scaling

  • Can leverage Spot and Reserved Instances

AWS Fargate

  • A fully managed container service for Amazon ECS and Amazon ECS for Kubernetes

  • Provisions and manages clusters for you

  • Manages runtime environments

  • Scales automatically