Skip to content

Felipeness/the-whole-and-the-part

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The Whole and the Part

A Journey Through Holonomic Software Architecture

"Every holon has two tendencies: an integrative tendency to function as part of a larger whole, and a self-assertive tendency to preserve its individual autonomy." — Arthur Koestler, The Ghost in the Machine (1967)

License: CC BY-SA 4.0 Chapters Language: English Idioma: Português

Leia em Português →


What is this?

An open-source book — 15,000+ lines, 62 chapters across 22 parts — that bridges Arthur Koestler's philosophy of holons with modern distributed systems architecture. From SOLID to Sagas, from cognitive load to circuit breakers, through the lens of one powerful idea: every module is simultaneously a whole and a part.


The Janus Effect

Koestler named it after the Roman god with two faces. Every holon looks inward (as a self-governing whole) and outward (as a dependent part). Software is no different:

graph TB
    subgraph "The Holarchy"
        direction TB
        System["SYSTEM<br/><i>the whole</i>"]

        subgraph H1 ["Holon: Orders"]
            direction TB
            H1_pub["Public Interface<br/><small>API / Events / UI</small>"]
            H1_dom["Domain Logic<br/><small>Rules, Invariants</small>"]
            H1_inf["Infrastructure<br/><small>DB, Cache, Queue</small>"]
            H1_reg["Self-Regulation<br/><small>Health, Circuit Breakers</small>"]
            H1_pub --> H1_dom --> H1_inf
            H1_dom --> H1_reg
        end

        subgraph H2 ["Holon: Payments"]
            direction TB
            H2_pub["Public Interface"]
            H2_dom["Domain Logic"]
            H2_inf["Infrastructure"]
            H2_pub --> H2_dom --> H2_inf
        end

        subgraph H3 ["Holon: Inventory"]
            direction TB
            H3_pub["Public Interface"]
            H3_dom["Domain Logic"]
            H3_inf["Infrastructure"]
            H3_pub --> H3_dom --> H3_inf
        end

        Bus(["Event Bus<br/><i>Async Integration</i>"])
    end

    System --- H1
    System --- H2
    System --- H3
    H1_pub -. "OrderCreated" .-> Bus
    Bus -. "PaymentRequested" .-> H2_pub
    Bus -. "StockReserved" .-> H3_pub

    style System fill:#1a1a2e,stroke:#e94560,color:#fff
    style Bus fill:#0f3460,stroke:#e94560,color:#fff
    style H1_pub fill:#16213e,stroke:#0f3460,color:#fff
    style H1_dom fill:#16213e,stroke:#0f3460,color:#fff
    style H1_inf fill:#16213e,stroke:#0f3460,color:#fff
    style H1_reg fill:#16213e,stroke:#0f3460,color:#fff
    style H2_pub fill:#16213e,stroke:#0f3460,color:#fff
    style H2_dom fill:#16213e,stroke:#0f3460,color:#fff
    style H2_inf fill:#16213e,stroke:#0f3460,color:#fff
    style H3_pub fill:#16213e,stroke:#0f3460,color:#fff
    style H3_dom fill:#16213e,stroke:#0f3460,color:#fff
    style H3_inf fill:#16213e,stroke:#0f3460,color:#fff
Loading

Each holon owns its UI, logic, database, and self-regulation. It communicates with the world only through asynchronous events. Autonomy inward, integration outward. When this balance breaks — cells that keep autonomy but lose integration — you get cancer. In software, you get a distributed monolith.


The Core Idea

Every software module lives in tension between two forces:

  • Self-assertive tendency — autonomy, independence, owning its own data and rules
  • Integrative tendency — cooperating, serving the larger system, responding to events

Holonomic architecture resolves this through Self-Contained Systems: each holon is autonomous enough to develop and deploy independently, yet integrated enough to form a coherent whole. Not microservices. Not a monolith. A holarchy.


Table of Contents

The book is organized in four pillars. Browse the full chapter listing in book/.

Pillar I — Philosophy & Mind

Parts I–II · Chapters 1–7

The philosophical foundation. Koestler's holons, lessons from biology, the metaphysics of software, cognitive load, readability, and expressive code.


Pillar II — Principles & Architecture

Parts III–IV · Chapters 8–20

From SOLID to CUPID, from monoliths to hexagonal architecture. The blueprint for building holons.

Pillar III — Communication & Practice

Parts V–IX · Chapters 21–39

Messaging, Temporal, Event Sourcing, CQRS, Sagas, testing, refactoring, anti-patterns, and hard-won lessons.


Pillar IV — Production

Parts X–XXII · Chapters 40–62

Security, DevOps, serverless, AI/ML, observability, circuit breakers, distributed data, contract testing, and frontend-per-holon.

Epilogue: The Garden and the Gardener · References


Who is this for?

  • Senior engineers tired of the monolith-vs-microservices false dichotomy
  • Architects designing distributed systems who want a principled decomposition strategy
  • Tech leads choosing between SCS, microservices, and modular monoliths
  • Anyone curious about what happens when philosophy meets software engineering

Start Here

New to holonomic architecture? Read the introductory article — a 10-minute overview of the core ideas before diving into the full book.


Read the Full Book


About the Author

Felipe Coelho — Senior Software Engineer & Engineering Manager. Over a decade building distributed systems, this book distills the patterns and principles that actually survived production.

GitHub: @Felipeness


License

This work is licensed under Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0).

You are free to share and adapt this material, as long as you give credit and distribute contributions under the same license.

About

An open-source book on holonomic software architecture — Arthur Koestler's philosophy meets distributed systems. 62 chapters, 15,000+ lines.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors