Call Us: +32 2 466 00 16
Email: info@u2u.be
Follow Us:

Developing Microservices with Containers, Kubernetes and Microsoft Azure

3days
Training code
UAMIC
Book this course

Containers

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

Docker

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 using Docker.

  • 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

Microservice Architecture

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
  • Scaling
  • Versioning
  • Communication: client-microservice, service-service, event-based
  • Data Isolation per microservice
  • Migration from a monolith
  • Securing Microservices

Kubernetes

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
  • Kubectl
  • Communication
  • 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 Service.

  • 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
  • Routing

API Gateways

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

Asynchronous Communication

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

Synchronous Communication

In this module, you will learn how to make synchronous communication more reliable by using a number of patterns.

  • Problems with Direct Communication
  • Retry
  • Circuit Breaker
  • Sidecar Pattern
  • Service Mesh

A containers is a virtualization technology used to implement scale-out applications that require greater efficiency and scalability. This course starts with covering the Docker technology and how to deploy your .NET applications in Docker Containers. You will learn about the Microservice architecture and how Containers are used in this model. Finally, the training will make you familiar will the different container services offered by Microsoft Azure like the Azure Container Service and the Service Fabric.

This course is intented for experienced .NET Developers who would like to get acquainted with Containers and Microservices on Windows Server and Microsoft Azure.

© 2019 U2U All rights reserved.