What is this Container-thing developers are talking about. And why should you use it? In this module you will get an overview
of what containers are, and how to use them on and with Windows and Linux.
- Why Containers?
- Containers vs Virtual Machines
- Linux, Windows and Hyper-V Containers
- Container Orchestration
A container needs to be hosted and run on a container runtime. Multiple options exist here like rkt, CloudFoundry cr, ...
In this course we will focus on the most popular one: Docker. You will learn how to create, run and scale containers
- Docker Terminology
- Docker Engine on Windows/Windows Server
- Containers, Images and Registries
- Docker Volumes and Services
- Container Orchestration
Add ASP.NET Applications to Containers
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 application in it. We will start by migrating existing applications, and then move to creating
multiple services orchestrated for working together.
- .NET or .NET Core?
- Official .NET Docker containers
- Working with Databases
- Migrating existing applications
Azure for Container Overview
Azure has many constructs that have to do with containers and microservices. It's a bit overwheliming, really. This topic
will help you separate the sheeps from the goats, to figure out exactly what you need.
- Azure Container Registry
- Hosting Containers: Container Instances, Container for Web Apps, AKS
- Service Fabric
- Azure Batch and Functions
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.
- Dealing with Evolution in an Application
- Benefits and Drawbacks
- Communication: client-microservice, service-service, event-based
- Data Isolation per microservice
- Migration from a monolith
- Securing Microservices
When using containers for microservices, you will end up with many containers on many machines. Kubernetes is an open-source
endeavour for handling this job. In this topic we dive into this popular orchestrator.
- Pods, Services, Deployments, Nodes
- Scaling and Updates
- Health Monitoring
Azure Kubernetes Service (AKS)
After creating your microservice application, you need to get it in the cloud. Using Azure we have several ways of doing
this, but Azure Kubernetes Service (AKS) offers the most possibilities. In this module you learn how to use Azure Kubernetes
- Putting a Kubernetes Cluster in Azure
- AKS Features
- Using Helm Charts
Azure Dev Spaces
Azure Dev Spaces allows you to run and
debug your containers in AKS directly while being surrounded by all other microservice containers.
You can experiment and test integration without breaking your fellow services.
- Debugging in AKS
- How to set up Dev Spaces
- Client-side Tooling
- Using Multiple Dev Spaces
This module will give you some insights how to create an API Gateway for your microservices. Using an API Gateway makes building an client application a lot easier.
- API Gateways
- Kubernetes Ingress
- Azure API Management
In this module, you will learn what event-based communication is and why it's such a great fit for microservices.
- Communication Patterns
- Event-Based Communication
- Event Bus
- Integration Events
- Eventual Consistency
Azure Service Bus
Service Bus is the foundation for asynchronous reliable communication on Azure. In this module you'll learn all about it.
- Service Bus Queues
- Service Bus Topics and Subscriptions
- Actions for Topics/Subscriptions
- Storage Queues versus Service Bus Queues
In this module, you will learn how to make synchronous communication more reliable by using a number of patterns.
- Problems with Direct Communication
- Circuit Breaker
- Sidecar Pattern
- Service Mesh