We’ve been pushing cloud native in terms of refactoring applications that are moving to the cloud, but the reality is not black and white Credit: Thinkstock A common approach to application migration to the public clouds is to alter the applications to take advantage of cloud-native features. This means that the applications can speak with the native management systems, native security systems, and other native services. The alternative is lift-and-shift: doing as few modifications to the applications as you can get away with. This means avoiding cloud-native altogether, practically speaking. Best practices have been emerging around the binary approaches of either go all-in cloud native or don’t go native at all. The reality is that it’s not a binary decision, and the answer you’re seeking may operate across a spectrum. First, we know pragmatically that applications are created for different purposes to solve different business problems. We already understand that a one-size-fits-all approach to refactoring applications is just not realistic. I bet you already know this. Secondly, what enterprises typically don’t understand is how to pick the right refactoring approach for the applications, considering their purposes. This is typically where those migrating applications go off the rails. The mistake I see most often is that people opt for a generic approach. Without looking at the application’s functionality they have decided that all of the applications need native security and encryption, but don’t need to leverage native management services or emerging features such as serverless, AI, or machine learning. This is done for convenience. It’s just easier to tell developers to consistently use specific features and leave others behind. You can get away with fewer skills in-house, fewer tools, and thus lower dev costs. However, about 75 percent of your applications won’t be optimized for the public clouds they are migrating to. This lack of optimization is not apparent, by the way. It takes special analysis to identify these inefficiencies, understand the costs, and make recommendations to become something close to 100 percent efficient (you’ll never be at 100 percent). Balance the requirements of the applications with the ability to leverage the correct mix of cloud-native services. This lowers ops costs and significantly increases the value of the applications to the business. The reality here is that applications are not to be treated the same when moving to the cloud. Some will want cloud-native everything; others nothing. Moreover, there are no hard-and-fast rules when it comes to doing what when. Each application must be understood in terms of what cloud-native services fit the exact needs of the applications. Shades of gray, I’m afraid. 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