Serverless compute sounds like heaven, but without the right mindset, it can be hell. Between the constraints placed on serverless environments by cloud providers, the potential for proliferation of applications and variations of versions, and the general mind shift required to build for serverless, the shift to cloud functions isn’t something that just happens overnight.
“The interesting thing about serverless platforms is they are a constrained execution environment, which is a good thing. It means that the cloud vendor can provide capabilities for customers at a fraction of the cost of what they were if they were fully customizable… The problem is, as these platforms are still maturing, they are necessarily constrained in what kind of execution they will allow. For instance, most of them don’t let you run for more than five or ten minutes… The challenge is, what if you can’t run in that uniform environment? This is where containers come into play,” said Dr. Donna Malayeri, product manager at Pulumi.
“OK, we’re going to write some functions, but how do we deal with our data? We have 14 petabytes of data and we can’t just whimsically move it somewhere. So, introducing more environment control from that perspective is kind of a big deal to me. I keep running into these scenarios, and a lot of the times it’s still a big question mark. What are we going to do? We started to build on this new serverless architecture, but we still have huge data problems,” said Adron Hall, of Thrashing Code.
“What are the business concerns?” asked Malayeri of the data requirements that often hold companies back. “Why is it bad for the data to live in one cloud? Is it a business continuity question? Because, if it is, that’s a very interesting consideration. Is part of the problem you’re trying to solve that if AWS goes down I need to have redundancy, I need to be running it somewhere else.”
“The other question I see a lot more confusion around is fear of vendor lock-in. That 10 years down the line Amazon will raise its prices and we’ll be stuck. Sometimes what companies will do is they will prematurely solve this problem. They’ll say, ‘Let’s build this solution so it’s fully general, and can be ported to any cloud. The problem is you end up paying a concrete cost up front for a future that may never arrive,” said Malayeri.
Malayeri said that it’s better for companies to spend their time on cross-cloud compatibility if there’s a distinct business reason to do so. If a company requires redundancy in its data centers, for example, or if a company uses Amazon exclusively, but would like to use Google Cloud’s machine learning tools. These scenarios offer a real reason to build cross-cloud compatibility, she said, rather than simply focusing on avoiding vendor lock-in.
In this Edition:
4:42: How do I manage serverless environments and applications?
8:14: How do you deal with that data and state?
10:30: Are low code environments and abstraction layers a good way to spread enterprise cloud usage?
13:16: The complexities we’re seeing as serverless architectures evolve
20:15: How is serverless being used in enterprises today?
26:49: What are the underlying issues you need to be thinking of in terms of monitoring and performance?