Getting Started: Solution Architecture

Get started with the art of Solution Architecture

About This Course

No subject in software engineering will add more value to an engineer's skillset than having a good understanding and, eventually, mastery of the topic of solution architecture. It is the bedrock of everything we do; without it, we can't create good solutions, no matter how good our code is. The phrase "the right tool for the right job." rings true with solution architecture more than any other subject in engineering, and knowing when to choose the correct database or even the right technologies to build your solution reasonably, depends on a sound understanding of solution architecture. In this course, James Eastham, Senior Software Architect for Amazon Web Services (AWS), will introduce you to the concept of Solution Architecture and give you all the foundational knowledge you need to master the subject.

Course Curriculum

4h 47m 8 sections
Welcome
0:41 Free preview
What will you learn in this course?
1:46 Free preview
Who is the course for and prerequisites
1:01 Free preview
Context For The Course
0:52 Free preview
What is a software architect?
5:24
The Software Architect's Elevator
4:30
The importance of the business context
7:18
Optimizing for Change
6:03
Impact as an Architect
3:30
Defining Architecture Tenets
2:27
Systems Thinking
7:47
The Value Of Communication
3:00
Functional vs non-functional requirements
5:01
Gathering Functional Requirements
4:58
Architectural -ilities and understanding trade offs
7:19
Architect in characteristics
7:57
Modularity, Coupling and Cohesion
4:45
Customers & their Access Patterns
4:19
Monoliths
4:04
Layered Architecture
5:12
Hexagonal Architecture
5:54
Service Oriented Architecture
5:37
The Fallacies of Distributed Computing
4:20
Microservices
7:18
Why Choose Microservices
3:55
Adopting Microservices
5:26
Event Driven Architecture
7:06
Thinking Serverless First
4:42
Conway's Law and Aligning Architecture to the Organisation
8:57
Ocams Razor - Keep It Simple Stupid
4:21
Choosing the Appropriate Architecture
7:56
Thinking In Patterns
2:38
API First Design
4:50
Streaming Vs Batch Processing
6:33
Scaling Systems
8:48
Caching
8:46
Integration Styles
8:46
Messaging and Reactive Systems Design
7:55
Architect for Failure
7:33
Integrating with External Systems
5:47
Architecting Data
6:41
The Importance of Documentation
2:45
Architecture Decision Records
7:02
Documenting Use Cases
4:18
Architect in Patterns
4:47
The Importance Of Context
5:32
Context Mapping
6:29
The Importance Of Interoperability
6:24
Evolutionary as a default
3:22
The Importance of Observability
5:58
Fitness Functions
3:41
Human-Centric Architecture
4:04
Architecture In Practice
10:46

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