Thep Urai - Fotolia
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
What's the difference between synchronous, asynchronous and hybrid communication for microservices? Follow the examples below to establish how ... Continue Reading
How do you move a set of REST resources to microservices? One way is to use an API gateway. Follow this example to learn how migrate to ... Continue Reading
Microservice-oriented architecture has its benefits, but it comes with some drawbacks as well, such as data translation and debugging. Let's go over ... Continue Reading