A container is a standard unit of software that packages code and all its dependencies so the application runs quickly and reliably from one computing environment to another. A Docker container image is a lightweight, standalone, executable package of software that includes everything needed to run an application: code, runtime, system tools, system libraries and settings. In this module, you will learn about Container fundamentals.
Container technology is supported in both Windows and Linux. In this module you will learn how to prepare a Windows and a Linux host to run containers.
Docker is the leader in container software and provides the platform for you to run your containers. In this module, you will learn how to create and run containers with Docker. You will also take a look at other technologies provided by Docker to help you with container management: Docker Hub, Docker Compose and Docker Swarm.
Kubernetes is an open-source orchestration tool that will help you deploy and manage your containers across several different hosts. Kubernetes uses a declarative approach that lets you specify what you want to deploy. Kubernetes then creates all the necessary objects for you. In this module you will learn about the various components within a Kubernetes cluster and the different methods to run your cluster. You will also take a look at basic Kubernetes resources like pods and volumes.
Once your cluster is up and running, you need to manage your containers. Deployments guarantee that the necessary pods are always available. They provide an easy update method and let you scale your deployment by adding replicas. Services make sure you can easily communicate with the applications in your cluster, no matter what pods are active.
An Ingress Controller allows you to setup a load balancing solution to forward external traffic to your Kubernetes services. Sensitive information can be provided to a container through the use of secrets. With namespaces you can group resources in your cluster for extra security or to control network traffic routing.
Azure provides a whole infrastructure for managing and hosting containers. From simple basic containers (Azure Container Instances) that can be deployed without any configuration, to advanced services that built and manage entire Kubernetes clusters for you.
Now that you have a basic understanding of Kubernets, let's take it to the cloud. In this module you learn how to use Azure Kubernetes Service and install apps using Helm.
Now that you know what a container is, how do you get your applications in a container? You will learn how to create Docker containers with your ASP.NET application in it and how to run and debug them.
Azure has many constructs that have to do with containers and microservices. It's a bit overwhelming, really. This topic will help you separate the sheep from the goats, to figure out exactly what you need.
How do you chop your application into multiple smaller components, called "microservices", and why would you do that? We will show how to create microservice-applications and introduce you to some key concepts of microservices like data isolation, resiliency and communication.
Managing scalable containers on a Kubernetes cluster in Azure, but without the complexity. Sounds like a dream? It's not, this is exactly what Azure Container Apps are all about. In this module you will learn how to set up a serverless container solution using event-driven scaling.
This module will give you some insights how to create an API Gateway for your microservices. Using an API Gateway makes building a client application a lot easier.
In this module, you will learn what event-based communication is and why it's such a great fit for microservices.
In this module, you will learn how to make synchronous communication more reliable by using a number of patterns.
Containers provide a very useful platform to host applications. They are light-weight and performant and can easily be redeployed across different environments. Docker provides a container runtime and CLI besides a few other container management tools, such as Docker Hub and Docker Compose. In this course students will learn to build Docker containers on both Windows and Linux.
When working in a containerized environment, you will need an orchestration tool to simplify the deployment and configuration of your containers. That is where Kubernetes comes into play. Using a declarative approach, where you state what you need in your cluster, the Kubernetes engine makes sure your applications and containers remain available at all times. Kubernetes can be setup on premises or on a cloud platform. In this course we will create an Azure Kubernetes Cluster (AKS) to learn about the benefits this system can offer. Besides AKS, Azure contains a whole variety of container related services, including Azure Container Registry, Azure Container Instances, Web Apps for Containers and Azure Container Apps.This course is intended for experienced .NET developers who would like to get acquainted with Containers and Microservices on Azure.