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:23Free preview
What will you learn in this course?
02:08Free preview
Who is the course for and prerequisites
03:57Free preview
Getting the most from this course
03:43Free 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
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.