Codecamp_Masterclass: Software Architecture - The Hard Parts, with Neal Ford

Schedule

Tue Oct 22 2024 at 09:30 am to Wed Oct 23 2024 at 06:00 pm

UTC+03:00

Location

Hotel Unirea Iasi | Iasi, IS

Advertisement
Software architects have no clean, easy decisions: everything is a terrible trade-off. Architecture has lots of difficult problems, which this platform-agnostic class highlights by investigating what makes architecture so hard. This class goes beyond the fundamentals of software architecture and focuses on really hard problems within distributed architectures such as microservices and event-driven systems.
This class is divided into 2 main parts—pulling things apart, then putting them back together again. In part 1 (pulling things apart), you’ll learn about the differences between modularity and granularity, techniques and patterns for breaking apart monolithic systems and migrating them to a distributed architecture, how to choose the right size for a service, and how to break apart monolithic data. However, once you break a system apart, necessarily you need to put it back together again. That’s what part 2 is about – putting things back together.
In part 2 you’ll learn about communication protocols for communicating between services, how to reconnect distributed data, whether your workflow should use orchestration or choreography, what sort of contract you should have between services, what patterns to use for complex event processing, and how to manage distributed transactions while still maintaining some level of data consistency and integrity.
Software architecture is full of hard parts. By attending this 2-day class you can gain the insights and techniques to make it just a little softer.
Course contents
Part 1: Pulling Things Apart
Unit 1: Architectural Modularity
Why migrate from monolithic systems?
Business and technical drivers
Migration patterns and approaches
Hands-on exercises: Migration drivers
Unit 2: Architectural Quantum
Defining a quantum
Why this is important
Application partitioning
Quantum examples
Hands-on exercises: Identifying architectural quanta

Unit 3: Technical vs. Domain Partitioning
Technically partitioned architectures
Conway’s Law
Dynamically partitioned architectures
Inverse Conway maneuver
Advantages and disadvantages of each
Architecture and organizational alignment
Migrating from technical to domain partitioning
Hands-on exercises: Identifying partitioning

Unit 4: Component-Based Decomposition
Microservices migration patterns
Identifying and sizing components
Flattening components
Identifying component dependencies
Creating component domains
Creating domain services
Domain service decomposition
Hands-on exercises: Flattening components

Unit 5: Service Granularity
Granularity disintegration drivers
Granularity integration drivers
Analyzing tradeoffs
Hands-on exercises: Determining service granularity

Unit 6: Breaking Apart Monolithic Data
Drivers for data decomposition
Creating Data domains
Resolving data dependencies
Hands-on exercises: Decomposing monolithic databases

Part 2: Putting Things Back Together
Unit 7: Data Access and Ownership
Creating bounded contexts
Managing common data ownership
Managing joint data ownership
Data Access patterns
Hands-on exercises: Accessing remote data

Unit 8: Managing Contracts
Strict vs. loose contracts
Bandwidth and stamp coupling
Consumer-driven contracts

Unit 9: Communication Protocols
Synchronous communication
Asynchronous communication
Dynamic quantum entanglement

Unit 10: Managing Workflows
Defining orchestration
Defining Choreography
Analyzing tradeoffs
Hybrid topologies
Hands-on exercises: Choosing a workflow type

Unit 11: Distributed Transactions
ACID transactions
BASE Transactions
Eventual consistency patterns
Managing transaction through state machines
Compensating updates

Unit 12: Transactional Sagas
Three dimensional sagas
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: Choosing the right transactional saga
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.
Advertisement

Where is it happening?

Hotel Unirea Iasi, Piata Unirii Nr.5,Iasi, Romania

Event Location & Nearby Stays:

Codecamp Romania

Host or Publisher Codecamp Romania

It's more fun with friends. Share with friends

Discover More Events in Iasi

Scarlet Aura \u2013 Rock Stravaganza @ Underground Pub, Ia\u0219i
Fri Oct 25 2024 at 07:00 pm Scarlet Aura – Rock Stravaganza @ Underground Pub, Iași

Underground Pub

ART
reTratamentul Endodontic
Sat Oct 26 2024 at 09:00 am reTratamentul Endodontic

Ramada Hotel Iasi

