
Explore the essentials of microservices and monolithic architecture, comparing scalability, agility, and maintenance through a three-layer monolith and autonomous services communicating via APIs.
This lecture shows how microservices enable specialization and independent operation in a Techville pizzeria. Lucy, Tony, Carla, Bruno, and Sam coordinate a large corporate order to demonstrate efficiency and innovation.
Explore vertical and horizontal scaling in microservices, upgrading one machine versus adding many, weighing simplicity and cost against fault tolerance, load handling, and required load balancing and orchestration.
Explore eventual consistency in microservices, with asynchronous updates, data convergence, and failure tolerance, illustrated by a pizzeria order-to-delivery workflow with notifications.
Explore microservices in e-commerce: user, product, order, cart, and payment services, API gateway routing, token authentication, and the ordered created event.
Learn key microservices characteristics—decomposition, single responsibility, independent deployment with own data stores and technology diversity, plus components like service discovery, restful APIs, and API gateway routing.
Explore microservices communication concepts, from HTTP REST calls to gRPC, message queues, and event-driven patterns, with service discovery and API gateways ensuring coordinated, resilient interactions.
Watch a microservices workflow unfold, where each room is an independent microservice with its own API, connected by hallways and monitored for health, security, and scale in Tocqueville.
Explore the microservices workflow and deployment with Docker and Kubernetes, applying best practices like service discovery, API gateway, and ci cd pipelines, plus centralized logging and monitoring.
Compare microservices and monolithic architectures, highlighting a unified code base versus separate services with own databases, and address challenges like complexity, data consistency, and command query responsibility segregation in communication.
Follow a practical, story-driven guide to implementing microservices with ASP.NET Core. Explore independent databases, domain driven design, rest, RabbitMQ, service registry, API gateway, circuit breaker, retry policies, and distributed tracing.
Explore a microservice ecosystem by contrasting the main solution as an orchestrator routing shared services, with independently deployable microservices each with its own domain logic, APIs, and databases.
Explore how domain-driven design and microservices create scalable, resilient systems using ubiquitous language, bounded contexts, aggregates, and domain events with event-driven integration patterns and Kafka or RabbitMQ.
Explore domain-driven design entities with distinct identity and life cycles, such as an order with an order id that adds items and calculates totals, while order items are value objects.
Explore value objects in domain-driven design by examining immutability, state-based equality, and encapsulation of business rules through a money value object that supports addition and comparison within the same currency.
Explore domain-driven design aggregates, including aggregate roots and bounded contexts, and learn how the order aggregate enforces business rules across create order, add item to order, and change shipping address.
Explore bounded contexts in domain-driven design, dividing a large domain into cohesive parts with separate projects, each with its own domain model, entities, value objects, domain services, and ubiquitous language.
Explore domain events in domain-driven design and how changes become objects that services subscribe to, as in an e-commerce example where an order placed event triggers updates across processes.
Explore domain-driven design by modeling an event as an entity and aggregate root with a location value object, supported by a repository, pricing service, and domain events.
Balance traffic across multiple service instances to improve scalability and reliability in microservices, using round robin, least connections, IP hashing, and weighted load balancing with hardware, software, or cloud balancers.
Ada Lawless introduces microservices and a load balancer named Balto to split tasks and evenly distribute requests, dramatically boosting bistro efficiency, speeding orders, and increasing customer satisfaction.
Explore how the saga pattern coordinates distributed transactions across microservices, using compensating actions to maintain consistency, handle failures, and ensure reliable order fulfillment from inventory to delivery.
Learn the circuit breaker pattern, a safety switch for microservices that prevents cascading failures by moving between closed, open, and half-open states with timeouts and recovery checks in distributed systems.
Master the two-phase commit pattern (2pc) to ensure atomicity and data consistency across microservices, where the coordinator orchestrates prepare and commit phases.
Explore how the decorator pattern enhances microservices by wrapping a core component with concrete decorators for logging, caching, and security checks, enabling cross-cutting concerns without altering core logic.
Learn how the backend for frontend (bff) pattern tailors apps for different devices with two specialized assistants—the in-person and online customers—ensuring fast, device-appropriate data and features.
Microservices and event-driven architecture work together to enable loose coupling, scalability, and asynchronous communication through producers, consumers, and an event broker such as Kafka, RabbitMQ, AWS SNS, and SQS.
Learn to implement event-driven architecture in ASP.NET Core by defining events, publishing them, and handling with decoupled event handlers. Explore in-memory and broker-based messaging with MassTransit for scalable, maintainable apps.
Explore how microservices and event sourcing enable decoupling and scalability by managing state as immutable events, replayable through an event store for auditing, debugging, and robust distributed systems.
Explore how HashiCorp tools, including consul, vault, nomad, and terraform, handle service discovery, secrets, orchestration, and infrastructure as code to build resilient, scalable microservices.
Explore how proxies enable service discovery, security, and traffic control in microservices architectures. They act as api gateways, support logging and monitoring, and simplify client interactions behind the scenes.
Learn to implement a simple reverse proxy in ASP.NET Core 6 using Yarp, configuring routes and clusters, loading config from memory, and forwarding all requests to example.com.
Explore how Yarp acts as an open source api gateway by Microsoft, delivering reverse proxy, load balancing, routing, and url rewriting for microservices.
Learn how Microsoft Tye, an open source tool, simplifies developing and deploying microservices with service discovery, local development, a single YAML file for configuration, and an integrated dashboard.
Explore how an API gateway acts as the front end for microservices, routing requests, translating HTTP, WebSockets, and gRPC, while enabling load balancing, authentication, caching, and rate limiting for security.
Set up and configure the ocelot api gateway using slot.json for upstream and downstream routing to the product microservice in a dotnet microservices architecture.
Learn how to integrate Docker with microservices to build scalable, modular apps, using containerization, isolation, and orchestration for efficient deployment and independent services.
Learn to install Docker Desktop on Windows, enable container support in Visual Studio 2022, and run a web API in Docker with a Dockerfile, Docker Compose, and orchestration options.
Learn how microservices and Kubernetes work together to build, deploy, and manage scalable applications with container orchestration, service discovery, load balancing, scaling, and rolling updates.
Containerize an ASP.NET Core web app with Docker Desktop, enable Kubernetes in Visual Studio 2022, create deployment and service YAMLs, and deploy via kubectl to a cluster.
Spin up rabbitmq with docker desktop, access the management UI, and build a publisher and consumer in ASP.NET, using the RabbitMQ client to exchange messages via a queue.
Explore how to build and manage microservices on Azure with Azure Kubernetes Service, Azure Service Fabric, Azure Functions, Azure API Management, Azure DevOps, Azure Monitor, and Azure Cosmos DB.
Learn to deploy microservices on Azure using AKS by creating a container registry, authenticating with Azure, provisioning a Kubernetes cluster, applying a web app manifest, and managing with kubectl.
Learn how microservices relate to serverless computing, exploring complementary architectures, microservices as functions, and event-driven, pay-per-use, auto-scaling patterns.
Explore OAuth2, OpenID Connect, and JWT for authentication and authorization in microservices, and enforce security with API gateways, mTLS, service mesh, RBAC/ABAC, data protection, HashiCorp Vault, logging, and compliance.
Implement json web token authentication by creating, signing, and validating tokens using header, payload, and signature. Set one hour expiration and secure secret key signing.
learn the ABP framework for building modular microservices, including EF Core migrations, core layers (domain, application, infrastructure, api), api gateway concepts, and deployment with Docker and Kubernetes.
Discover fault isolation in microservices to boost resilience, using independent services, containment, circuit breakers, fallbacks, replication, asynchronous messaging, health monitoring, and graceful degradation.
Test microservices by validating REST APIs, gRPC, and messaging with RabbitMQ or Kafka, using Postman, Swagger, and HTTP clients for integration, end-to-end, performance, and resilience checks.
Deploy microservices with Docker containerization and Kubernetes, and implement CI/CD, automated testing, centralized configuration, service discovery, monitoring, load balancing, and secure, scalable delivery.
Discover how microservices break complex apps into independent services communicating via APIs, boosting flexibility and scalability. Contrast monolithic architectures and learn about API gateways, service discovery, containers, and CI/CD practices.
Celebrate completing the microservices course by gaining valuable insights you can apply at work and in personal projects. Revisit materials, engage with resources, and share feedback to improve future offerings.
Microservices Mastery: From Learner to Advanced
Unlock the full potential of microservices architecture with our detailed course on ASP.NET Core. Whether you’re looking to enhance your skills or start from scratch, this course has you covered!
What You’ll Learn:
Decoupled Services: Understanding how to break down a monolithic application into smaller, independent services that communicate with each other.
Scalability: Learning how microservices allow for scaling individual components of an application independently, leading to more efficient resource usage.
Resilience: Implementing techniques such as circuit breakers, retries, and fallbacks to ensure that microservices can handle failures gracefully.
Independent Deployment: Gaining the ability to deploy, update, and roll back individual services without affecting the entire application.
Domain-Driven Design (DDD): Applying DDD principles to define microservices around business capabilities, ensuring each service has a clear and bounded context.
API Management: Understanding the importance of designing well-defined APIs for communication between microservices, often using RESTful services or gRPC.
Service Discovery: Learning how services can find and communicate with each other dynamically using service discovery tools like Consul or Eureka.
Containerization: Using containers (e.g., Docker) to package and deploy microservices, ensuring consistency across different environments.
Orchestration: Managing the deployment, scaling, and operation of containerized microservices using orchestration tools like Kubernetes.
Event-Driven Architecture: Leveraging event-driven architecture to enable asynchronous communication between microservices, enhancing decoupling and responsiveness.
Security: Implementing security best practices for microservices, such as authentication, authorization, and secure communication between services.
Monitoring and Logging: Setting up centralized monitoring and logging to track the health and performance of microservices, and diagnose issues quickly.
Fault Isolation: Understanding how microservices architecture isolates faults to prevent a failure in one service from bringing down the entire system.
API Gateway: Using an API Gateway to manage and route requests to various microservices, providing a single entry point to the system.
Inter-Service Communication: Understanding various communication methods between microservices, such as synchronous (HTTP/REST) and asynchronous (messaging queues).
Circuit Breaker Pattern: Implementing the circuit breaker pattern to protect microservices from cascading failures during high load or failures.
Join now and take the first step towards becoming a microservices architect!