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

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

Getting Started: Building .NET Applications on AWS
course

Getting Started: Building .NET Applications on AWS

Learn how to build and deploy .NET applications on AWS using CDK, Lambda, DynamoDB, S3, and more.

Learn More
What's new in C# 14
blog

What's new in C# 14

This guide covers every new C# 14 feature, explains its benefits, and provides practical code examples to help you navigate how you can use them.

Learn More
Let's Build It: AI Chatbot with RAG in .NET Using Your Data
course

Let's Build It: AI Chatbot with RAG in .NET Using Your Data

Build a Retrieval-Augmented Generation (RAG) chatbot that can answer questions using your data.

Learn More
From Zero to Hero: SignalR in .NET
course

From Zero to Hero: SignalR in .NET

Enable enterprise-grade real-time communication for your web apps with SignalR.

Learn More
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