Designing Distributed Systems: Making Hard Architectural Decisions

Tue, 21 Oct, 2025 at 09:00 am to Wed, 22 Oct, 2025 at 05:00 pm UTC+03:00

Hotel Ramada Iasi City Center | Iasi

Codecamp Romania
Publisher/HostCodecamp Romania
Designing Distributed Systems: Making Hard Architectural Decisions
Advertisement
This updated 2-day class (based on the prior "Architecture: The Hard Parts" class) takes a deep dive into the hard decisions architects face when creating or migrating to distributed system - hard decisions involving service granularity, data topologies, communication protocols, workflow management, and distributed transactions (to name a few).
This course starts out with a deep dive exploring the differences between architectural modularity and service granularity, explaining why distributed architecture are so important in today’s world and how to get service granularity right. It then dives into defining the structure of distributed architectures, introducing the concept of an architectural quantum.
Taking a deep dive into the realm of data, we’ll explore various data topologies, and the corresponding tradeoffs associated with each. Here, you’ll learn how to align a distributed architecture with the most appropriate data topology, how to create bounded contexts, how to access data a service no longer owns, and finally various patterns for contracts and message payload.
Knowing that everything is not always microservices, this course then dives into event-driven architecture, exploring various event patterns and techniques for solving difficult problems when using asynchronous communication and event processing.
In the last part of the course, you’ll learn about the three primary decisions an architect faces when designing distributed systems—communication (async or sync), workflow (orchestration or choreography), and transactions (atomic or eventual consistency). The class concludes by bringing all three of these critical decisions together in the form of transactional sagas, simplifying the hard decisions an architect faces when designing distributed systems.
Designing distributed architectures is hard—very hard. By attending this 2-day class you’ll gain the insights and techniques to make it just a little softer.
Course contents
Unit 1: Architectural Modularity
Defining modularity and why it’s important
Business and technical drivers
Hands-on exercises: Modularity drivers

Unit 2: Service Granularity
Grains of sand anti-pattern
Granularity disintegration drivers
Granularity integration drivers
Analyzing tradeoffs
Hands-on exercises: Determining service granularity
Unit 3: The Structure of Distributed Systems
Concepts: Architectural quantum and its importance
Architecture quantum examples
Hands-on exercises: Identifying architectural quanta
Unit 4: Data Topologies for Distributed Systems
Monolithic data topology
Domain data topology
Database-per-service topology
Data topology tradeoffs
Aligning data topologies with distributed architectures
Creating data domains
Resolving data dependencies
Hands-on exercises: Choosing the right data topology
Unit 5: Data Ownership and Access
Creating bounded contexts: Service granularity revisited
Managing common data ownership
Managing joint data ownership
Remote data access patterns
Data topology coupling revisited
Hands-on exercises: Accessing remote data

Unit 6: Contract and Payload Patterns
Data-based payloads
Key-based payloads
Data payload tradeoff analysis
Anemic events

Unit 7: Event-Driven Architecture Patterns
Event-driven architecture review
Derived event granularity
Swarm of gnats event anti-pattern
Hands-on exercises: Identifying derived events
Extensible event pattern
Event forwarding pattern

Unit 8: Communication Protocols
Synchronous communication
Asynchronous communication
Dynamic quantum entanglement
Hands-on exercises: Asynchronous communication
Unit 9: Managing Workflows
Orchestration workflows and tradeoffs
Choreography workflows and tradeoffs
Front controller hybrid pattern
Combining workflow topologies
Managing workflow state
Unit 10: Distributed Transactions
ACID (database) transactions
BASE (distributed) transactions
Compensating updates
Managing transactions through state machines
Hands-on exercises: Creating a workflow saga
Unit 11: Transactional Sagas
Transactional sagas explained
Epic Saga
Fantasy Fiction Saga
Fairy Tale Saga
Parallel Saga
Phone Tag Saga
Horror Story Saga
Time Travel Saga
Anthology Saga
Transactional sagas as a tool
Target audience and prerequisites
This course is for software developers that want to become software architects and for software architects that want to focus on problems within distributed architectures such as microservices and event-driven systems.
Mark Richards is an experienced, hands-on software architect involved in the architecture, design, and implementation of microservices architectures and other distributed systems in a variety of technologies. He has been in the software industry since 1983 and has significant experience and expertise in application, integration, and enterprise architecture. Mark is the founder of DeveloperToArchitect.com, a free website devoted to helping developers in the journey to becoming a software architect. In addition to hands-on consulting, Mark has authored numerous technical books and videos, including his three latest books Fundamentals of Software Architecture, Software Architecture: The Hard Parts, and Head-First Software Architecture. Mark has spoken at hundreds of conferences and user groups around the world on a variety of enterprise-related technical topics.
https://codecamp.ro/masterclasses/fundamentals-of-software-architecture-iasi-2025/
Advertisement

Event Venue & Nearby Stays

Hotel Ramada Iasi City Center, Str. Grigore Ureche, nr. 27,Iasi, Romania

Tickets

Sharing is Caring:

More Events in Iasi

Aten\u021bie, ateriz\u0103m!
Mon, 20 Oct at 07:00 pm Atenție, aterizăm!

Sala Unirii - Cinema Victoria

Concert la Palat | La fereastra cu pisic\u0103
Tue, 21 Oct at 07:00 pm Concert la Palat | La fereastra cu pisică

Palatul Culturii din Iași - Complexul Muzeal Național „Moldova"

Unleash Your Inner AI with Generative AI
Wed, 22 Oct at 09:00 am Unleash Your Inner AI with Generative AI

Hotel Ramada Iasi City Center

Codecamp_Festival Iasi 2025
Thu, 23 Oct at 09:00 am Codecamp_Festival Iasi 2025

AGORA - Centru de Evenimente

Scandal \u00een culise
Thu, 23 Oct at 07:00 pm Scandal în culise

Sala Unirii - Cinema Victoria

Pelerinaj Hramul Sf. Dimitrie Izvor\u00e2torul de mir - 250 Euro\/persoana
Fri, 24 Oct at 06:00 am Pelerinaj Hramul Sf. Dimitrie Izvorâtorul de mir - 250 Euro/persoana

Bd. Independenței nr. 26, bl. Y3, parter (lângă Banca Unicredit), 700098 Iasi, Romania

Iasi is Happening!

Never miss your favorite happenings again!

Explore Iasi Events