Skip to content

Commit 1b5cd67

Browse files
committed
Add Cloudflare Workers
1 parent 4dfeb89 commit 1b5cd67

File tree

1 file changed

+12
-7
lines changed

1 file changed

+12
-7
lines changed

README.md

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
[![discord](https://img.shields.io/discord/267624335836053506?logo=discord&label=&color=323338)](https://discord.gg/python)
44
[![twitter](https://img.shields.io/badge/@hmartin-00aced.svg?logo=twitter&logoColor=black)](https://twitter.com/hmartin)
55

6-
No Python support: Cloudflare Workers, Netlify Edge Functions, StackPath EdgeEngine. IBM Cloud Functions are deprecated.
6+
No Python support: Netlify Edge Functions, StackPath EdgeEngine. IBM Cloud Functions are deprecated.
77

88
This document provides a comparison between hosted, serverless (no cost or management to spin down to zero) providers of cloud function hosts with Python runtimes.
99
Note the distinction between edge providers (execution at PoP) and non-edge (typically predetermined DS region).
@@ -20,18 +20,19 @@ See also the [Serverless SQL DB Comparison](https://github.com/hbmartin/comparis
2020

2121
## DevEx
2222

23-
| | Python Version | Status | API Framework | requirements.txt | Local Testing | Docs | Hello World |
23+
| | Python Version | Status | API Framework | Requirements | Local Testing | Docs | Hello World |
2424
| ------------------------------------- | -------------- | --------- | ------------------------------- | ---------------- | ------------- | ---- | ------------------------------------------------------------ |
25-
| **Alibaba Cloud Function Compute** | 3.10 | GA | Plain object | Vendor in zip || 🎉 | [Link](https://www.alibabacloud.com/help/en/functioncompute/latest/event-handlers) |
26-
| **AWS Lambda & Lambda@Edge** | 3.12 | GA | Plain object | Vendor in zip || 👍 | [Link](https://github.com/awsdocs/aws-lambda-developer-guide/tree/main/sample-apps/blank-python) |
25+
| **Alibaba Cloud Function Compute** | 3.10 | GA | Plain object | Vend in zip || 🎉 | [Link](https://www.alibabacloud.com/help/en/functioncompute/latest/event-handlers) |
26+
| **AWS Lambda & Lambda@Edge** | 3.12 | GA | Plain object | Vend in zip || 👍 | [Link](https://github.com/awsdocs/aws-lambda-developer-guide/tree/main/sample-apps/blank-python) |
2727
| **Azure Functions** | 3.11 | GA | azure functions ||| 🎉 | [Link](https://learn.microsoft.com/en-us/samples/browse/?products=azure-functions&languages=python) |
28-
| **Fermyon** (WASM) | 3.11 | No-native | Spin ||| 👍 | [Link](https://www.fermyon.com/blog/spin-python-sdk) |
28+
| **Cloudflare Workers** (WASM) | 3.12 | Beta | fastapi [and others](https://developers.cloudflare.com/workers/languages/python/packages) | 🚫 | 🚫 | 🎉 | [Link](https://github.com/cloudflare/python-workers-examples) |
29+
| **Fermyon** (WASM) | 3.11+ | No-native | Spin ||| 🎉 | [Link](https://www.fermyon.com/blog/spin-python-sdk) |
2930
| **Fly.io** (microVM) | Any | GA | Any ||| 👍 | [Link](https://fly.io/docs/languages-and-frameworks/python/) |
3031
| **Google / Firebase Cloud Functions** | 3.12 | GA | Flask ||| 🎉 | |
3132
| **IBM Code Engine** | 3.11 | GA | Plain object ||| 👍 | [Link](https://github.com/IBM/CodeEngine/tree/main/helloworld-samples/function-codebundle-python) |
3233
| **Oracle (OCI) Functions** | 3.11 | GA | FDK ||| Min. | [Link](https://github.com/oracle-samples/oracle-functions-samples/tree/master/samples/helloworld) |
33-
| **Tencent Cloud Functions** | 3.6 | GA | SCF | Vendor in zip || Min. | [Link](https://www.tencentcloud.com/document/product/583/40327) |
34-
| **Vercel Functions** | 3.9 | Beta | HTTP handler or WSGI / ASGI ||| Min. | [Link](https://vercel.com/templates/python/python-hello-world) |
34+
| **Tencent Cloud Functions** | 3.6 | GA | SCF | Vend in zip || Min. | [Link](https://www.tencentcloud.com/document/product/583/40327) |
35+
| **Vercel Functions** | 3.12 | Beta | HTTP handler or WSGI / ASGI ||| 👍 | [Link](https://vercel.com/templates/python/python-hello-world) |
3536

3637
## Pricing
3738

@@ -43,6 +44,7 @@ Note that the "Free Plan" is intended to represent ongoing free resources i.e. n
4344
| **AWS Lambda** | [1m reqs / mo + 400,000 GB-s / mo](https://docs.aws.amazon.com/whitepapers/latest/how-aws-pricing-works/lambda.html) (based on memory configuration) + [data egress](https://aws.amazon.com/ec2/pricing/on-demand/) (~$0.09 per GB) | 🚫 | $0.20 per 1m reqs + $0.00001667 per GB-s (over free tier) + [data egress](https://aws.amazon.com/ec2/pricing/on-demand/) (~$0.09 per GB) |
4445
| **AWS Lambda@Edge** | None | 🚫 | [$0.60 per 1m reqs + $0.00000625125 per GB-s](https://aws.amazon.com/cloudfront/pricing/) + egress (~$0.09 per GB) |
4546
| **Azure Functions** | 1m reqs / mo + 400,000 GB-s / mo + first 100 GB / mo egress | [Yes](https://learn.microsoft.com/en-us/azure/cost-management-billing/manage/spending-limit) | $0.20 per 1m reqs + $0.000016 per GB-s (over free) + $0.08 per GB egress (over 100 GB) |
47+
| **Cloudflare Workers** | 100k reqs / day, 10ms CPU / req | ? | $20 / mo for 10m reqs / mo, 30ms CPU / req + $0.02 per million CPU ms |
4648
| **Fermyon** | [100k reqs + 5GB egress](https://www.fermyon.com/pricing) | NA | 1m reqs + 50GB egress at $20 / mo |
4749
| **Fly.io** | 3 shared-cpu-1x 256mb VMs + 100GB egress | NA | Depends on VM + $0.02 per GB egress (over free, min $5 / mo) + $0.15 per GB / mo stopped VMs |
4850
| **Google / Firebase Cloud Functions** | 2m / mo reqs + 400k / mo GB-s + 200k / mo CPU-s + 5 GB / mo egress | [Yes](https://cloud.google.com/billing/docs/how-to/budgets) | $0.40 per 1m reqs + $0.0000025 per GB-s + $0.0000100 per CPU-s + $0.12 per GB egress |
@@ -62,6 +64,7 @@ reqs = requests, m = million, mo = month, s = seconds, mem = memory, k = thousan
6264
| **AWS Lambda** | 128 MB | 10 GB | 3s | 15min | 6 | 6 | 50 (zip) | 10k per reg. per sec. |
6365
| **AWS Lambda@Edge** | 128 MB | 3 GB | 3s | 30s | ? | 1 | 50 (zip) | 10k per reg. per sec. |
6466
| **Azure Functions** | 1.5 GB | 14 GB | 5min | 10min | 100 | ? | ? | 100 inst. |
67+
| **Cloudflare Workers** | 128 MB | 128 MB | 10ms | 30ms | ? | ? | 1 / 10 | 100 / 500 |
6568
| **Fermyon** | ? | ? | 30s | 30s | ? | ? | 100 | 1k RPS |
6669
| **Fly.io** | 256 MB | 128 GB | NA | NA | NA | NA | NA | NA |
6770
| **Google / Firebase Cloud Functions** | - | 32GB | - | 60min | 32 | 32 | None | 1k RPS / inst. |
@@ -79,6 +82,7 @@ AWS allocates 1 vCPU per 1,769 MB of memory configured.
7982
| **Alibaba Cloud Function Compute** ||||||
8083
| **AWS Lambda and Lambda@Edge** ||||||
8184
| **Azure Functions** ||||||
85+
| **Cloudflare Workers** | SQLite |||||
8286
| **Fermyon** | SQLite | 🚫 | 🚫 | 🚫 ||
8387
| **Fly.io** ||| 🚫 | 🚫 ||
8488
| **Google / Firebase Cloud Functions** ||||||
@@ -118,6 +122,7 @@ See also [awesome serverless security](https://github.com/puresec/awesome-server
118122
| **Alibaba Cloud Function Compute** | [Link](https://github.com/hbmartin/comparison-hosts-serverless-cloud-function-faas-for-python/discussions/1) | [Forum](https://www.alibabacloud.com/forum) | | [SO](https://stackoverflow.com/questions/tagged/alibaba-cloud) | [r/AlibabCloud](https://www.reddit.com/r/AlibabaCloud/) |
119123
| **AWS Lambda and Lambda@Edge** | [Link](https://github.com/hbmartin/comparison-hosts-serverless-cloud-function-faas-for-python/discussions/2) | [re:Post](https://repost.aws/tags/questions/TA5uNafDy2TpGNjidWLMSxDw?view=all) | [GitHub](https://github.com/aws/aws-lambda-builders) | [SO](https://stackoverflow.com/collectives/aws) | [r/aws](https://www.reddit.com/r/aws/) |
120124
| **Azure Functions** | [Link](https://github.com/hbmartin/comparison-hosts-serverless-cloud-function-faas-for-python/discussions/3) | [Forum](https://learn.microsoft.com/en-us/answers/tags/87/azure-functions) | [GitHub](https://github.com/Azure/azure-sdk-for-python) | [SO](https://stackoverflow.com/collectives/azure) | [r/AZURE](https://www.reddit.com/r/AZURE/) |
125+
| **Cloudflare Workers** | [Link](https://github.com/hbmartin/comparison-hosts-serverless-cloud-function-faas-for-python/discussions/10) | [Forum](https://community.cloudflare.com/c/developers/workers/40) | | [SO](https://stackoverflow.com/questions/tagged/cloudflare-workers) | [r/CloudFlare](https://www.reddit.com/r/CloudFlare/) |
121126
| **Fermyon** | [Link](https://github.com/hbmartin/comparison-hosts-serverless-cloud-function-faas-for-python/discussions/4) | [Discord](https://discord.com/invite/P4Cx7xUbJu) | [Feedback](https://github.com/fermyon/feedback) | [SO](https://stackoverflow.com/questions/tagged/fermyon-spin) | |
122127
| **Fly.io** | [Link](https://github.com/hbmartin/comparison-hosts-serverless-cloud-function-faas-for-python/discussions/5) | [Forum](https://community.fly.io/) | | [SO](https://stackoverflow.com/questions/tagged/fly?tab=Active) | |
123128
| **Google / Firebase Cloud Functions** | [Link](https://github.com/hbmartin/comparison-hosts-serverless-cloud-function-faas-for-python/discussions/6) | [Group](https://groups.google.com/g/firebase-talk/) | [GitHub](https://github.com/firebase/firebase-functions-python) | [SO](https://stackoverflow.com/collectives/google-cloud) | [r/Firebase](https://www.reddit.com/r/Firebase/) and [r/googlecloud](https://www.reddit.com/r/googlecloud/) |

0 commit comments

Comments
 (0)