In a monolithic system, you can more or less only scale “up”.
While I mostly agree, load balancers are a very simple, common way of scaling "out" monolith applications. At my job, we have a web app that gets 1 million+ hits per day. It's load balanced across 6 servers and can be scaled quite easily.
Very true, I'm not sure on all the terminology, but is it still a monolith if you're using multiple instances of it? Seems like there are multiple ways to break up a monolith if that's what you're dealing with; orleans and load balancing could both just be different methods of doing it no?
To me (and take this with a large grain of salt, still getting into the microservices arena), the difference between monoliths and microservices is separation and duplication. Each microservice is distinct in that it performs a single function and is separate from other services. A monolith performs all the actions.
For the case of the load balanced monolith, it's all the same application running the exact same code, just duplicated. The beauty of load balancing is that you can use the same application and get great performance across multiple machines.
Of course, that does come with the usual downsides of monolith, most importantly (to me) the inability to scale individual features of applications.
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
Great article! One comment though:
While I mostly agree, load balancers are a very simple, common way of scaling "out" monolith applications. At my job, we have a web app that gets 1 million+ hits per day. It's load balanced across 6 servers and can be scaled quite easily.
Thanks for introducing me to this tech!
Very true, I'm not sure on all the terminology, but is it still a monolith if you're using multiple instances of it? Seems like there are multiple ways to break up a monolith if that's what you're dealing with; orleans and load balancing could both just be different methods of doing it no?
To me (and take this with a large grain of salt, still getting into the microservices arena), the difference between monoliths and microservices is separation and duplication. Each microservice is distinct in that it performs a single function and is separate from other services. A monolith performs all the actions.
For the case of the load balanced monolith, it's all the same application running the exact same code, just duplicated. The beauty of load balancing is that you can use the same application and get great performance across multiple machines.
Of course, that does come with the usual downsides of monolith, most importantly (to me) the inability to scale individual features of applications.