Designing Distributed Systems Workshop
At Apium Academy, we are delighted to offer software architecture workshops taught by Mark Richards, including the Designing Distributed Systems Workshop. In the ever-evolving landscape of software architecture, decision-making is seldom straightforward—it’s a constant juggling act of challenging trade-offs. This platform-agnostic workshop delves into the complexities of designing distributed systems, focusing on the intricacies associated with Microservices. Software architects grapple with difficult problems, from breaking apart monolithic systems to managing distributed transactions and maintaining data integrity and consistency. Join this 1-day Designing Distributed Systems workshop to explore these challenges and gain valuable insights and techniques to navigate the intricacies of designing distributed systems.
Overview: Designing Distributed Systems Workshop
The Designing Distributed Systems workshop is a 1-day session. The total duration of the workshop is 8 hours.
Unit 1: Architectural Modularity
- Why move to or create distributed systems?
- Business and technical drivers.
- Migration patterns and approaches.
- Hands-on exercises: Migration drivers.
Unit 2: Architectural Quantum
- Defining an architectural quantum
- Application partitioning.
- Quantum examples.
Unit 3: Service Granularity
- Granularity disintegration drivers
- Granularity integration drivers.
- Analyzing tradeoffs.
- Hands-on exercises: Determining service granularity.
Unit 4: Breaking Apart Monolithic Data
- Drivers for data decomposition
- Creating Data Domains.
- Resolving data dependencies.
Unit 5: Remote Data Access Patterns
- Interservice communication
- Data schema replication.
- In-memory data grids.
- Data sidecar pattern.
- Data domain.
- Hands-on exercises: Accessing remote data.
Unit 6: Communication Protocols
- Synchronous communication
- Asynchronous communication.
- Dynamic quantum entanglement.
Unit 7: Managing Workflows
- Defining orchestration
- Defining Choreography.
- Analyzing tradeoffs.
- Hybrid topologies.
- Hands-on exercises: Choosing a workflow type.
Unit 8: Transactional Sagas
- Atomic transactions vs. eventual consistency
- Three-dimensional sagas.
- Various saga types: Epic Saga, Fantasy Fiction Saga, Fairy Tale Saga, Parallel Saga, Phone Tag Saga, Horror Story Saga, Time Travel Saga, Anthology Saga.
- Transactional Saga Tradeoffs.
- Hands-on exercises: Transactional Sagas.
Workshop Instructor: Mark Richards
Mark Richards is an experienced, hands-on software architect involved in the architecture, design, and implementation of microservices architectures, service-oriented architectures, and 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 on the journey to becoming software architects. In addition to hands-on consulting, Mark has authored numerous technical books and videos, including his two latest books Fundamentals of Software Architecture and Software Architecture: The Hard Parts. Mark has spoken at hundreds of conferences, including at the Global Software Architecture Summit, and user groups around the world on a variety of enterprise-related technical topics.
Ready to dive into Software Architecture?
Software architecture is a realm filled with challenges, but with the insights and techniques gained from this workshop, you’ll be better equipped to navigate the intricacies of designing distributed systems. Join us for a day of hands-on learning and discover how to make the hard parts of software architecture just a little softer.
Are you interested in this Designing Distributed Systems workshop for your work team? Contact us here for more information.