Containers + Dapr vs Functions as a Service
Channel: Charles Chen
Date: 2021-06-16

If you're trying to decide between containers or Functions as a Service (FaaS) for your next web app or API, the question is when is the added complexity of a container-based architecture worth the effort compared to an FaaS approach?

There are at least 8 facets that favor containers over FaaS:

1) Portability
2) Multi-Cloud Support
3) Long Running Application Logic
4) Persistent or Consistent Throughput Workloads
5) Memory or Compute Intensive Workloads
6) Legacy Apps or Lift and Shift Scenarios
7) Broader Programming Language Support
8) Simplified Ops...In Some Cases

Check out my thoughts on each of these and share your own comments, ideas, and experiences with containers versus FaaS.

Links:

- Gergor Hohpe's articles on FaaS: https://www.enterpriseintegrationpatterns.com/ramblings/google_cloud_functions.html
- Dapr: https://dapr.io
- eShopOnDapr Github project: https://github.com/dotnet-architecture/eShopOnDapr
- Dapr building blocks: https://docs.dapr.io/developing-applications/building-blocks/
- Dapr bindings: https://docs.dapr.io/reference/components-reference/supported-bindings/
- AWS Lambda quotas: https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html
- Azure Functions limits: https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/azure-subscription-service-limits#azure-functions-limits
- Google Cloud Functions limits: https://cloud.google.com/functions/docs/concepts/exec#timeout
- Azure Supported Languages: https://docs.microsoft.com/en-us/azure/azure-functions/supported-languages
- AWS Lambda supported runtimes: https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html
- Google Cloud Functions supported runtimes: https://cloud.google.com/functions/docs/writing

Transcript:

- https://charliedigital.com/2021/06/16/containers_dapr_vs_functions_as_a_service/