Simo Roikonen
banner
roikonen.bsky.social
Simo Roikonen
@roikonen.bsky.social
Complex Domains ↣ Evolvable Backends ↣ Low Latency at Any Scale
#ScalableModeling
Pinned
After 10 years in software #Scalability & #DistributedSystems, I'm celebrating by gathering what I’ve learned into a webpage on a modeling technique for scalable systems — called #ScalableModeling 🤓. Hope it helps!
roikonen.github.io/scalablemode...
#CQRS #EventSourcing #DDD #EventStorming
I have a tendency to rush toward implementation because it feels like progress.

By default, my brain seems to reward resolution more than accuracy.

But clarity without correctness is false progress.

At least in my case, good outcomes require tolerating ambiguity longer than feels comfortable.
January 6, 2026 at 11:12 AM
Morning-shower-thinking: Problems are socially constructed, solutions are technologically mediated, and both are locked in a continuous feedback loop that reshapes society itself.
January 2, 2026 at 6:27 AM
Episode 4 of Scalable Modeling is live and it’s the final one.

We turn the conceptual and spatial models into running code and show how Santa’s wish management system is implemented directly from the model.

🎥 youtu.be/EhCwwz6EAyI

💻 github.com/roikonen/wis...

Happy holidays 🎄✨
Scalable Modeling: Implementing Growth-ready Systems
YouTube video by Scalable Modeling
youtu.be
December 19, 2025 at 1:05 PM
Episode 3 of Scalable Modeling is live.

We convert the temporal model into a spatial model and define where state lives and how parts connect. Episode 4 will convert this model into an actual implementation.

Watch: youtu.be/bRsY08pnb6U
Scalable Modeling: How to do spatial modeling?
YouTube video by Scalable Modeling
youtu.be
December 16, 2025 at 6:06 AM
Episode 2 of Scalable Modeling is live.

We build the temporal model and map how the system behaves over time which sets the stage for spatial modeling in the next episode.

Watch: youtu.be/kC0KmjRq0yk
youtu.be
December 9, 2025 at 6:03 AM
Our first Scalable Modeling video podcast episode is live.

I sat down with Jose Hidalgo to talk about the background of the approach, the problems it solves and the role of events in building systems that stay scalable and evolvable.

Watch it here: youtu.be/gLB4ghyie24
Scalable Modeling: Why & What?
YouTube video by Scalable Modeling
youtu.be
December 2, 2025 at 6:12 AM
The Integrity Chain: Guardians of Distributed Systems
roikonen.github.io/scalablemode...
September 14, 2025 at 12:22 PM
There’s a fallacy called Object Bias: the fixation on individual things at the expense of actions and the larger context. Rather than merely editing objects, one should attend to actions and meaningful corrections. The key question is: By concentrating on the object, what system am I ignoring?
September 12, 2025 at 7:31 AM
Understanding the domain is the first step in solving a problem.
August 29, 2025 at 11:25 AM
Isn't it fascinating that by storing past events, we can prepare for the future?

History isn’t just a record — it’s how we learn and adapt. The same applies to #EventSourcing: instead of just storing the final state, we capture every change — like a time machine for data, future-proofing systems.
March 7, 2025 at 1:18 PM
Relational databases are like crime scenes where detectives must reconstruct the past, guessing how we ended up here and why things are the way they are, as traces are lost.

#EventSourcing, on the other hand, records every meaningful change, like a case file, preparing you for unknown future needs.
February 21, 2025 at 12:58 PM
The #ScalableModeling approach now covers new section: "Implementing Logic", bridging "sticky notes" (🟪🟩) to scalable, tech-agnostic functions.

🟩 Command Models
🟪 Command & Event Handlers
🟪 Gatekeepers

Stateless functions for clear, structured business logic.

