Saltar al contenido

Architecture: The Hard Parts

Foto de Apiumhub
Hosted By
Apiumhub
Architecture: The Hard Parts

Detalles

Software architects have no clean, easy decisions: everything is a terrible tradeoff. Architecture has lots of difficult problems, which this platform-agnostic class highlights by investigating what makes architecture so hard. This hands-on, platform-agnostic architecture class goes beyond the fundamentals of software architecture and focuses on the really hard problems. This class focuses primarily on aspects of distributed architectures and on areas surrounding modularity versus granularity, the challenges of event-driven architectures (including difficult error handling issues), distributed architecture patterns and how to decouple services to achieve proper granularity. Architecture is full of hard parts; by attending this workshop you can gain the insights and techniques to make it just a little softer.

This class is divided into 2 main parts:

Part 1: Pulling Things Part (Modularity and Building Blocks)

Part 2: Putting Them Back Together (Patterns and Tradeoffs)

Pulling things apart (Part 1) focuses on how to break up systems and identify levels of modularity. However, once you’ve broken apart your systems, how do you tie them back together? Putting them back together (Part 2) focuses on just this – the techniques of how to do orchestration, workflows, and transactions, while keeping parts decoupled from one another.

Course Language: The course will be entirely in English.

Part 1: Pulling Things Apart (Modularity and Building Blocks)
Architectural Modularity
Modularity vs. Granularity
Drivers for Modularity
Components as Architecture Building Blocks
Component Definition
Coupling Types
Connascence
Connascence Properties
Abstractness vs. Instability (Main Sequence)
Component Cohesion
Modern Connascence
Architecture Quantum
What is an Architectural Quantum?
Why are Quanta so Important to Architecture?
Examples of Architecture Quantum
Architecture Kata Exercises #1 – Breaking Apart The System

Modularity vs. Granularity
Determining The Right Level of Granularity
Service Granularity Drivers
Service Granularity Factors
Architecture Kata Exercises #2 – Identifying Services

Breaking Apart Data
Drivers For Separating Data
Factors Impacting Data Separation
Architecture Kata Exercises #3 – Data Ownership and Bounded Contexts

Analytical Reporting Challenges
Issues with Data Warehouses
Issues with Data Lakes

Part 2: Putting Them Back Together (Patterns and Tradeoffs)
Synchronous vs. Asynchronous Communication
Quantum Separation
Messaging For East-West Communication
Leveraging Queues For Back Pressure
Leveraging Publish-Subscribe For Extensibility
Contract Management
Consumer-Driven Contracts
Value-Driven Contracts
GraphQL
Schemas
Data Access and Data Sharing Strategies
Interservice Communication
Data Replication
Replicated Caching
Data Domains
Architecture Kata Exercises #4 – Data Access Techniques

Orchestration and Workflow
Differences Between Orchestration and Choreography
Choreography Examples
Orchestration Examples
Workflow Patterns and Sagas
Architecture Kata Exercises #5 – Orchestration and Workflow

Data Mesh
Defining a Data Mesh
Data Mesh Concepts

Starting Date: March 22-23, 2021

Duration: This workshop consists of 8 hours.

Only 5 tickets left! Please contact us if you are interested

TO SIGN UP:
https://apiumacademy.com/architecture-the-hard-parts-zhamak-dehghani-neal-ford-mark-richards/
info@apiumacademy.com

Photo of Apium Academy: Tech Talks, software workshops & meetups group
Apium Academy: Tech Talks, software workshops & meetups
Ver más eventos
Necesita un lugar