Call : (+91) 968636 4243
Mail : info@EncartaLabs.com
EncartaLabs

Microservices using .NET Core

( Duration: 5 Days )

This Microservices using .NET Core training course begins with an introduction to containers and Docker. Next, you will learn about Microservices and CRUD operations, and build a UI service. You will also learn how to host Microservices using Docker containers. The course concludes with learning about monolithic applications and Kubernetes.

By attending Microservices using .NET Core workshop, delegates will learn to:

  • Compare monolithic architecture benefits and limitations
  • Describe Microservices and Microservices architecture
  • Compare SOA vs. Microservices
  • Demonstrate communication between Microservices
  • Explain hosting Microservices in Docker containers
  • Discuss the role of orchestration servers

The Microservices using .NET Core class is ideal for:

  • .NET developers and architects wanting to build Microservices based applications.

COURSE AGENDA

1

Introduction to Containers and Docker

  • Understanding VM’s and Containers
  • What is Docker?
  • Docker Benefits
  • Docker Architecture and Docker Taxonomy
2

Developing Docker Custom Images using .NET Core

  • Docker Images for .NET Core
  • Executing .NET Core applications in Containers
  • Inspecting the Image Architecture
  • Developing and Publishing .NET Core Applications
  • Dockerfile and Building Docker Images
  • Breaking down and understanding dockerfile in-depth
3

Multi-Stage Builds

  • Multiple stages in dockerfile
  • Hosting ASP.NET Applications in Docker
4

State and Data in Docker Applications

  • Purpose of using Data Volumes
  • Access Data in Docker Containers
  • Creating a Container with Volumes
  • Data volume containers
5

Docker Compose

  • Overview
  • Docker-compose features
  • Building docker-compose.yml file
  • Docker-compose command
  • Working with multiple images in a single application
  • Environment Variables and Configuration File
6

Microservices Architecture – Get perfect in concepts and practical

7

Understanding Microservices

  • Understanding Monolithic Architecture
    • What are Monolithic Applications
    • Deploying
    • Containerizing using Docker
    • Scaling Applications
    • Managing State and Data
    • Benefits and Drawbacks of Monolithic Architecture
  • Microservices Architecture
    • What are Microservices
    • Monolithic vs Microservices Architecture
    • Characteristics of Microservices Architecture
    • Benefits of using Microservices Architecture
    • Microservices Design Principles
  • SOA vs. Microservices
  • Handling Data in Microservices
  • Communication between Microservices
    • Synchronous Communication across Microservices
    • Asynchronous communication across Microservices
  • API Gateway Pattern
  • Microservices Patterns
    • Domain-Driven Design
    • Command and Query Responsibility Separation (CQRS)
    • Event Sourcing
  • Creating Composite UI with Microservices
  • Drawbacks of Microservices
8

Setup Microservice Based Application and Perform CRUD Operations

  • Creating a Solution and Project Layout
  • Implementing a CRUD microservice
  • Writing Domain Classes and Controllers
  • Data Context Class and Data Seeding
  • Using Repository Classes
  • Swagger and SwashBuckle Integration
  • Practical Demonstration using eStoreApplication
    • Product CatalogService with SQL Server
    • Invoking both services using Swagger UI
    • Implementing Layered Architecture
    • Generic Repository Pattern
9

Build UI Service

  • Adding ASP.NET MVC Project
  • Writing Model Classes
  • Writing Service Classes
  • Building Web Controller and Views
  • Practical Demonstration using eStoreApplication
    • Writing Backend for Frontend (BFF)
    • UI Microservice to display Product Catalog
10

Hosting Microservices using Docker Containers

  • Adding Docker Support to the Microservice Application
  • Creating a Dockerfile file
  • Designing and Developing Multi-Container Microservices
  • Database Connection string and environment variables in Docker containers
  • Handling Configuration Data
  • Use a database server running as a container
  • Practical Demonstration using eStoreApplication
    • Creating an SQL Server database container
    • Create docker images for Product Catalog Microservices
    • Create a docker image for UI Microservice
    • Writing a YAML for deploying and executing the application
11

