Now is a good time to look at microservices, and if they're overused or underused Credit: Thinkstock According to a recent O’Reilly radar survey on the growth of cloud computing, one of the more interesting metrics stated that 52 percent of the 1,283 responses say they use microservices concepts, tools, or methods for software development. Of these, a large minority (more than 28 percent) have used microservices for more than three years. This was the second-largest cluster among users of microservices. The largest group, at more than 55 percent, has been using microservices between one and three years. Moreover, just 17 percent of users are new to microservices, with less than one year of adoption and use. O’Reilly also points out some evidence that interest in microservices might be at or close to peaking. Also, noted decomposition of service frameworks—at least to the degree of granularity prescribed in microservices architecture—is proving to be more difficult than anticipated. The use of microservices is really a natural progression of service orientation and the use of cloud-based systems. The ability to decompose course-grained services to microservices is just a good idea. You’ll have more services that have more uses, such as an update inventory course-grained service that can be broken apart to read existing inventory data, modify existing inventory data to updated inventory data, validate updated inventory data, and write updated inventory data to storage. Once this macro service is broken down into four microservices, you can use them within this macro service. Or you can reuse them in other macro services and composite applications (forgive the overly simplified example). The objective is to write a microservice once and use it many times. You’ll be better off writing microservices in ways that make them more generic and general purpose, applicable within many different usage patterns (unlike the examples above that are not generic, focusing just on inventory data). This, however, is where the difficulty comes. At the essence of leveraging microservices effectively is the ability to set up service decomposition frameworks where the maximum number of microservices are reused. This skill, however, has been difficult for most application architects to develop. I’ve spent a good part of my time in the past several years pushing through microservices-enabled application designs and finding that most of them don’t have the necessary planning to fully take advantage of microservices. I’ve seen a hodgepodge of fine-grained services that are written once and leveraged once, missing the core benefit of what microservices are for: the reuse of hardened and tested small services. As the survey points out, we’re finding that the proper decomposition of services to microservices—and service orientation in general—is a bridge too far for most application designers. The only resolution is to get some training, understanding that this is more art than science. Perhaps then we can push past the stall. Related content analysis Generative AI won’t fix cloud migration You’ve probably heard how generative AI will solve all cloud migration problems. It’s not that simple. Generative AI could actually make it harder and more costly. By David Linthicum Jul 12, 2024 5 mins Generative AI Artificial Intelligence Cloud Computing analysis All the brilliance of AI on minimalist platforms Buy all the processing and storage you can or go with a minimum viable platform? AI developers and designers are dividing into two camps. By David Linthicum Jul 09, 2024 5 mins Generative AI Cloud Architecture Artificial Intelligence analysis The next 10 years for cloud computing Despite AI's explosive growth, the industry still needs to face facts that customers are unhappy about costs and vendor lock-in. By David Linthicum Jul 05, 2024 5 mins Amazon Web Services Google Cloud Platform Microsoft Azure analysis Serverless cloud technology fades away Serverless was a big deal for a hot minute, but now it seems old-fashioned, even though its basic elements, agility and scalability, are still relevant. By David Linthicum Jul 02, 2024 4 mins Serverless Computing Cloud Computing Software Development Resources Videos