Deep Dive: Microservices Architecture

Dive deeper into Microservices Architecture with AWS Solution Architect James Eastham

About This Course

Microservices Architecture is one of the most popular software architectures. It is the de facto choice for any big company, and knowing how to create a system using it is crucial for any software developer who wants to work at a big company. However, it is a very complex topic with many nuances, edge cases, and caveats. In this course, AWS Solution Architect James Eastham will use the knowledge he gained building microservices for Amazon Web Services to teach you how to create an entire microservices architecture system. This course is both theory and code-heavy, with many diagrams and detailed explanations for every decision made. Join James on this journey and master Microservices Architecture today.

Course Curriculum

4h 18m 9 sections
Welcome
01:23 Free preview
What will you learn in this course?
02:08 Free preview
Who is the course for and prerequisites
03:57 Free preview
Getting the most from this course
03:43 Free preview
Introducing the Sample Application
03:34
How big is a microservice?
03:54
The current code-base
08:19
Your first microservice
05:32
Integrating your first microservice
02:54
Introducing integration tests
00:38
API First Design
07:33
Mocking microservice integrations
01:59
Run your microservices
03:55
Section Recap
02:47
Independent Testability
03:15
Defining the different types of tests
03:11
Unit testing a microservice
04:29
Integration testing a microservice
07:27
Contract testing inter-service communication
02:52
Break a contact, test the test
05:38
End to tests, good or bad?
07:02
Performance testing your service
05:01
Load testing your service
03:41
Section recap
02:30
Module Introduction
03:10
gRPC for inter-service communication
01:39
Deploying new services
01:12
Is a microservice a single process?
02:38
Your first gRPC microservice
02:19
Integration test your new service
03:42
Implement a gRPC client
01:36
Mocking gRPC for integration tests
04:09
End to end tests with gRPC
02:30
Dealing with failure in gRPC
03:47
Dealing with failure in REST
04:09
An Introduction to Service Discovery
02:34
Service Discovery with Consul
09:18
The Problem with Synchronous Communication
03:47
An Introduction to Asynchronous Communication
02:57
Technology Choices for Async Communication
02:01
Shared Code for Event Communication
00:38
Event Schemas and the CloudEvents Specification
01:12
Defining event subscribers
01:18
Publishing your first event
01:53
Consuling your first event
03:07
Asynchronous communication in action
01:40
Integration test with events
03:37
Libraries for message driven systems
00:47
Fault-tolerance in event driven systems
05:08
Implementing Idempotency
03:04
Asynchronous Communication Recap
01:12
Caching
08:50
Section Recap
01:16
The Strangler Fig Pattern for decomposition
04:59
Configure Nginx as a reverse proxy
02:51
Nginx in action
00:48
Breaking out the orders API
01:41
Breaking out inter-module communication
01:43
An event-first approach to decomposition
01:55
Handling events inside your monolith
02:28
Data Persistence during a migration
01:51
Monolith to microservices recap
02:38
Microservices architecture in action
01:11
Section Recap
01:25
Introduction to secure microservices
03:19
User Login for ASP.NET Microservices
04:47
Generating authentication tokens on user login
01:19
Users Authentication in Action
05:32
Using JWT claims inside your application
03:12
Integration testing secure microservices
04:07
Methods of Service to service authentication
04:08
Implementing service to service authentication
03:18
Section Recap
02:00
Introduction to scaling microservices
00:59
Platform engineering for deployment pipelines
03:55
Standardising deployment pipelines
02:13
Service blueprints for getting started
01:01
Discoverability in large-scale microservice architectures
01:32
Auto-generate documentation for async API’s
05:07
A Brief word on Backstage.IO
00:24
Considerations of microservices at scale
02:53
Course recap
01:21

Meet Your Instructor

James Eastham

James Eastham

James Eastham is a Serverless Developer Advocate at Datadog and a Microsoft MVP. He has over 10 years of software experience at all layers of the software development process and has spoken at conferences all over the world. He answered phones in front-line support, administered databases, and built SSIS packages, as well as developed cloud-native backends with serverless technologies. He spent time at AWS working with some of the biggest companies on the planet, migrating workloads from data centers into the cloud and modernizing in the process. James produces content on YouTube focused on architecting and building applications with serverless technologies using .NET and Rust. He also has a strong interest in and expertise in event-driven architecture and building more loosely coupled systems.

View all courses by James Eastham

What's New

Getting Started: Building .NET Applications on AWS
course

Getting Started: Building .NET Applications on AWS

Learn how to build and deploy .NET applications on AWS using CDK, Lambda, DynamoDB, S3, and more.

Learn More
What's new in C# 14
blog

What's new in C# 14

This guide covers every new C# 14 feature, explains its benefits, and provides practical code examples to help you navigate how you can use them.

Learn More
Let's Build It: AI Chatbot with RAG in .NET Using Your Data
course

Let's Build It: AI Chatbot with RAG in .NET Using Your Data

Build a Retrieval-Augmented Generation (RAG) chatbot that can answer questions using your data.

Learn More
From Zero to Hero: SignalR in .NET
course

From Zero to Hero: SignalR in .NET

Enable enterprise-grade real-time communication for your web apps with SignalR.

Learn More
Deep Dive: Solution Architecture
course

Deep Dive: Solution Architecture

Master solution architecture and turn business needs into scalable, maintainable systems.

Learn More
Migrating: ASP.NET Web APIs to ASP.NET Core
course

Migrating: ASP.NET Web APIs to ASP.NET Core

A step-by-step process to migrate ASP.NET Web APIs from .NET Framework to ASP.NET Core.

Learn More
Getting Started: Caching in .NET
course

Getting Started: Caching in .NET

Let's make the hardest thing in programming easy for .NET software engineers.

Learn More
From Zero to Hero: Testing with xUnit in C#
course

From Zero to Hero: Testing with xUnit in C#

Learn how to test any codebase in .NET with the latest version of xUnit, the industry-standard testing library.

Learn More
Create a ChatGPT Console AI Chatbot in C#
blog

Create a ChatGPT Console AI Chatbot in C#

This walkthrough is your hands-on entry point to create a basic C# console application that talks to ChatGPT using the OpenAI API.

Learn More