DEV Community

Discussion on: What's your most up-to-date opinion on "monolith vs microservices"?

Collapse
 
khrome83 profile image
Zane Milakovic

I am not sure it’s just a choice between those two anymore. I feel it’s getting more blurry, and you have to include managed services.

The thing I have come to realize about micro services, is that most companies don’t actually seem to do a true microservice.

As I understand it, the microservice is suppose to be completely encapsulated. So more often than not, shared elements like legacy service, databases, etc get used between them. Now what you have is scalable architecture that still relies on mission critical resources that are not.

If you hosted an endpoint in a AWS lambda, you could have that scale to the cap of 1000 lambda instances being hot. But if they all connect to the same MySQL instance, your not really getting the benefit or the point.

I think the future is really just moving to managed services that scale. Cosmos SB, EdgeDb, and Fauna DB are available globally and scale for example. So it makes sense to put a globally deployed lambda in front of them instead of a single instance of MySQL in east-1.

I think monolith fell out of favor for a hot minute because of the scaling issue and dev experience. But I run monolith apps that horizontally scale. And it’s hard to say Rails is that bad dev experience.

The monoliths I want to avoid are those enterprise solutions from Oracle, IBM, and Adobe. Or ones that can’t scale due to session control, Li motions on databases, mainframes.

I do think JAMStack is going to be a large part of the future. If anything, because it moves more code to the edge of the cloud, and offers a level of stability and scale.