Sign in

Simo Roikonen

@roikonen.bsky.social
79 followers 93 following 33 posts

Complex Domains ↣ Evolvable Backends ↣ Low Latency at Any Scale #ScalableModeling

PostsRepliesMedia
Simo Roikonen @roikonen.bsky.social · 02/01/2026
Morning-shower-thinking: Problems are socially constructed, solutions are technologically mediated, and both are locked in a continuous feedback loop that reshapes society itself.
020 2
Simo Roikonen @roikonen.bsky.social · 14/09/2025
The Integrity Chain: Guardians of Distributed Systems roikonen.github.io/scalablemode...
000 0
Simo Roikonen @roikonen.bsky.social · 29/08/2025
Understanding the domain is the first step in solving a problem.
020 2
Simo Roikonen @roikonen.bsky.social · 14/02/2025
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...
000 0
Simo Roikonen @roikonen.bsky.social · 02/02/2025
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.
120 2
Simo Roikonen @roikonen.bsky.social · 18/01/2025
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
010 1
Simo Roikonen @roikonen.bsky.social · 14/12/2024
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
000 0
Simo Roikonen @roikonen.bsky.social · 03/12/2024
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.
000 0
Simo Roikonen @roikonen.bsky.social · 25/11/2024
"𝙄𝙩'𝙨 𝙙𝙚𝙫𝙚𝙡𝙤𝙥𝙚𝙧 (𝙢𝙞𝙨)𝙪𝙣𝙙𝙚𝙧𝙨𝙩𝙖𝙣𝙙𝙞𝙣𝙜 𝙩𝙝𝙖𝙩 𝙜𝙚𝙩𝙨 𝙧𝙚𝙡𝙚𝙖𝙨𝙚𝙙, 𝙣𝙤𝙩 𝙩𝙝𝙚 𝙚𝙭𝙥𝙚𝙧𝙩𝙨' 𝙠𝙣𝙤𝙬𝙡𝙚𝙙𝙜𝙚." — 𝘈𝘭𝘣𝘦𝘳𝘵𝘰 𝘉𝘳𝘢𝘯𝘥𝘰𝘭𝘪𝘯𝘪 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
054 5
Simo Roikonen @roikonen.bsky.social · 22/11/2024
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
010 1
Simo Roikonen @roikonen.bsky.social · 20/11/2024
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
000 0
Simo Roikonen @roikonen.bsky.social · 18/11/2024
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
000 0
Simo Roikonen @roikonen.bsky.social · 15/11/2024
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
010 1
Simo Roikonen @roikonen.bsky.social · 13/11/2024
The 𝘁𝗵𝗿𝗲𝗲 𝗱𝗶𝗺𝗲𝗻𝘀𝗶𝗼𝗻𝘀 𝘁𝗼 𝘀𝗰𝗮𝗹𝗮𝗯𝗶𝗹𝗶𝘁𝘆 via AKF Scale Cube: 1️⃣ 𝗗𝗲𝗰𝗼𝗺𝗽𝗼𝘀𝗶𝘁𝗶𝗼𝗻: Scale by splitting different things. 2️⃣ 𝗗𝘂𝗽𝗹𝗶𝗰𝗮𝘁𝗶𝗼𝗻: Scale by cloning data or instances. 3️⃣ 𝗣𝗮𝗿𝘁𝗶𝘁𝗶𝗼𝗻𝗶𝗻𝗴: Scale by splitting similar things into many partitions. #ScalableModeling helps you to reach all of the three dimensions.
010 1
Simo Roikonen @roikonen.bsky.social · 11/11/2024
Core components of #ScalableModeling: 💬 𝗖𝗼𝗺𝗺𝗮𝗻𝗱: Initiates actions 🟩 𝗖𝗼𝗺𝗺𝗮𝗻𝗱 𝗠𝗼𝗱𝗲𝗹: Validates commands 🟧 𝗣𝗿𝗶𝘃𝗮𝘁𝗲 𝗘𝘃𝗲𝗻𝘁: Captures internal changes 🟩 𝗤𝘂𝗲𝗿𝘆 𝗠𝗼𝗱𝗲𝗹: Optimizes data retrieval 👀 𝗤𝘂𝗲𝗿𝘆: Requests information 🟪 𝗣𝗼𝗹𝗶𝗰𝘆: Defines business rules 🟥 𝗣𝘂𝗯𝗹𝗶𝗰 𝗘𝘃𝗲𝗻𝘁: Communicates changes externally
120 2
Simo Roikonen @roikonen.bsky.social · 08/11/2024
𝗦𝗼𝗳𝘁𝘄𝗮𝗿𝗲 𝗶𝘀 𝘂𝗹𝘁𝗶𝗺𝗮𝘁𝗲𝗹𝘆 𝗮 𝗺𝗼𝗱𝗲𝗹 — a conceptual solution that, while invisible, solves real-world challenges. In software engineering, the key steps are: 𝗪𝗛𝗬: Understand the purpose 𝗪𝗛𝗔𝗧: Design the conceptual model 𝗛𝗢𝗪: Implement the solution #ScalableModeling bridges WHY to HOW, with 𝗳𝗼𝗰𝘂𝘀 𝗼𝗻 𝗪𝗛𝗔𝗧.
000 0
Simo Roikonen @roikonen.bsky.social · 06/11/2024
“Doing the 𝘄𝗿𝗼𝗻𝗴 𝘁𝗵𝗶𝗻𝗴 𝗿𝗶𝗴𝗵𝘁 is not nearly as good as doing the 𝗿𝗶𝗴𝗵𝘁 𝘁𝗵𝗶𝗻𝗴 𝘄𝗿𝗼𝗻𝗴.” 𝘙𝘶𝘴𝘴𝘦𝘭𝘭 𝘓. 𝘈𝘤𝘬𝘰𝘧𝘧 We often focus more on 𝗛𝗢𝗪 (to implement) than 𝗪𝗛𝗬 and 𝗪𝗛𝗔𝗧. For long-term velocity and quality, we need to shift focus left. #ScalableModeling bridges WHY to HOW, with 𝗲𝗺𝗽𝗵𝗮𝘀𝗶𝘀 𝗼𝗻 𝗪𝗛𝗔𝗧.
000 0
Simo Roikonen @roikonen.bsky.social · 02/11/2024
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
060 6