Lock-in is the dirty little secret of public cloud computing. Cloud engineers have whispered it for years, but more and more people are speaking up now. Credit: Thinkstock I was impressed by this CIO article about 10 dark secrets of cloud by Peter Wayner (CIO is also part of IDG). You should read it for a few reasons. First, it’s not often that the press discusses the downsides of cloud computing—it’s always a bit of a media lovefest. I’m often taken aback by the lack of dissent in general, specifically when I get pushback for pointing out issues with cloud computing that should be understood by now. Second, the points made in the article are well thought out and reflect other posts I’ve done over the years on cloud topics such as performance, cost, and lock-in. Don’t get me wrong, cloud has very few issues. However, the issues it does have need to be understood prior to jumping in feet first. Let’s focus specifically on what Wayner says about lock in: “At first glance, selling a commodity operating system on commodity hardware should be a commodity business. But somehow the cloud world is surprisingly sticky. Even when your data or the services you create in the cloud are theoretically portable, simply moving all those bits from one company’s cloud to another seems to take quite a bit of time.” “Cloud native” is a popular rallying cry these days. The bad news? Cloud-native applications have built-in dependencies on their cloud hosts, such as databases, security, governance, ops tools, etc. It’s not rocket science to envision the day when a cloud-native application needs to move from one cloud to another. It won’t be easy. Yes, it’s possible to move the application, but the problems that arise because of cloud lock-in are much more real than the industry lets on. Most enterprises don’t discover the lock-in limitations until they move from one cloud to another. Move requirements typically arise due to cost and performance issues, another set of points Wayner makes in his article. With all that said, don’t use lock-in as a reason not to move to the public cloud. We’ve dealt with lock-in issues in the past, and on multiple platforms. This is no different. Lock-in is just another trade-off of cloud computing. As such, it needs to be understood and managed. Some people point to portable cloud applications that avoid lock-in. These typically involve a non-native, least-common-denominator approach to application development, where you avoid lock-in by avoiding native services altogether. They do provide better portability, but in general, they don’t work well everywhere they should. Containers are another approach to portability. I’m a big fan, but let’s acknowledge that containers require additional cost, effort, and risk to containerize applications. Plus there’s additional work when moving them from native cloud to native cloud. Does a magic answer to cloud lock-in exist? Not yet, and perhaps never. The good news/bad news is that we’ve faced insurmountable IT problems in the past and learned to work around them. It’s 2021, and we’ve been at cloud computing for well over 10 years. It’s time to look at the advantages and disadvantages of cloud lock-in and manage both. It’s also time to realize that the best solution won’t be perfect, but it can be the best imperfect solution that meets the enterprise’s most critical needs. Related content feature What is Rust? Safe, fast, and easy software development Unlike most programming languages, Rust doesn't make you choose between speed, safety, and ease of use. Find out how Rust delivers better code with fewer compromises, and a few downsides to consider before learning Rust. By Serdar Yegulalp Nov 20, 2024 11 mins Rust Programming Languages Software Development how-to Kotlin for Java developers: Classes and coroutines Kotlin was designed to bring more flexibility and flow to programming in the JVM. Here's an in-depth look at how Kotlin makes working with classes and objects easier and introduces coroutines to modernize concurrency. By Matthew Tyson Nov 20, 2024 9 mins Java Kotlin Programming Languages 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 news Microsoft unveils imaging APIs for Windows Copilot Runtime Generative AI-backed APIs will allow developers to build image super resolution, image segmentation, object erase, and OCR capabilities into Windows applications. By Paul Krill Nov 19, 2024 2 mins Generative AI APIs Development Libraries and Frameworks Resources Videos