Is Serverless A Viable Approach For Your Multi-Cloud Strategy?
Serverless technologies and approaches have been with us for almost a decade, beginning with the introduction of AWS Lambda back in 2014. Since then, there has been a debate in the software architect community about the value they provide for every application scenario. Some think about leveraging serverless technologies for the full-blown application backend. Some are more conservative and consider using them only for event-driven features requiring massive scalability.
The hype Amazon brought to the software world with the AWS Lambda was almost immediately followed by Microsoft (Azure Functions) and Google (Cloud Functions). The challenge with these technologies comes from the fact that even though their functionalities are alike, their implementation isn’t. That makes it impossible to leverage the same code base to deploy your serverless application to multiple cloud providers, breaking the promise of an inter-connected, multi-cloud world. So, the question presents itself - is serverless a viable approach for your multi-cloud strategy? If we decide that it is, which tactics could we implement in the development process to overcome the current interoperability challenges?