According to the “RightScale 2018 State of the Cloud” report, serverless computing is the No. 1 growing cloud service, with a growth rate of 75 percent. This means that many enterprises are opting for the convenience of using serverless systems that abstract you from the underlying infrastructure, the servers. However, the trade-off is that applications built on serverless public cloud systems are not easily moved to other clouds.
Why is this? How that serverless development platforms calls into your serverless code can vary, and there is not uniformity between public clouds. Most developers who develop applications on serverless cloud-based systems couple their code tightly to a public cloud provider’s native APIs. That can make it hard, or unviable, to move the code to another platforms.
The long and short of this that if you build an application on a cloud-native serverless system, it’s both difficult to move to another cloud provider, or back to on-premises.
I don’t mean to pick on serverless systems; they are very handy. However, more and more I’m seeing enterprises that demand portability when picking cloud providers and application development and deployment platforms often opt for what’s fastest, cheapest, and easiest. Portability be dammed.
Of course, containers are also growing by leaps and bounds, and one of the advantages of containers is portability. However, they take extra work, and they need to be built with a container architecture in mind to be effective. That said, while most developers opt for containers for portability as an advantage, they never really move them to anything other than the original platforms.
So, what does this all mean as a trend? I believe the following:
- Convenience and speed, leading to faster deployment cycles and lower cost, trumps portability for most enterprises.This is nothing new; consider all the proprietary databases, programming languages, and platforms that led the market in the past. Whether this is right or wrong is up to you.
- As the public cloud providers get better at building and deploying serverless platforms, they are likely to become even more proprietary. They are not sitting together and planning serverless systems that are alike; instead, they are building systems that give them the upper hand in the market via differentiation.
Disappointing? Not really. We’ve been working this trade-off since I got in the business, and it won’t end with cloud computing. However, you need to get right with your own take on this trade-off as an enterprises IT policy and not just inadvertently drift in one direction or the other.