“All problems in computer science can be solved by another level of indirection.” — David Wheeler
The first parts of the series have given you a taste of what serverless computing is and the use cases it enables, along with its benefits and drawbacks. Armed with this knowledge, you might be planning to give serverless a try before attempting to migrate all your applications to this new architecture. As you start Googling around, you quickly realize there are tens of FaaS platforms, each promising unique capabilities. As confusion settles in your mind and you start getting tired of all the boastful claims made by FaaS providers, one question makes its way to the forefront of your mind: Which one should you choose?
In this post, we will navigate the tangled ecosystem of FaaS offerings, both managed and open-source, and determine their main capabilities and key differentiating features. The goal is to be able to make an informed choice depending on your requirements and use cases.