Reader small image

You're reading from  Learn Docker - Fundamentals of Docker 19.x - Second Edition

Product typeBook
Published inMar 2020
PublisherPackt
ISBN-139781838827472
Edition2nd Edition
Tools
Right arrow
Author (1)
Dr. Gabriel N. Schenker
Dr. Gabriel N. Schenker
author image
Dr. Gabriel N. Schenker

Dr. Gabriel N. Schenker has more than 25 years of experience as an independent consultant, architect, leader, trainer, mentor, and developer. Currently, Gabriel works as Lead Solution Architect at Techgroup Switzerland. Prior to that, Gabriel worked as Lead Curriculum Developer at Docker and at Confluent. Gabriel has a Ph.D. in Physics, and he is a Docker Captain, a Certified Docker Associate, a Certified Kafka Developer and Operator, and an ASP Insider. When not working, Gabriel enjoys time with his wonderful wife Veronicah and his children.
Read more about Dr. Gabriel N. Schenker

Right arrow

Running a Containerized App in the Cloud

In the previous chapter, we learned how to deploy, monitor, and troubleshoot an application in production.

In this chapter, we will give an overview of some of the most popular ways of running containerized applications in the cloud. We will explore self-hosting and hosted solutions and discuss their pros and cons. Fully managed offerings from vendors such as Microsoft Azure and Google Cloud Engine will be briefly discussed.

Here are the topics we will be discussing in this chapter:

  • Deploying and using Docker Enterprise Edition (EE) on Amazon Web Services (AWS)
  • Exploring Microsoft's Azure Kubernetes Service (AKS)
  • Understanding Google Kubernetes Engine (GKE)

After reading this chapter, you will be able to do the following:

  • Create a Kubernetes cluster in AWS using Docker EE
  • Deploy and run a simple distributed application in a...

Technical requirements

Deploying and using Docker EE on AWS

In this section, we're going to install Docker Universal Control Plane (UCP) version 3.0. UCP is part of Docker's enterprise offering and supports two orchestration engines, Docker Swarm and Kubernetes. UCP can be installed in the cloud or on-premises. Even hybrid clouds are possible with UCP.

To try this, you need a valid license for Docker EE or you can claim a free test license on Docker Store.

Provisioning the infrastructure

In this first section, we are going to set up the infrastructure needed to install Docker UCP. This is relatively straightforward if you are somewhat familiar with AWS. Let's do this by following...

Exploring Microsoft's Azure Kubernetes Service (AKS)

To experiment with Microsoft's container-related offerings in Azure, we need an account on Azure. You can create a trial account or use an existing account. You can get a free trial account here: https://azure.microsoft.com/en-us/free/.

Microsoft offers different container-related services on Azure. The easiest one to use is probably Azure Container Instances, which promises the fastest and simplest way to run a container in Azure, without having to provision any virtual machines and without having to adopt a higher-level service. This service is only really useful if you want to run a single container in a hosted environment. The setup is quite easy. In the Azure portal (portal.azure.com), you first create a new resource group and then create an Azure container instance...

Understanding GKE

Google is the inventor of Kubernetes and, to this date, the driving force behind it. You would therefore expect that Google has a compelling offering around hosted Kubernetes. Let's have a peek into it now. To continue, you need to either have an existing account with Google Cloud or create a test account here: https://console.cloud.google.com/freetrial. Proceed with the following steps:

  1. In the main menu, select Kubernetes Engine. The first time you do that, it will take a few moments until the Kubernetes engine is initialized.
  2. Next, create a new project and name it massai-mara; this may take a moment.
  3. Once this is ready, we can create a cluster by clicking on Create Cluster in the popup.
  4. Select the Your first cluster template on the left-hand side of the form.
  5. Name the cluster animals-cluster, select the region or zone that...

Summary

In this final chapter of the book, you first got a quick introduction to how to install and use Docker's UCP, which is part of Docker's enterprise offering on AWS. Then, you learned how to create a hosted Kubernetes cluster in AKS and run the animals application on it, followed by the same for Google's own hosted Kubernetes offering, GKE.

I am honored that you selected this book, and I want to thank you for accompanying me on this journey, where we explored Docker containers and container orchestration engines. I hope that this book has served as a valuable resource on your learning journey. I wish you all the best and much success when using containers in your current and future projects.

Questions

To assess your knowledge, please answer the following questions:

  1. Give a high-level description of the tasks needed to provision and run Docker UPC on AWS.
  2. List a few reasons why you would select a hosted Kubernetes offering, such as Microsoft's AKS or Google's GKE, to run your applications on Kubernetes.
  3. Name two reasons when using a hosted Kubernetes solution, such as AKS or GKE, to consider hosting your container images in the container registry of the respective cloud provider.

Further reading

lock icon
The rest of the chapter is locked
You have been reading a chapter from
Learn Docker - Fundamentals of Docker 19.x - Second Edition
Published in: Mar 2020Publisher: PacktISBN-13: 9781838827472
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
undefined
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $15.99/month. Cancel anytime

Author (1)

author image
Dr. Gabriel N. Schenker

Dr. Gabriel N. Schenker has more than 25 years of experience as an independent consultant, architect, leader, trainer, mentor, and developer. Currently, Gabriel works as Lead Solution Architect at Techgroup Switzerland. Prior to that, Gabriel worked as Lead Curriculum Developer at Docker and at Confluent. Gabriel has a Ph.D. in Physics, and he is a Docker Captain, a Certified Docker Associate, a Certified Kafka Developer and Operator, and an ASP Insider. When not working, Gabriel enjoys time with his wonderful wife Veronicah and his children.
Read more about Dr. Gabriel N. Schenker