Microservices and microservice-oriented architecture (MOA) have a lot to offer businesses that want to create robust, flexible enterprise applications at web scale. As Jim Tyrrell explains, microservices are useful for "reining in complexity, making systems as simple as possible, doing things consistently, leveraging standards, and modernizing our systems."
These advantages explain why microservices and MOA continue to grow in popularity. In early 2020, 61% of the 1,502 respondents in an O'Reilly study said they'd been using microservices for a year or more, and 28% had used microservices for at least three years. Also, 29% of the respondents said at least 50% of their existing or new systems use microservices.
[ For more on microservices, download the eBook Kubernetes-native microservices with Quarkus and MicroProfile. ]
Market research reported by Global Banking and Finance Review forecasts the microservice architecture market will grow at a compound annual growth rate (CAGR) of 18.6% from 2021 to 2027. If you were to invest US$ 1,000 in a fund that had an 18.6% CAGR, the value of your investment would be US$ 2,783 at the end of seven years. A growth rate of nearly three times is more than significant—it's dramatic!
However, as attractive as microservices can be, the technology is not something you can use on a whim. Using microservices at the enterprise level is complex and detail-laden. Thus, understanding and preparation are key considerations for a successful MOA implementation.
If you're on this journey, you might be interested in three articles I wrote recently for the Red Hat Developer blog that discuss various aspects of working with microservices:
- 5 design principles for microservices covers some essential concepts and thinking appropriate when considering implementing an MOA.
- From monolith to microservices: How applications evolve describes ways to transform a monolithic application into an MOA.
- The disadvantages of microservices looks at situations where using an MOA is not the best way to implement enterprise architecture. While using an MOA is useful in many situations, there are some situations where they are not appropriate. This article discusses the tradeoffs.
Making wise architectural decisions about MOA requires having good information about the nature and use of microservices. Learning what MOAs are, when to use them, and (just as importantly) when not to use them is a worthwhile investment of time that will yield significant results.