DEV Community

Discussion on: 7 Microservices Best Practices for Developers

 
andreidascalu profile image
Andrei Dascalu

If you can tell me how to scale independent domains of a large monolith without breaking it into separate applications (micro or not) please share :)

Thread Thread
 
siy profile image
Sergiy Yevtushenko

Beside breaking monolith into a set of separate applications, there is another option - embed services consisting monolith into data grid node. It has most benefits of microservices along with a number benefits unique to this approach. And it avoids all downsides of microservices and monoliths.
With this approach there are several ways to scale:

  • nearlty linear horizontal scaling by adding more nodes to the grid
  • scaling computationally-intensive services by running more instances of services at different nodes
  • scaling by using "data affinity" - colocating related data at same nodes and performing procesing at these nodes (i.e. instead of fetching all data every time they're necessary, process data locally at nodes which hold the data). In addition there is possibility to maintain several data replicas, so processing can be scaled by adding more replicas.

So, yes, there are alternative approaches, but they are not hype. Perhaps because they don't feed cloud providers as good as microservices :)