Avoiding vendor lock-in is a hot topic within the serverless community. Most wonder if their code be reused when moving from one cloud vendor to another.
We’re facing a related problem: The open-source projects we provide to our customers must run on AWS, Azure and Google Cloud at the same time.
Using two functions, one reacting to HTTP requests, and one to an event from a Message Queue (AWS SNS, Azure Service Bus, GC Pub/Sub), we’ll show how the same code implementing our business logic runs on Lambda, Azure Functions and GC Functions with a small adapter.
Based on these, we’ll look at what you can easily do today to avoid vendor lock-in, but also discuss when it’s difficult to do so.
Basic understanding of a Functions as a Service (such as AWS Lambda)
The audience should realize that the core concepts of functions in AWS, Azure and Google Cloud are the same, but hidden behind different syntax. They should learn how to abstract these syntactical differences, and be aware of major stumbling blocks when trying to avoid vendor lock-in.