Week 14

Architecture Patterns

Communication Patterns

Background Processing

Architectural Trade-offs

Messaging

Practice

Assignment

Back end Track

Under construction

<aside> 🚧

This page is currently under construction. Please check back later.

</aside>

Implementation plan:

  1. What is a monolith — single deployable unit, one codebase, one database
    1. Advantages of a monolith: simple to develop, test, deploy, debug
    2. Disadvantages: scaling challenges, large codebase, team bottlenecks
    3. Why monolith is the right default for most projects
  2. What is a modular monolith — monolith with clear internal boundaries
    1. Module boundaries: packages, clear public APIs between modules
    2. Benefits of modular monolith: organized code, path to microservices if needed
  3. What are microservices — independently deployable services, each owns its data
    1. When to consider microservices: team size, scaling needs, independent deployment
    2. Why NOT to start with microservices: distributed systems complexity
  4. The progression: monolith → modular monolith → microservices
  5. Exercise: identify modules in the Week 7 project

The HackYourFuture curriculum is licensed under CC BY-NC-SA 4.0

CC BY-NC-SA 4.0 Icons

*https://hackyourfuture.net/*

Found a mistake or have a suggestion? Let us know in the feedback form.