Subscribe

How to avoid the trap of cloud lock-in


Johannesburg, 10 Mar 2021
Karl Fischer, Automation Lead, Obsidian Systems.
Karl Fischer, Automation Lead, Obsidian Systems.

Very few of us enjoyed the lockdown periods of the pandemic. It limited our movement and choices, created uncertainty about what's going on, and caused problems for the future. At least, though, those lockdowns served a purpose. The same can't be said for technology lock-in, which creates the same problems. And yet we do it to our digital investments all the time!

Lock-in is not a healthy model. A company can lock in customers by making parts of service so proprietary that moving elsewhere becomes a very disruptive and expensive choice. It's essentially an artificial inconvenience. It may inspire feelings of elitism among some customers, especially with consumer brands, but it's not a situation business customers appreciate.

The practice leads to at least two major consequences. It dampens emphasis on good customer services and reducing churn, since customers are now just shy of being product hostages, and it limits agility and innovation. From car spares to phone apps, lock-in tends to favour the supplier, not the customer. Technologists know lock-in is a constant risk that results in supporting legacy systems and spending more on keeping the lights on.

Perhaps worse, lock-in creates stagnation inside the customer's environment, says Karl Fischer, Automation Lead at Obsidian Systems: "If you're locked into a specific way of doing things, you can get stuck there. So, even if there is a better or cheaper choice, or new skills worth having, or some other way you can improve how you do things, lock-in tends to limit what you can invest in new ideas. And it gets worse over time."

The great cloud lock-in

Cloud solutions were meant to be the end of lock-in for IT estates. Instead of buying servers to sweat, you can spin up compute capacity on an elastic cloud. Rather than licensing expensive software, you can deploy on-demand applications from cloud platforms. And, indeed, in one aspect, the cloud is getting rid of lock-in.

"The cloud is a good way to get around legacy lock-in," says Fischer. "You can replicate a server's specs into a virtual machine and then run that legacy environment inside the cloud."

But while we are solving legacy lock-in with the cloud, cloud platforms themselves are establishing new lines of proprietary systems. Cloud platforms increasingly use proprietary coding languages and libraries to enable features. For example, a script that creates virtual machines on one major cloud provider won't necessarily work on another. You can assume it won't because different cloud platforms operate in unique ways. The philosophies behind Azure's services and codings are different from those of AWS, GCP or Huawei Cloud.

This distinction is vital because new business systems are increasingly built using cloud platform tools. Fischer explains: "If you build features using AWS, you'll struggle to port those to Azure. You could get locked into a specific cloud platform. Even if you use multiple clouds, you can end up with some systems that only work in one vendor's environment, and other systems that only work in another vendor's. In a way, that's worse than classic lock-in, since it's now spread out across different vendors. That can limit choices when something changes."

For example, what if a cloud vendor raises prices or changes policies that sit poorly with your environment? They can always get more customers. But the foundations of all your modern systems have been compromised. Cloud lock-in can severely damage a company's operations and technology-related investments.

Kill lock-in with abstraction

There is a solution. As a concept, abstraction avoids putting too much reliance on specific systems. Abstraction creates a software layer that connects different technology layers without making them dependent on each other.

Abstraction sometimes gets a bad rap. Examples include Java and Flash, software meant to be smooth and easy, but instead made things cumbersome. But the type of abstraction associated with the cloud is of a different generation, such as virtual machines and containers. Additionally, APIs and micro-services' modular practices offer many new ways to create abstraction layers without impeding performance. The cloud embraces abstraction.

"With things like APIs, you can speak to one to many, right? I need this type of machine with this kind of compute, and I need 10 copies of it in the cloud. And programmatically, you can change that to happen automatically. It's not a one-to-one world anymore. You have unified clouds, where everything can be configured in a unified way, exactly as the first copy. But you can have 10 copies running. It's one-to-many."

Abstraction thus makes excellent sense in the cloud. But what about the abstraction layer becoming the lock-in culprit? Isn't this what is happening with cloud platforms?

The answer is open source software. The same think-tank collaborative culture that created the cloud also provides for reliable abstraction.

"With open source, there is no vendor lock-in. All these things are designed in such an open way that as soon as a new cloud provider comes on board and they have an API, people can go and add that cloud environment to their tools. So, you can have this flexibility of adding new cloud environments dynamically. Open source gives you the ability to have more fluidity when it comes to those things. It also, to a certain extent, gives you more of a transparency to see exactly what you're doing."

This final point motivates why creating abstraction is worth the effort. The other lock-in risk is technology becoming a black box. Stuff goes in, stuff goes out, but only the vendor knows what's happening inside. In contrast, abstraction reveals the different components and their relationships. It helps align and prioritise those with business requirements.

"If you have sound design principles, it immediately gives you a story on how your environment is built," Fischer recommends. "A sequential story about you need this, you need this, and you need this. It makes auditors and managers happy, because they can see exactly the moving bits and pieces involved in putting something together in the cloud."

Abstraction in the cloud makes business sense. Lock-in does not. And there's never been a better time to get this pesky albatross off the business's neck.

Share