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 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