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 Azure AI Foundry tools for changes in AI applications Microsoft’s launch of Azure AI Foundry at Ignite 2024 signals a welcome shift from chatbots to agents and to using AI for business process automation. By Simon Bisson Nov 20, 2024 7 mins Microsoft Azure Generative AI Development Tools analysis Succeeding with observability in the cloud Cloud observability practices are complex—just like the cloud deployments they seek to understand. The insights observability offers make it a challenge worth tackling. By David Linthicum Nov 19, 2024 5 mins Cloud Management Cloud Computing news Akka distributed computing platform adds Java SDK Akka enables development of applications that are primarily event-driven, deployable on Akka’s serverless platform or on AWS, Azure, or GCP cloud instances. By Paul Krill Nov 18, 2024 2 mins Java Scala Serverless Computing analysis Strategies to navigate the pitfalls of cloud costs Cloud providers waste a lot of their customers’ cloud dollars, but enterprises can take action. By David Linthicum Nov 15, 2024 6 mins Cloud Architecture Cloud Management Cloud Computing Resources Videos