
This video provides an overview of the entire course.
This video demonstrates the sample solution that is used during the whole video series.
Give an architectural overview of the sample application
Quickly display the source code pertaining to the sample application
Run the application
Shows how to author a Dockerfile for the two services of the sample application that are custom built.
Explain what a Dockerfile is
Author a Dockerfile for the Java-based application service
Build the Docker image using the Dockerfile
This video shows how to develop, test, and debug line by line a .NET core application that is running in a container whilst the code is edited in a code editor running natively on the developer’s laptop.
Create a .NET Core web application in a container
Enable edit and continue type development inside the container
Author and run unit tests inside a container
This video shows techniques to minimize the size of a Docker image for a Java-based and a .NET core based application service.
Explain the benefits of a minimal Docker image
Modify an existing Dockerfile to a multi-stage version
Build the Docker image using the multi-stage Dockerfile
In this video, Docker Compose is introduced as a tool that is primarily targeted at running, testing, orchestrating, and troubleshooting a multi-container application on the developer’s machine.
Describe the main features of the Docker Compose tool
Use Docker Compose to run the sample application
Use Docker Compose to stop and start individual services
This video demonstrates introducing the learner to stateless and stateful services and explain what their key differences are
Contrast the two types of services, stateless on one and stateful on the other
List the main characteristics of a stateless service
List the main characteristics of a stateful service
This video explains to the user in some depth why they should create stateless services at all cost
Point out that stateless services are easy to implement and scale
Discuss that updating stateless services is easy and straight forward
Explain that stateless services are the ones that contain most of the business specific logic and algorithms
In the video I reason why it is so extremely hard to build stateful services.
Explain why we need transactional behavior in a stateful service
Reason why availability of a stateful service is paramount
Justify why replication is essential for a stateful service
This video conveys key ingredients that are needed to build a stateful service that is resilient, scalable, durable and fault tolerant
How to make a stateful service scalable
How to make a stateful service durable
How to make a stateful service fault tolerant and resilient
Here we list and discuss the considerations that need to be accounted for when talking about storage that is backing a stateful service
Categorize the criteria to be considered when selecting storage
Explain what latency means in the context of storage
Elaborate on availability and cost of storage
In the first video of the section we are going to explore what sensitive data is, and how we should deal with it in a mission critical, distributed application.
Provide motivation for securing our distributed applications
Explain what sensitive data is
List building blocks of a secure software supply chain
This video presents how to define, create and use secrets when running an application service on Kubernetes.
Introduce Kubernetes secrets
Prepare a simple Kubernetes cluster for development
Define and use Kubernetes secrets
This section shows techniques one can use when dealing with secrets in development.
Recap use of secret on Kubernetes cluster
Create temporary dev secrets and map into application container
Use temporary dev secrets same way as Kubernetes secrets
This video introduces yet another way how developers often have to deal with secrets, namely when they originate in external sources such as AWS IAM, Foxpass or Hashicorp's vault.
Retrieve secrets from a Vault instance
Use external secrets in application
Create entrypoint script for container that retrieves external secrets
The last video of the section about Securing a Distributed Application teaches how content trust works and how one can sign Docker images.
Explain content trust
Setting up a trust sandbox
Work with content trust
The first video of section 4 discusses why logging is important and explains how an application service can be instrumented to produce logging information.
Explain how to log
Instrument a Java application with logging capabilities
Analyze a Python sample application that logs messages
This video shows the user how to implement liveness and readiness probes
Define the two probes, liveness and readiness
Elaborate on how a liveness probe is implemented and configured
Repeat the same for the readiness probe
This video describes some techniques commonly used to cope with external services that are not reliable
Explain that the applications service depends on other external services
Analyze what could possibly go wrong outside of the service
Provide a list of coding recommendations
This video explains ways that allow an application service to be scalable
Explain why to use caching extensively
Promote asynchronous programming and show code example
Discuss additional patterns useful to make services scalable
This last video of the section shows how to use the rolling update deployment technique with Kubernetes which allows for zero downtime updates of your application services
Show, build and deploy a Python app in version 1.
Modify the application to create a version 2
Use rolling update to deploy version 2 causing zero downtime
The first video of section 5 provides a quick review of the main Kubernetes objects such as pods, replica sets, deployments and services.
Describe and deploy a simple pod to single node Kubernetes cluster
Do the same for ReplicaSet and Deployment
Explain and create a Kubernetes service for a Deployment
This video leads through the definition and use of deployment templates for the various components of our sample application
Revisit the architecture of the sample app
Introduce Helm and deploy Kubernetes via Helm
Define and apply Deployment template for the producer
This video demonstrates some of the main features of Kubernetes as a container orchestrator
Explain how to show extensive information about the cluster
Deploy, scale and self-heal a service
Grow the cluster by adding a node
This video shows how the sample application can be deployed into a production ready, fully hosted Kubernetes cluster on Google cloud.
Deploy Kafka, ZooKeeper, Schema Registry and KSQL Server using Helm
Configure Kafka and deploy the producer
Test that the producer is working as expected
The last video of the section introduces two fully hosted Kubernetes offerings in the cloud by Google, called GKE, and by Microsoft, called AKS.
Create a hosted cluster in GKE
Deploy and test a service on this cluster
Create a hosted cluster in AKS
This video provides an overview of the entire course.
In this video, you will learn why you should care about containers, container orchestration, and Azure Cloud.
Explore the benefits of containers
Learn the benefits of container orchestration
Get to know the benefits of Microsoft Azure
In this video, you will see an end-to-end demo of containers, container orchestration, and Azure Cloud.
Create a managed Kubernetes cluster to Azure
Deploy a containerized application on the said cluster
Update the application without affecting the users
In this video, you will install and configure the tools needed to work with containerized applications in Microsoft Azure.
Install Docker CE
Install Azure CLI and kubectl
Install Visual Studio Code
In this video, we’ll do a quick review of what containers are.
Explore more about containers
Learn the relationship between containers and virtual machines
Know the containers’ relationship with Docker
Learn to spin up your first containerized application in Microsoft Azure.
Get introduced to Azure container instances
Demonstration
The aim of this video is to create your first Dockerfile.
Get introduced to Dockerfiles
Learn the container lifecycle from Dockerfile to running in a Docker container
Demonstration
The aim of this video is to learn how to secure your Docker images in Azure Container Registry.
Get introduced to Azure Container Registry
Demonstration on creating Azure Container Registry
With this video, explore the options for hosting containers in Microsoft Azure.
Get to know about Serverless
Learn about Platform-as-a-Service (PaaS)
Learn about Infrastructure-as-a-Service (IaaS)
In this video, we’ll do a quick review of container orchestration.
Explore container orchestration
Know why it matters
Learn about Kubernetes
Learn to choose between managed and unmanaged Kubernetes-as-a-service provided by Microsoft Azure.
Look at the Azure Container Services
Learn in detail about Azure Container Service Engine (ACSE)
The aim of this video is to dive deeper into the Azure Kubernetes Service, a managed Kubernetes-as-a-service offering from Microsoft Azure.
Demonstrate the Azure Kubernetes Service
In this video, you will learn how to deploy and configure AKS.
Learn AKS deployment
Learn the deployment configuration
Demonstration
In this video, you will learn how perform management operations on your Azure Kubernetes Service.
Perform AKS management operations
Learn Kubernetes management operations
Demonstration
Learn how to define an application using Visual Studio Code.
Study the Kubernetes application lifecycle
Learn the Kubernetes application manifests
Demo application
In this video, you will learn how to deploy your application to the Azure Kubernetes Service using kubectl.
Learn about the kubectl apply command
Deploy services to AKS
Expose Kubernetes services using Azure Load Balancer
Learn to manage, scale, and upgrade your application without downtime.
Explore vertical and horizontal scaling
Learn about manual scaling and autoscaling
Upgrade Kubernetes deployments
In this video, you will learn how to automate your containerized application deployment with Azure DevOps!
Learn about Continuous Integration (CI) and Continuous Delivery (CD)
Explore Azure DevOps
Learn the container release automation workflow
In this video, you will learn how to manage Kubernetes application complexity with Helm.
Learn more about Helm
Install Helm
Install applications from Helm repositories
In this video, you will learn how to fully customize AKS using Azure Container Service Engine.
Explore the features of Azure Container Service Engine
Install Azure Container Service Engine
Use Azure Container Service Engine
From handling versioning to enhancing security and portability, technologies such as Docker and Kubernetes have benefitted application development and cloud deployments. Microsoft offers excellent containerization services with its Azure Container Services, and also supports both Docker and Kubernetes. With the tool docker-compose, developers can then run, scale, test and debug the application, simulating a production like an environment on their development workstations. Docker allows you to package the many application services that are part of your distributed application into self-contained standard packages called containers. If you’re looking to ship and run distributed applications with Docker as well as manage container workloads at scale with Microsoft Azure then this Course is perfect for you!
This comprehensive 2-in-1 Course follows a step-by-step approach and focuses on how to use Docker and Kubernetes to package application services into standardized units of deployment. These units are easy to deploy and run on any platform on-premise and in the cloud. Initially, you’ll write Dockerfiles for each of the application services, develop, test and run service code running inside a container and optimize your Dockerfiles to use multi-stage builds to minimize the size of the resulting Docker images used in production. Moving further, you’ll learn to make an informed decision on Container orchestration in Azure. You’ll also learn to deploy, configure and manage Azure Kubernetes service clusters. Finally, you’ll learn to deploy applications to Azure Kubernetes Service and manage Container workloads at Scale!
By the end of this course, you'll learn all about Docker and Kubernetes and will be able to configure, manage, and deploy applications on Azure Cloud.
Contents and Overview
This training program includes 2 complete courses, carefully chosen to give you the most comprehensive training possible.
The first course, Hands-On Kubernetes, and Docker for Distributed Applications covers shipping and running distributed applications anywhere with Docker. This course shows you how Docker can be used to isolate your application services and their dependencies into a single self-contained unit that can reliably run anywhere. You will learn to build, ship and run distributed applications on any platform using Kubernetes as the orchestrator. By the end of this course, you will be able to use Docker and Kubernetes to build distributed applications that are scalable, resilient, fault-tolerant and secure. Furthermore, you will be able to deploy these applications to any Kubernetes cluster running on any platform on-premise or in the cloud.
The second course, Containerization with Docker and Kubernetes in Azure, covers getting real with container orchestration in Microsoft Azure. The course focuses on application containerization using a combination of the dynamic duo, Docker and Kubernetes. It will show you how to get hands-on and take advantage of these two tools, alongside Azure Container Services, and improve the configuration and deployment of your applications on Azure Cloud. By the end of this course, you'll learn all about Docker and Kubernetes and will be able to configure, manage, and deploy applications on Azure Cloud.
By the end of this course, you'll containerize your applications to build a production-class container infrastructure in the ‘Kubernetes way’.
About the Authors
● Gabriel N. Schenker has more than 25 years of experience as an independent consultant, architect, leader, trainer, mentor, and developer. Currently, Gabriel works as Senior Curriculum Developer at Confluent after coming from a similar position at Docker. Gabriel has a Ph.D. in Physics, and he is a Docker Captain, a Certified Docker Associate, and an ASP Insider. When not working, Gabriel enjoys time with his wonderful wife Veronicah and his children.
● Karl Ots is a cloud and cybersecurity consultant, as well as an inventor, author, and international speaker, with a broad range of deep Azure expertise. He believes that cloud technologies are the key to successful digital transformation. He applies his passion and expertise to his work as a Managing Consultant at Zure. With professional experience in the technology field since 2007, Karl has been working with Microsoft Azure since 2011 in a variety of forums ranging from deep customer engagements to speak at large conferences such as Microsoft Ignite. Karl is a Microsoft Most Valuable Professional (MVP) in Azure, a Microsoft Certified Trainer (MCT) and holds the highest level MCSD and MCSE Azure certifications. Karl is a Certified Information Systems Security Professional (CISSP).