‫So we are getting into the ECS Section,
‫but before talking about ECS we need to talk about Docker.
‫So Docker is something you may have heard before.
‫I'll try to simplify it.
‫You can make a 12 hour long course on Docker.
‫We'll try to make it short in four minutes.
‫So what is Docker?
‫Docker is a software development platform to deploy apps.
‫So the way we've been deploying applications from before
‫is to install them on Linux
‫and then they will work,
‫but with Docker, you will package your app
‫into something called a container
‫and that container is very special,
‫because it can be run on any operating system very easily.
‫The app, once in a container
‫will run the exact same way,
‫regardless of where they're run.
‫So it could be any machine,
‫no compatibility issues with predictable behavior,
‫less work, easier to maintain and deploy.
‫It will work with any programming language,
‫any operating system, any technology
‫and with Docker you can scale containers up and down
‫very quickly in a matter of seconds.
‫So that makes Docker
‫something that is extremely powerful nowadays
‫to deploy applications.
‫So if we talk about Docker on an EC2 Instance,
‫we would have, for example,
‫a Docker running Java code,
‫a Docker running NodeJS code,
‫a Docker running in My SQL Database,
‫a Docker running Java and so on
‫all onto the same EC2 Instance.
‫So the idea is that if we managed to package our application
‫in a Docker container,
‫then it will become very easy for us to run it
‫on an EC2 Instance.
‫So Docker images, you need to create them.
‫This is how your container will be run
‫and they can be stored
‫in something called Docker Repositories.
‫So there is a public Docker Repository called the Docker Hub
‫available at this address.
‫And you can find the base images for many technologies
‫or operating systems.
‫So for Ubuntu, which is a Linux Operating System,
‫or My SQL, this is a database technology,
‫NodeJS Java Programming Languages
‫or as we'll see in this section,
‫we can use Amazon ECR,
‫which is a private Docker Repository.
‫This is where you can store your private Docker images.
‫So this is more advanced,
‫but the question is, do you wanna use Docker
‫or virtual machine?
‫So Docker is sort of a visualization technology,
‫but not exactly.
‫So the resources are shared with a host.
‫That means that you can have many containers on one server.
‫So if we look at comparing EC2 and Docker,
‫this is all in the works.
‫So we have the infrastructure which is on AWS,
‫the Host Operating System,
‫then the Hypervisor
‫and this is stuff we don't have access to.
‫And then finally, when we get an EC2 Instance,
‫we have our application onto the Guest Operating System
‫and so if we want another EC2 Instance,
‫it will be created like this
‫and a third EC2 Instance, it will be credited like that.
‫So this works great
‫and this is what happens when we create EC2 Instances.
‫But in the case of Docker, we have the infrastructure,
‫the Host OS which is the EC2 Instance
‫and then the Docker Daemon.
‫And then as soon as the Docker Daemon is running,
‫we can have many containers running on to the Docker Daemon
‫and they're more light weights.
‫They don't package,
‫they don't come with a full operating system
‫and a virtual machine, all of them.
‫And so that makes Docker very versatile, very easy to scale
‫and very easy to run.
‫So this is just an overview of Docker.
‫You don't need to know what Docker is going into the exam,
‫but I wanted to give you that sweet little overview
‫in case you were curious
‫and in the next lecture,
‫we'll deal about how to do Docker on AWS
‫and that will be ECS.
‫So I will see you in the next lecture.