Simo Roikonen
@roikonen.bsky.social
๐ค 78
๐ฅ 93
๐ 27
Complex Domains โฃ Evolvable Backends โฃ Low Latency at Any Scale
#ScalableModeling
pinned post!
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
12 months ago
0
8
0
The Integrity Chain: Guardians of Distributed Systems
roikonen.github.io/scalablemode...
about 1 month ago
0
0
0
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?
about 1 month ago
0
0
0
Understanding the domain is the first step in solving a problem.
about 2 months ago
0
2
0
How to stop paying for features nobody uses?
roikonen.github.io/scalablemode...
#dddesign
#eventstorming
loading . . .
How to Stop Paying for Features Nobody Uses - Scalable Modeling
Modeling technique for designing scalable systems. Any system aiming for growth should be designed with scalability in mind, as early consideration of scalability is often essential for long-term su...
https://roikonen.github.io/scalablemodeling/blog/2025/08/08/how-to-stop-paying-for-features-nobody-uses/
2 months ago
0
0
0
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.
7 months ago
1
1
0
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.
8 months ago
1
2
0
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...
8 months ago
0
0
0
To build software for complex domains sustainably and efficiently, empower delivery teams to master sub-domains, allowing team members to grow into product engineers.
8 months ago
0
1
0
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.
9 months ago
1
2
0
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.
9 months ago
0
2
0
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
9 months ago
0
1
0
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
loading . . .
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โฆ
https://medium.com/@roikonen/from-crud-to-real-time-analytics-why-business-events-matter-08c024526157
9 months ago
0
2
0
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
loading . . .
10 months ago
0
0
0
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.
11 months ago
0
0
0
"๐๐ฉ'๐จ ๐๐๐ซ๐๐ก๐ค๐ฅ๐๐ง (๐ข๐๐จ)๐ช๐ฃ๐๐๐ง๐จ๐ฉ๐๐ฃ๐๐๐ฃ๐ ๐ฉ๐๐๐ฉ ๐๐๐ฉ๐จ ๐ง๐๐ก๐๐๐จ๐๐, ๐ฃ๐ค๐ฉ ๐ฉ๐๐ ๐๐ญ๐ฅ๐๐ง๐ฉ๐จ' ๐ ๐ฃ๐ค๐ฌ๐ก๐๐๐๐." โ ๐๐ญ๐ฃ๐ฆ๐ณ๐ต๐ฐ ๐๐ณ๐ข๐ฏ๐ฅ๐ฐ๐ญ๐ช๐ฏ๐ช 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
11 months ago
0
5
4
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
11 months ago
0
1
0
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
11 months ago
0
0
0
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
11 months ago
0
1
0
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
11 months ago
0
1
0
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.
11 months ago
0
1
0
Core components of
#ScalableModeling
: ๐ฌ ๐๐ผ๐บ๐บ๐ฎ๐ป๐ฑ: Initiates actions ๐ฉ ๐๐ผ๐บ๐บ๐ฎ๐ป๐ฑ ๐ ๐ผ๐ฑ๐ฒ๐น: Validates commands ๐ง ๐ฃ๐ฟ๐ถ๐๐ฎ๐๐ฒ ๐๐๐ฒ๐ป๐: Captures internal changes ๐ฉ ๐ค๐๐ฒ๐ฟ๐ ๐ ๐ผ๐ฑ๐ฒ๐น: Optimizes data retrieval ๐ ๐ค๐๐ฒ๐ฟ๐: Requests information ๐ช ๐ฃ๐ผ๐น๐ถ๐ฐ๐: Defines business rules ๐ฅ ๐ฃ๐๐ฏ๐น๐ถ๐ฐ ๐๐๐ฒ๐ป๐: Communicates changes externally
11 months ago
1
2
0
๐ฆ๐ผ๐ณ๐๐๐ฎ๐ฟ๐ฒ ๐ถ๐ ๐๐น๐๐ถ๐บ๐ฎ๐๐ฒ๐น๐ ๐ฎ ๐บ๐ผ๐ฑ๐ฒ๐น โ 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 ๐ณ๐ผ๐ฐ๐๐ ๐ผ๐ป ๐ช๐๐๐ง.
11 months ago
0
0
0
โ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 ๐ฒ๐บ๐ฝ๐ต๐ฎ๐๐ถ๐ ๐ผ๐ป ๐ช๐๐๐ง.
11 months ago
0
0
0
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
12 months ago
0
8
0
you reached the end!!
feeds!
log in