We’ve learned to take services for granted, but they are actually more important than most cloud architects think Credit: Thinkstock Services are really old school if you think about it. We’ve progressed from early efforts around API-enabling applications, to object-oriented programming, to CORBA-based services, to SOA, to containers, to serverless functions, to today’s use of microservices. What’s common about the journey is the underlying belief that we can write something once and use it many times in many different applications or utilities, not to mention the ability to combine services so they become a new service unto itself. This is done through service decomposition. The word “service” is overused today; in the cloud computing world it describes anything that is exposed by a public cloud provider, such as storage, compute, database, etc. Services, at least the way I understand them, are the capability of exposing both behavior and data bound to that behavior in ways that allow developers to be more productive. For example, a service might be built to do predictive analytics on any type of data set passed to it. Thus, it could be invoked from an inventory management application or a sales order entry system. If the service is changed or improved, then both of those applications benefit. Also, by changing a single service, you change the way you do predictive analytics, without having to cull through the code of a hundred or so applications to fix or improve that feature. You place volatility into a domain, which is fundamental to good architecture. Now the bad news. Lift and shift is the enemy of service orientation, as well as of cloud-native features. Moving applications to the cloud as fast as you can without regard for service enablement is a bad idea. Unfortunately, this is also the most popular way to migrate to the cloud, by far. You lose out on three things taking this route. First, the inability to reuse services, and the productivity that services can bring. Second, you can’t mix application services with cloud-native services, such as advanced security and performance management. Third, you miss the opportunity to take advantage of an advanced architecture that should increase productivity, typically by a factor of two. If you’re spending $100 million a year on maintenance development, you’ll likely get that down to $50 million a year by leveraging services properly. So, why are enterprises not all-in on service orientation if the downsides are so unfavorable? Budget, of course. Refactoring applications to take advantage of cloud-native and application services pretty much triples migration costs. I can see why many enterprises have bypassed the wide use of services in favor of something that’s faster and cheaper. Understanding the trade-offs, perhaps it’s time to pursue at least a hybrid strategy of refactoring some applications for the use of services, but not all. If I see refactoring taking place for service enablement, organizations are typically using this approach. I’m not preaching a service-oriented sermon, just offering an idea worth considering. 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