Skip to content

Contact sales

By filling out this form and clicking submit, you acknowledge our privacy policy.

Microservices Using .NET Core

Course Summary

The Microservices Using .NET Core training course focuses on using the continuous delivery model to handle the complete lifecycle of an application. Infrastructure is now available on-demand due to public clouds. Organizations have started developing enterprise applications that are highly scalable. Microservices is one of the hottest topics in the software industry and many organizations want to adopt them. Monolithic applications where dedicated teams work for each discrete function have changed to microservices. Now developers, operations, and testing teams work simultaneously on a single service, performing activities such as building, testing, and debugging.

The course begins with an introduction to containers and Docker. Next, the students will learn about Microservices and CRUD operations, and build a UI service. Students will also learn how to host Microservices using Docker containers. The course concludes with students learning about monolithic applications and Kubernetes.

For more DevOps courses click here.

Purpose
Learn how to build Microservices applications using the advanced features of .NET Core.
Audience
.NET developers and architects wanting to build Microservices based applications.
Role
Software Developer - Web Developer
Skill Level
Introduction
Style
Learning Spikes - Workshops
Duration
5 Days
Related Technologies
.NET | Docker | Kubernetes

 

Productivity Objectives
  • 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

What You'll Learn:

In the Microservices Using .NET Core training course, you'll learn:
  • Introduction to Containers and Docker
    • Understanding VM's and Containers
    • What is Docker?
    • Docker Benefits
    • Docker Architecture and Docker Taxonomy
  • 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
  • Multi-Stage Builds
    • Multiple stages in dockerfile
    • Hosting ASP.NET Applications in Docker
  • State and Data in Docker Applications
    • Purpose of using Data Volumes
    • Access Data in Docker Containers
    • Creating a Container with Volumes
    • Data volume containers
  • 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
  • Microservices Architecture - Get perfect in concepts and practical
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
      • Accessing secure ProductCatalog in Swagger UI
      • Accessing secure ProductCatalog in Client Application
  • 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
  • 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
  • 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
  • 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
  • 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
  • Microservices Deployment in App Services
  • 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
“I appreciated the instructor's technique of writing live code examples rather than using fixed slide decks to present the material.”

VMware

Dive in and learn more

When transforming your workforce, it's important to have expert advice and tailored solutions. We can help. Tell us your unique needs and we'll explore ways to address them.

Let's chat

By filling out this form and clicking submit, you acknowledge our privacy policy.