What are Containers?
We mentioned containers and Docker. Let’s see what they are and why they are so important in our day and age.
First of all, containers are a form of virtualization, that is, making a single physical machine run on or more “machines”, which are called virtual.
But while Virtual Machines (or VMs) are an abstraction of the hardware layer and simulate the entire operating system, in fact VM images are huge, in the order of GBs.
Containers however, are an abstraction at the application layer, and container images can be as small as tens of MBs, and they package code and dependencies into a single image that can be deployed in several ways.
The most popular technology for container deployment and orchestration is Kubernetes, and in AWS you can do this with a Kubernetes equivalent (Elastic Kubernetes Service or EKS), or three separate tools called ECS (Elastic Container Service), Fargate and AWS Lambda.
We will limit ourselves to the simplest and easiest...