roikonen.github.io/scalablemode...
February 14, 2025 at 6:10 PM
To build software for complex domains sustainably and efficiently, empower delivery teams to master sub-domains, allowing team members to grow into product engineers.
February 7, 2025 at 1:36 PM
When organizing teams to build scalable software, team structure should align with the architecture — not just with product needs. This ensures that essential cross-cutting concerns are treated as foundational capabilities, not afterthoughts.
February 2, 2025 at 8:44 AM
Transitioning from monolith to services isn’t just about breaking things apart—it’s about rethinking how data flows and evolves. Distributed systems require event-centrism, shifting from request-driven models to data movement. Shift can be challenging but is essential for scalability and resilience.
February 1, 2025 at 4:39 PM
Unlike #CQRS, in #CEQS model separation (command vs. query) isn't strictly enforced from day one. Immutable streams of private events facilitate this separation on-demand later (increased complexity, scalability, usability). Model separation isn't always needed. #ScalableModeling #EDA #EventCentric
January 18, 2025 at 6:45 AM
Core domains in modern scalable operational systems should embrace business/domain events over Change Data Capture (CDC). Domain-Driven Design and Event-Driven Architecture pave the way for creating future-proof systems.
#DDDesign #EventCentric #EventDriven #EDA #EventSourcing #ScalableModeling
From CRUD to Real-Time Analytics: Why Business Events Matter
Many operational systems (e.g. SaaS platforms and transactional systems) are built around CRUD operations and batch processing, but these…
medium.com
January 10, 2025 at 6:34 AM

Spatial thinking with #microservices breaks when considering:
⏱️ 𝗧𝗶𝗺𝗲: Services evolve as they react.
🌊 𝗧𝘂𝗿𝗯𝘂𝗹𝗲𝗻𝗰𝗲: Networks lose messages.

𝗦𝗲𝗿𝘃𝗶𝗰𝗲𝘀 𝗮𝗰𝘁 𝗶𝗻 𝘁𝗶𝗺𝗲, evolving as they work.
𝗠𝗲𝘀𝘀𝗮𝗴𝗲𝘀 𝗮𝗰𝘁 𝗶𝗻 𝘀𝗽𝗮𝗰𝗲, moving between services.

Focus on message flow over service placement.
#ScalableModeling
December 14, 2024 at 7:41 AM
In #ScalableModeling, the Command and Query models share the same green color because, in #EventCentric thinking, they both are just different projections of same events. Their consistency models do usually differ, but even that’s not always the case.
December 3, 2024 at 5:22 AM
"𝙄𝙩'𝙨 𝙙𝙚𝙫𝙚𝙡𝙤𝙥𝙚𝙧 (𝙢𝙞𝙨)𝙪𝙣𝙙𝙚𝙧𝙨𝙩𝙖𝙣𝙙𝙞𝙣𝙜 𝙩𝙝𝙖𝙩 𝙜𝙚𝙩𝙨 𝙧𝙚𝙡𝙚𝙖𝙨𝙚𝙙, 𝙣𝙤𝙩 𝙩𝙝𝙚 𝙚𝙭𝙥𝙚𝙧𝙩𝙨' 𝙠𝙣𝙤𝙬𝙡𝙚𝙙𝙜𝙚."
— 𝘈𝘭𝘣𝘦𝘳𝘵𝘰 𝘉𝘳𝘢𝘯𝘥𝘰𝘭𝘪𝘯𝘪
Understanding the domain is crucial for an accurate model. Event-centrism aids domain discovery, and event immutability is key to #ScalableModeling.
#DDD #EventStorming @avanscoperta.bsky.social
November 25, 2024 at 5:15 AM
Scalability Challenge 3/3: Time Travel ⏱️
In #DistributedSystems, data often appears at different points in time due to inevitable consistency delays. To manage this ‘time travel’ effect and maintain system integrity, versioning and clear cause-effect flows are essential. #ScalableModeling
November 22, 2024 at 5:11 AM
Scalability challenge 2/3: Tailoring Consistency ✂️ Strong consistency is the wrong default. Tailoring consistency helps optimize performance without compromising integrity. #DistributedSystems #Scalability #EventSourcing #EventCentric #ScalableModeling
November 20, 2024 at 5:07 AM
Scalability challenge 1/3: Deduplication 👯‍♂️ Exactly-once delivery is unachievable in distributed systems, so we rely on effectively-once or idempotent processing to ensure duplicate messages don’t affect outcomes. #DistributedSystems #Scalability #ScalableModeling
November 18, 2024 at 5:21 AM
Querying the command model in #CQRS is often debated. While it’s not designed for querying, limited reads can be useful — e.g. in clustered, in-memory models (Akka-style) for quick state access post-update. Still, querying should be rare and justified. #ScalableModeling
November 15, 2024 at 5:43 AM