Micromonoliths: scaling via sharding - part II

Micromonoliths: scaling via sharding - part II

In this post you'll find: how sharding can work (well) together with CQRS, what tricks can be used for re-partitiong data in live instances (w/o downtime) and why it's OK to use domain-related data in routing on API gateway This is the 2nd post in the series. The first post can be found here. Real life, hello? Let's consider 4 sample scenarios: SaaS HR system - used by various client-companies for their internal operations On-line marketplace - hundreds of vendors, hundreds of thousands of buyers Live-traffic map - geospatial data is collected from vehicles, anyone can watch (regardless of…

Read More

Micromonoliths: scaling via sharding - part I

Micromonoliths: scaling via sharding - part I

In this post you'll find: micro-monolith neo-evangelism :), great (video) example of premature system distribution hitting the fan ..., demystifying of microservice independence myth and what are X-centric systems. I hate blog posts, books or conf talks that focus on criticising only - it's far easier to b*tch on something than propose an actual solution to non-trivial problems. That's why after my recent post (on why microservices may not be an optimal answer to all of your growth problems), I'd like to re-visit an architectural pattern almost as old as Computer Science in general, in fact, a very under-appreciated one ... Sharding.…

Read More

Leviathans won't dance salsa

Leviathans won't dance salsa

It just won't, regardless of how hard you try to force him to do it. Nevertheless some still keep trying & IT seems to excel in that idea. Yes, that's another post about scaling in IT, but this time I'm not going to write about overgrown projects (I already did it here), but about overgrown products. The quest Companies spend zillions of local dibs on never-ending unifications, migrations, mergers, consolidations - the goal is to have: one, huge, universal (hell-of-a-)system instead of many one skill-set instead of many one, integrated data perspective on whole business etc. Grow, Grow, Grow.…

Read More

The shortest scalability consideration ever.

I had a lot of scalability talks this week - vast majority of them were related to one huge piece of legacy application that’s about being heavily modernized (don’t ask about details, you really don’t wanna know). The most interesting thing about this app is that after the modernization it’s supposed to run on a different platform (than it was initially running on). The problem with the original platform (one of few) is that it’s not out-scalable (in other words - horizontally scalable) at all - one of the most…

Read More