Enhance your solution architecture skills in this hands-on course that will help you transform business requirements
into scaleable systems. From the development of a new enterprise application to refactoring an existing one, you will
gain useful lessons for making sound architectural decisions based on business value along with technical excellence.
You will begin by building modular monoliths by using modern patterns that allow for future growth, as well as by
structuring the system rightly, being integral, and making it easy for communication among the components. The course
will walk you through architectural maturity, with particular emphasis on observability for continuous improvement and
the right time to transition from monoliths to microservices. You will study event-driven patterns like the Outbox
Pattern and how to implement strategies for synchronous and asynchronous communication. You'll also develop systems
thinking skills with the help of methods such as Event Storming and C4 modeling to manage technical and social
complexity. By getting your decisions right with Architecture Decision Records (ADRs), you'll be prepared to design
systems in line with business objectives and evolving conditions. Your skills as a solution architect are about to
level up! In this in-depth course, you'll be an art and science master of solution architecture by gaining knowledge
to transform business requirements into robust, scalable, and sustainable systems.
No matter if you're building your first business app or refactoring a legacy system, this course provides pragmatic
guidance on architecting trade-offs that reconcile technical quality with business value.
Course Curriculum
4h 43m 9 sections
Welcome
00:48Free preview
What will you learn in this course?
03:38Free preview
Who is the course for and prerequisites
00:49Free preview
Why we start here
05:14
Modules not layers
07:42
Fitness functions to enforce architecture
08:25
Module to module communication
10:05
Data patterns for modularity
07:10
Seeing inside the box
11:05
Fitness functions to enforce requirements
04:03
Living Documentation
03:48
Wrap up
02:26
When metrics lie
01:38
Observability driven improvements
07:39
Preparing for evoloution part 1
05:19
Preparing for evoloution part 2
07:38
Strategic Decisions in Microservice Evolution
05:27
Using events for evoloution
02:41
The Outbox Pattern
03:17
Public vs private events
03:17
Dealing with errors
05:03
Observability driven improvements part 2
04:57
Architecture separation of concerns
05:19
Wrap up
01:15
Reflections on Architectural Complexity
03:54
Essential vs. Accidental Complexity
04:38
Synchronous Service Resilience
04:59
Asynchronous Service Resilience
02:29
Enhancing System Resilience: Balancing Caching and HTTP Requests
08:01
Understanding Idempotency in Distributed Systems
06:51
Balancing Technical and Social Complexity
04:27
Architecting Success: Bridging Business and Technology
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.