- Introduction to Containers and Docker
- Choosing Between NET Core and NET Framework for Docket Containers
- Architecting Container and Microservice Based Applications
- Containerizing monolithic applications
- State and data in Docker applications
- Service-oriented architecture
- Microservices architecture
- Data sovereignty per microservice
- Logical architecture versus physical architecture
- Challenges and solutions for distributed data management
- Identifying domain-model boundaries for each microservice
- Communication between microservices
- Asynchronous message-based communication
- Creating, evolving, and versioning microservice APIs and contracts
- Microservices addressability and the service registry
- Creating composite UI based on microservices, including visual UI shape and layout generated by multiple microservices
- Resiliency and high availability in microservices
- Orchestrating microservices and multi-container applications for high scalability and availability
- Using Azure Service Fabric
- Development Process for Docker Based Applications
- Deploying Single Container Based NET Core Web Applications on Linux or Windows Nano Server Hosts
- Migrating Legacy Monolithic NET Framework Applications to Windows Containers
- Designing and Developing Multi Container and Microservice Based NET Applications
- Designing a microservice-oriented application
- Creating a simple data-driven CRUD microservice
- Defining your multi-container application with docker-compose.yml
- Using a database server running as a container
- Implementing event-based communication between microservices (integration events)
- Implementing an event bus with RabbitMQ for the development or test environment
- Subscribing to events
- Testing ASP.NET Core services and web apps
- Tackling Business Complexity in a Microservice with DDD and CQRS Patterns
- Applying simplified CQRS and DDD patterns in a microservice
- Applying CQRS and CQS approaches in a DDD microservice in eShopOnContainers
- Implementing reads/queries in a CQRS microservice
- Designing a DDD-oriented microservice
- Designing a microservice domain model
- Implementing a microservice domain model with .NET Core
- Seedwork (reusable base classes and interfaces for your domain model)
- Implementing value objects
- Using Enumeration classes instead of enum types
- Designing validations in the domain model layer
- Client-side validation (validation in the presentation layers)
- Domain events: design and implementation
- Designing the infrastructure persistence layer
- Implementing the infrastructure persistence layer with Entity Framework Core
- Using NoSQL databases as a persistence infrastructure
- Designing the microservice application layer and Web API
- Implementing the microservice application layer using the Web API
- Implementing Resilient Applications
- Handling partial failure
- Strategies for handling partial failure
- Implementing retries with exponential backoff
- Implementing resilient Entity Framework Core SQL connections
- Implementing custom HTTP call retries with exponential backoff
- Implementing HTTP call retries with exponential backoff with Polly
- Implementing the Circuit Breaker pattern
- Health monitoring
- Securing NET Microservices and Web Applications