ELSA SI PRIETENII - Iasi - ora 9:30
Sun Oct 27 2024 at 10:30 am ELSA SI PRIETENII - Iasi - ora 9:30

Casa de Cultura a Studentilor Iasi

PARTIES ART
ELSA SI PRIETENII - Iasi - ora 11:30
Sun Oct 27 2024 at 12:30 pm ELSA SI PRIETENII - Iasi - ora 11:30

Casa de Cultura a Studentilor Iasi

PARTIES ART
Zilele Bobocului Ie\u0219ean - edi\u021bia 2024
Mon Oct 28 2024 at 05:00 pm Zilele Bobocului Ieșean - ediția 2024

Iulius Mall Iasi

EndoStart
Mon Sep 16 2024 at 09:00 am EndoStart

Ramada Hotel Iasi

WORKSHOPS
Restore IT
Thu Sep 19 2024 at 09:00 am Restore IT

Ramada Hotel Iasi

WORKSHOPS
\u00cembl\u00e2nzirea Scorpiei | cu Paul Ipate
Thu Sep 19 2024 at 07:00 pm Îmblânzirea Scorpiei | cu Paul Ipate

strada Ion Creangă, nr. 14 , 700320 Iasi, Romania

WORKSHOPS
Festivalul Interna\u021bional al Muzicii Mecanice 2024
Fri Sep 20 2024 at 12:00 am Festivalul Internațional al Muzicii Mecanice 2024

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

WORKSHOPS
Tehnici de antichizare \u0219i decorare
Fri Sep 20 2024 at 06:00 pm Tehnici de antichizare și decorare

Bulevardul Independenței nr.12, Iași

WORKSHOPS
Pijamale
Mon Sep 23 2024 at 07:00 pm Pijamale

strada Ion Creangă, nr. 14 , 700320 Iasi, Romania

WORKSHOPS BUSINESS
Concert la Palat | Dowland\u2019s delight | Oana Severin | Constantin Laz\u0103r | Dumitru Florescu
Tue Sep 24 2024 at 07:00 pm Concert la Palat | Dowland’s delight | Oana Severin | Constantin Lazăr | Dumitru Florescu

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

CONCERTS MUSIC
Workshop Plasma Pen\u2503Plasma Path IA\u0218I
Thu Sep 26 2024 at 10:00 am Workshop Plasma Pen┃Plasma Path IAȘI

Școala Comercială Cursuri Iași

WORKSHOPS
\u00c9ram \u0219i \u00c9ra
Thu Sep 26 2024 at 07:00 pm Éram și Éra

strada Ion Creangă, nr. 14 , 700320 Iasi, Romania

WORKSHOPS
From Regression to Progression
Sat Sep 28 2024 at 10:00 am From Regression to Progression

Sandru Office

WORKSHOPS ART
Back to school
Sat Sep 28 2024 at 02:00 pm Back to school

Aleea Profesor Vasile Petrescu 5, Iași 700562, Iași

WORKSHOPS PARTIES
BomboNica-Laboratorul de dulciuri | Marionnette Show
Sun Sep 29 2024 at 11:00 am BomboNica-Laboratorul de dulciuri | Marionnette Show

strada Ion Creangă, nr. 14 , 700320 Iasi, Romania

WORKSHOPS
Iube\u0219te-te | Teatrul \u201eIon Creang\u0103\u201d din Chi\u0219in\u0103u
Sun Sep 29 2024 at 07:00 pm Iubește-te | Teatrul „Ion Creangă” din Chișinău

strada Ion Creangă, nr. 14 , 700320 Iasi, Romania

ART WORKSHOPS
Jazzings: Soul Serenade
Sun Sep 29 2024 at 08:00 pm Jazzings: Soul Serenade

Anastasie Fatu nr 2A, 700128 Iasi, Romania

MUSIC FOOD-TRUCK-FESTIVALS
TAKE, IANKE \u0219i CAD\u00ceR
Mon Sep 30 2024 at 07:00 pm TAKE, IANKE și CADÎR

strada Ion Creangă, nr. 14 , 700320 Iasi, Romania

WORKSHOPS

What's Happening Next in Iasi?

Discover Iasi Events