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.
Welcome (0:41)
What will you learn in this course? (1:46)
Who is the course for and prerequisites (1:01)
Context For The Course (0:52)
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)
Course Info
Lifetime access
Add to Cart
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.
© 2023 Dometrain. All rights reserved.