Building microservices with ASP.NET Core

Please register here or let me know directly

Description

The training aims to familiarize participants with the main assumptions of microservice architecture and the ASP.NET Core framework used to implement it. Participants will gain practical knowledge in creating their REST and gRPC services. Additionally, they will learn how to test and then deploy microservice applications using Docker containers. The training is conducted through lectures, workshops, and hands-on exercises.

Duration: 3 days

Details

  • Introduction to .NET Core and ASP.NET Core
    • Main features of .NET Core, dotnet CLI
    • Evolution of ASP.NET web technologies
  • ASP.NET Core foundations
    • Dependency Injection
    • Application configuration, logging (code instrumentation), routing, startup
    • Middleware, application pipeline
    • Publishing and hosting applications
  • Web API
    • Routing, controllers, filters
    • Result handling, data formats
    • Data validation, model binding
    • Server-side asynchrony
  • Minimal API
    • Routing, parameter binding, filters
    • Returned result handling, streams
    • Swagger, OpenAPI
    • Defining metadata in code
    • Generating metadata, documentation, proxies
    • Tools (Swashbuckle, NSwag)
  • gRPC
    • Defining Protobuf messages
    • Service implementation
    • Service invocation
    • Logging, interceptors, error handling
    • Tools (dotnet-grpc, grpcurl, grpcui)
  • Docker
    • Creating Docker images, multi-stage builds
    • Docker registry
    • Managing images and containers
    • docker-compose
  • Application testing
    • Unit testing
    • Integration testing
    • Tools (postman, HttpRepl, .http files)
  • Other topics related to microservice architecture
    • Advantages and disadvantages of microservice architecture
    • Synchronous and asynchronous communication between services
    • API Gateway pattern
    • Creating resilient applications (error handling, retries, exponential backoff, circuit breaker, health checks, etc.)
  • .NET Aspire