The justification for implementing a microservices-based architecture is a matter of cost and benefit.
Microservices can be expensive to implement. At the very least, you need to have personnel on hand with the expertise and experience to do the work. Without it, the alternative is to get an outside party to help.
The actual per-hour labor cost of a move to microservices can be quite high, regardless of whether it’s handled by staff or a contractor. Remember, this is not the type of work that can be done by junior-level developers.
In addition to labor, there are infrastructure costs. A microservices architecture needs comprehensive CI/CD infrastructure in place in order to work effectively. If CI/CD is not in place, you need to construct it. This includes automated source code management, deployment pipelines, testing and project management capabilities.
If the intended microservice is currently deployed as part of a monolith, there is the added cost of the transfer from monolith to microservices. It’s rarely a matter of simply flicking a switch to turn the microservices on and the monolith off. Not only is there the cost of the monolith team and the microservices team working in tandem to do the implementation, but the monolith team still needs to support the existing application.
If you need to support daily, if not hourly, revision cycles, then microservices-based architecture is beneficial. It’s also useful if you need to support a large number of end users and external services. However, if you can successfully support fewer than 50,000 users and can live with longer revision cycles, then the benefits of a move to microservices might not outweigh the cost of implementation.
Dig Deeper on Java web services and SOA
Related Q&A from Bob Reselman
Some DevOps professionals shun industry certifications. But in the cloud-native world, Docker and Kubernetes certifications make prospective job …
To succeed in cloud native development, developers need to know their way around Kubernetes and Docker. Here are the basics on these two container …
How are Kubernetes and Rancher related? Here are the basics developers need to know about Kubernetes and Rancher and how they can ultimately work …