Author: Ole Germann

  • Why Point to Point Integrations Break at Scale

    Why Point to Point Integrations Break at Scale

    Most systems don’t fail because of complex business logic.
    They fail because of how they are connected.

    Point-to-point integrations are not usually chosen as an architecture.
    They are what happens when integration architecture is not owned.

    A system needs data, so it calls another system.
    A report needs numbers, so a scheduled export is added.
    A new department needs the same data, so another connection appears.

    No one designs the whole.
    Connections accumulate.

    Over time, the system landscape stops being a set of systems.
    It becomes a network of implicit dependencies.


    A plausible business example

    Imagine a mid-sized seafood processing company.

    It has production facilities, cold storage, transport partners, sales teams, finance, quality control, and customers who expect accurate delivery information.

    The company uses different systems for different jobs:

    • ERP for orders, invoicing, items and customers
    • Warehouse system for stock, lots and cold storage
    • Production system for batches, yield and packing
    • Transport portal for shipment booking and tracking
    • Quality system for certificates, deviations and approvals
    • Data platform for reporting, forecasting and AI analysis

    At first, the integrations are simple.

    The ERP sends orders to the warehouse.
    The warehouse returns stock status.
    The production system sends batch information.
    Finance receives invoice data.

    Each integration makes sense in isolation.
    The problem appears when they become dependent on each other.

    %%{init: {'theme': 'dark'}}%%
    graph LR
        ERP[ERP] --> WH[Warehouse]
        WH --> ERP
        ERP --> PROD[Production]
        PROD --> QA[Quality System]
        PROD --> WH
        WH --> TMS[Transport Portal]
        ERP --> FIN[Finance]
        PROD --> DATA[Data Platform]
        WH --> DATA
        QA --> DATA

    Now a delayed batch update can affect stock levels, transport booking, customer delivery promises, invoice timing, reports and AI forecasts.

    The integration is no longer just moving data.
    It is carrying business trust.


    The hidden complexity

    What starts as a few integrations quickly becomes a dependency graph.

    Each connection introduces:

    • Knowledge of another system’s contract
    • Dependency on another system’s availability
    • Responsibility for retries, errors and edge cases
    • Unclear ownership when data is wrong
    • Manual investigation when something fails

    Individually, these are manageable.
    Collectively, they create a system no one fully understands.

    There is no single place where the full data flow is visible or owned.

    This is the core problem:
    logic is no longer inside systems — it is distributed between them.

    The scaling law

    Point-to-point integrations do not scale linearly.

    The number of possible connections grows with the number of systems:

    • 3 systems → 3 connections
    • 6 systems → 15 connections
    • 10 systems → 45 connections
    • 20 systems → 190 connections

    Every new system increases the number of relationships that must be understood, tested and maintained.

    This is where most teams lose control.
    Not because the individual systems are too complex, but because the connections are.


    Failure is not binary

    Integrations rarely fail in obvious ways.

    Failures are often:

    • Partial — only some data is transferred
    • Delayed — data arrives too late to be useful
    • Silent — an error is logged, but no one observes it
    • Semantic — the data arrives, but means something different than expected

    This creates a dangerous state:

    Systems appear to work — until someone depends on the data.

    The system does not crash.
    It becomes unreliable in ways that are hard to detect.

    The scheduled script problem

    A common pattern is scheduled scripts moving data between systems.

    They work because they are:

    • Simple to implement
    • Low cost
    • Easy to understand in isolation

    But they often lack:

    • Central monitoring
    • Alerting
    • End-to-end traceability
    • Retry handling
    • Clear ownership

    In the seafood company, a scheduled stock export fails on Friday night.

    The warehouse system still works.
    The ERP still works.
    The reporting platform still works.

    But the data is stale.

    By Monday morning, sales sees stock that is no longer available. Transport planning is based on old volumes. Finance expects invoices for orders that should have been delayed. The AI forecast consumes incorrect inventory data and produces confident nonsense.

    The result is not constant failure.
    It is uncertain correctness.


    Why point-to-point breaks

    Point-to-point is not inherently wrong.

    It works when:

    • There are few systems
    • Integrations are simple
    • Change is infrequent
    • Ownership is clear

    It breaks when:

    • The number of systems grows
    • Systems evolve independently
    • Business processes cross many applications
    • No central ownership exists
    • No one can see the whole flow

    The problem is not connections.
    It is unmanaged connections.

    The real issue

    At small scale, point-to-point is efficient.

    At medium scale, it becomes fragile.

    At large scale, it becomes unmanageable.

    By the time teams realize this, the problem is no longer fixing one integration.

    It is regaining control over a system where:

    • No one owns the full data flow
    • No one sees the full picture
    • No one can change it safely
    • No one trusts the data completely

    Point-to-point does not fail suddenly.
    It decays until change becomes dangerous.


    In the next post, we introduce the control layer that prevents this: the integration platform.

  • Empire of Dirt: Electrical switches using nuts and bolts

    Empire of Dirt: Electrical switches using nuts and bolts

    About a decade ago I had an idea of how to propose to my then girlfriend, current wife.

    It’d be a physical game box, with keys to unlock certain effects. Its difficult to explain, but I got far enough to do a prototype of the key system.

    In honor of keeping things simple i opted for nuts and bolts and wires. No computing required.

    the bolts would be the keys youd have to screw into the nuts, completing a circuit.

    By daisychaining this as in picture below you’d accomplish this trivial task at a mere 9 volts.

    Ive kept these in my empire of dirt with other bits and bobs, hoping to complete the project eventually.

    I felt like sharing the idea since it’s dead simple yet effective.

  • Black Box 2020 – 2024

    The Black Box project is a personal, creative project I’ve been running mostly undocumented for the past three years.

    At its core, the project is about treating the opening experience as part of the gift itself. Multiple presents are placed inside a single decorative box, enhanced with hidden functionality that turns the act of opening into a guided, deliberate experience.

    2020 – 2024

    The Black Box project began when I wanted to give several smaller presents to my then girlfriend as a single, cohesive gift. That immediately introduced a practical problem: how to package multiple items without losing structure or intent.

    A spray-painted moving box, finished in black and wrapped in gold paper, became the starting point. Because the box had a fixed opening direction, it naturally encouraged sequencing and presentation rather than random discovery.

    The presents were ordered deliberately. Each flap of the box was marked with a red paper heart and a number, defining the sequence in which gifts should be opened. The numbers were assigned in descending order based on anticipation rather than size or cost, and the items inside were labeled to match.

    The concept was received very well, and I continued iterating on it for later birthdays and holidays.

    2020

    For my girlfriend’s 20th birthday, the box was extended with lighting. At this stage, the system depended entirely on mains power, introducing a hard dependency on nearby power outlets.

    This and subsequent boxes were painted using black acrylic paint to avoid the noxious gasses from spray paint.

    2022

    Christmas 2022 reused the same lighting setup and power dependency. This time, the lights were arranged to spell out the recipient’s name, shifting the focus further toward personalization and experience.

    2023

    My daughter was born in September this year, and documentation was limited. Aside from a video where the boxes are briefly visible in the top-right corner, little was recorded.

    However, this year marked an important technical shift: the removal of the hard dependency on mains power. This was achieved by mechanically blocking the AA batteries in a battery-powered light chain using a plastic piece tied to the box lid, enabling power only when the box was opened.

    2024

    In 2024, the scope expanded significantly. A total of eleven boxes were created, covering the entire extended family.

    A key constraint this year was portability. Most of the family would be gathering at a cabin, which meant the boxes needed to be robust, compact, and easy to transport.

    Ambition also increased. Each box included a sound module with a recorded greeting from our daughter, along with eight autonomous helicopter toys designed to deploy when triggered.

    The triggering mechanism used string-based activation and custom mounting, including modified aluminum cans that could theoretically be launched during activation.

    During testing, some flakiness was observed. However, because failure was non-critical to the experience, partial success still delivered a playful and engaging outcome.