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 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 analysis Understanding Hyperlight, Microsoft’s minimal VM manager Microsoft is making its Rust-based, functions-focused VM tool available on Azure at last, ready to help event-driven applications at scale. By Simon Bisson Nov 14, 2024 8 mins Microsoft Azure Rust Serverless Computing how-to Docker tutorial: Get started with Docker volumes Learn the ins, outs, and limits of Docker's native technology for integrating containers with local file systems. By Serdar Yegulalp Nov 13, 2024 8 mins Devops Cloud Computing Software Development news Red Hat OpenShift AI unveils model registry, data drift detection Cloud-based AI and machine learning platform also adds support for Nvidia NIM, AMD GPUs, the vLLM runtime for KServe, KServe Modelcars, and LoRA fine-tuning. By Paul Krill Nov 12, 2024 3 mins Generative AI PaaS Artificial Intelligence Resources Videos