Until January 2nd 2025, when you have more than one item in your basket, the cheapest one is FREE! Up to 3 orders per student. Happy Holidays!

Deep Dive: Microservices Architecture

Dive deeper into Microservices Architecture with AWS Solution Architect James Eastham

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.

Curriculum

Welcome (01:23)

What will you learn in this course? (02:08)

Who is the course for and prerequisites (03:57)

Getting the most from this course (03:43)

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)

Course Info

Level:
Deep Dive
Duration:
4h 18m
Rating (1,8K+):
star

Lifetime access

Add to Cart
Dometrain Pro

Want access to all of our courses? Subscribe to Dometrain Pro!

Try it for free!

About the Author

author_img

James Eastham

James Eastham is a Senior Cloud Architect at Amazon Web Services and content creator. He has over 10 years experience in software, at all layers of the application stack.
He has worked in front-line support, database administration, backend development and now works with some of the biggest companies in the world architecting systems using AWS technologies.
James produces content on YouTube, focused around building applications with serverless technologies using .NET, Java & Rust.

More courses by James Eastham