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?
02:47
The current code-base
03:54
Your first microservice
08:19
Integrating your first microservice
05:32
Introducing integration tests
02:54
API First Design
00:38
Mocking microservice integrations
07:33
Run your microservices
01:59
Module Recap
03:55
Independent Testability
03:15
Defining the different types of tests
02:30
Unit testing a microservice
03:11
Integration testing a microservice
04:29
Contract testing inter-service communication
07:27
Break a contact, test the test
02:52
End to tests, good or bad?
05:38
Performance testing your service
07:02
Load testing your service
05:02
Module recap
03:41
Module Introduction
03:10
gRPC for inter-service communication
03:47
Deploying new services
04:09
Is a microservice a single process?
02:34
Your first gRPC microservice
09:18
Integration test your new service
03:47
Implement a gRPC client
01:40
Mocking gRPC for integration tests
01:12
End to end tests with gRPC
02:38
Dealing with failure in gRPC
02:19
Dealing with failure in REST
03:42
An Introduction to Service Discovery
01:36
Service Discovery with Consul
04:09
The Problem with Synchronous Communication
02:30
An Introduction to Asynchronous Communication
02:57
Technology Choices for Async Communication
00:47
Shared Code for Event Communication
05:08
Event Schemas and the CloudEvents Specification
03:04
Defining event subscribers
01:12
Publishing your first event
08:50
Consuling your first event
01:16
Asynchronous communication in action
02:01
Integration test with events
00:38
Libraries for message driven systems
01:12
Fault-tolerance in event driven systems
01:19
Implementing Idempotency
01:53
Asynchronous Communication Recap
03:07
Caching
01:40
Module Recap
03:37
The Strangler Fig Pattern for decomposition
04:59
Configure Nginx as a reverse proxy
01:11
Nginx in action
01:25
Breaking out the orders API
02:51
Breaking out inter-module communication
00:48
An event-first approach to decomposition
01:41
Handling events inside your monolith
01:43
Data Persistence during a migration
01:56
Monolith to microservices recap
02:28
Microservices architecture in action
01:52
Module Recap
02:38
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:09
Implementing service to service authentication
03:18
Module 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:08
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

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