Deploying your application to the cloud
To conclude this chapter, we will have a look at how you can deploy your containerized application to a cloud environment.
Container engines, such as, Docker allow you to provision multiple Services in isolated environments, without having to provision separate virtual machines for individual Services. However, as typical for Cloud applications, our container architecture needs to be easily scalable and also resilient to failure.
This is where container orchestration system such as Kubernetes comes into play. These are systems that allow you to deploy containerized applications over entire clusters of hosts. They allow for easy scaling since you can easily add new hosts to an existing cluster (after which new container workloads may automatically be scheduled on them) and also make your system resilient; node failures can be quickly detected, which allows containers on those nodes to be started somewhere else to ensure their availability.