Using Redis Cache in Microservices

  • Understanding Redis Cache importance
  • Programming Microservice to use Redis Cache
  • Consuming Microservice in Web Client
  • Practical Demonstration using eStoreApplication
    • Building Shopping Cart Microservice
    • Persisting Cart data in Redis Cache
    • Create a docker image for Shopping Cart Microservice
12

Understanding OAuth2 and OpenIdConnect

  • Authentication and Authorization
  • Introduction to Basic Authentication Workflow
  • Understanding OAuth
  • OAuth Grant Types
  • Understanding OpenIDConnect
  • Securing Services and Middleware in ASP.NET Core
  • Using JWT Token to Authenticate and Authorize
13

IdentityServer4 Server

  • What is IdentityServer4
  • Authorization Grant Types
    • Authorization Code
    • Implicit
    • Client Credentials
    • Resource Owner Password Credentials (ROPC)
  • Including UserInfo in ID Token and Access Token
14

Implementing Security for Microservices

  • The Big Picture
  • Implementing Identity Microservice
  • Using Client Credential Token to Access Microservice
  • Using Access Token to call Microservices
  • Authentication between Microservices
  • Implementing Role-based and Policy-based Authorization
  • Practical Demonstration using eStoreApplication
    • Adding Authentication Microservice to Solution
    • Securing ProductCatalog Microservice
    • essing secure ProductCatalog in Swagger UI
    • Accessing secure ProductCatalog in Client Application
15

API Gateway Integration

  • Introduction to API Gateway
  • Understanding Ocelot Middleware
  • Integrating API Gateway for Routing
  • Handling Secure Microservices in API Gateway
  • Practical Demonstration using eStoreApplication
    • Adding API Gateway Service using Ocelot Middleware
    • Updating ocelot configuration for routing to ProductCatalog and ShoppingCart Microservices
    • Deploying Gateway Service in Docker Container
16

Microservices Communication

  • Synchronous Communication using REST API
  • Asynchronous Communication using Service Bus
  • Integration Events and Event Handlers
  • Handing Atomicity and Resiliency when Publishing to EventBus
  • Practical Demonstration using eStoreApplication
  • Adding Shopping Cart Service with Redis Cache
  • Adding Product to Shopping Cart Service for logged-in client
  • Create docker images for Product Catalog Microservices
  • Asynchronous Communicating with Notification Service and Service Bus Queue
17

Implementing the CQRS Pattern

  • Overview of CRQS Pattern
  • Understanding the Command Pattern
  • Domain Model and Read Model
  • Comparing CQRS with the traditional CRUD approach
  • Apply CQRS and CQS approach in DDD microservice
  • Practical Demonstration using eStoreApplication
    • Build a New ProductCatalog Service Demo
    • Update ShoppingCart if Product Price changes
    • Update ProductCatalog inventory if the order is placed
18

Domain-Driven Pattern

  • Overview of Domain and Domain-Driven Design
  • Layered Architecture in DDD Microservices
  • Implementing the Command and Command Handler Pattern
  • About Domain Events
  • Command and Command Handler Classes
  • Practical Implementation of DDD Pattern
  • Practical Demonstration using eStoreApplication
    • Implementing DDD using Order Microservices
19

Handling Failures

  • Handle Partial failure
  • Implement retries and exponential backoff
  • Using Polly policies
  • Circuit Breaker Pattern
  • Practical Demonstration using eStoreApplication
    • Handle Order Service failure
    • Handling temporary downtime of SQL Database
20

Microservices Deployment in App Services

21

Microservices and Kubernetes

  • What is Monolithic Application
  • What are Microservices
  • Kubernetes Architecture
  • Azure Kubernetes Service (AKS)
  • Practical Demonstration using eStoreApplication
    • Deploying the above service in Azure Kubernetes Service

Encarta Labs Advantage

  • One Stop Corporate Training Solution Providers for over 6,000 various courses on a variety of subjects
  • All courses are delivered by Industry Veterans
  • Get jumpstarted from newbie to production ready in a matter of few days
  • Trained more than 50,000 Corporate executives across the Globe
  • All our trainings are conducted in workshop mode with more focus on hands-on sessions

View our other course offerings by visiting https://www.encartalabs.com/course-catalogue-all.php

Contact us for delivering this course as a public/open-house workshop/online training for a group of 10+ candidates.

Top
Notice
X