Yet some companies, as well as startups used to design their infrastructures in a monolith menner. The reason for this was a need for faster deployments and absence of extra time for implementing best practices - they wanted their business to grow faster, to move further. We can't blame them for this.
That's why the tendency says - most companies nowadays refuse from monolithic architectures in favor of microservices and no wonder! A microservices architecture offers great opportunities for organizations of any size and even enterprises, with a tech stack chock full of a bit outdated technologies, gradually "break" monoliths and transform the architectures. Startups consider microservice consulting services to build architecture from scratch to operate as Netflix does it.
However, there is other side of the coin - not every application fits the principles of microservices architecture, no matter how complex it is. Any decision towards any technology bears not only advantages, but some risks and inconveniences.
In this article we look upon the microservices and use cases, its benefits and disadvantages.
Anyway, they all are facing the same problems - monolith systems are extremely inflexible and don't allow to rebuild or refactor the units quickly, without big impact on end-users and business itself. Another fat problem, after a while, is growth (!) - the code becomes more complicated, the documentation is more confusing, and it becomes more difficult to maintain and manage the infrastructure. More often than not, companies would need more human resources to cope with it.