ついに解禁!Python Workersが正式リリース、並列処理の常識が変わる
Python Workers are now generally available
Python Workers are now generally available
ついに待望のPython Workersが正式に利用可能となりました。このアップデートにより、Pythonを活用した並列処理や非同期処理の実装がこれまで以上にスムーズになります。エンジニアの皆さんは、ぜひ本番環境での活用を検討してみてください。
もちろんCloudflareの技術だけど、タイトルの最初の解釈として「Pythonのコーダー全員をAIに置き換えたから、彼ら(コーダー)は解雇されて外に出ている」って読んじゃったよw
コールドスタートのパフォーマンスはどうなんだろう?WorkersでWebAssemblyを使うと起動時間が長くなるのが欠点だったはずだけど、何か解決策を見つけたのかな。
いつかGoも同じくらい簡単に使えるようになるといいな。期待してる。
Mojoもサポートすべきじゃない?エッジコンピューティングにはかなり適してそうだし。
次はElixirだね ;) Workers間でクラスタリングして(まあ、CF WorkersにElixirはたぶん向かないだろうから冗談だけどさ)
PyodideはPythonエコシステムの中でも本当にクールな存在だ。Cloudflareにはぜひ資金面での支援を検討してほしいな: https://opencollective.com/pyodide/contribute
HTTPクライアントがWebAssembly環境下でJavaScriptの
fetchAPIを直接通るようにアップストリームに貢献した
urllib3のメンテナーとしての補足:
urllib3は数年前にPyodide/Emscriptenサポート、その後にJSPIサポートを追加する大きなコントリビューションを受け入れてマージした。Requestsでこれが動くようになったのはそのおかげ。
私の知る限り、この作業に対する資金はそれを実装した外部コントリビューターに支払われたもので、urllib3のメンテナーには入っていない。私たちは変更をレビューしてマージしたが、結果として生じたバックエンドの保守責任は現在プロジェクト側にある。
これが重要なのは、Emscriptenバックエンドはurllib3では依然として実験的扱いであり、セキュリティポリシーの対象外と明示されているからだ。
CVE-2025-50182はその一例で、リクエストが fetch を経由した際にurllib3のリダイレクト制御が期待通りに動作しなかった。ブラウザや fetch のネットワークセマンティクスはurllib3の通常のバックエンドとはかなり異なるため、同様の問題は他にもたくさんある可能性がある。
アップストリームに貢献してくれて、それがPyodideやCloudflareの役に立っているのは嬉しい。ただ、アップストリームプロジェクトへの貢献に資金を出すことと、その後のサポートを担うアップストリームのメンテナーに資金を出すことの間には、大きな違いがあると思う。
Cloudflareチーム、素晴らしい仕事だね!
2年前にPython Workersが最初にリリースされた時はすごくワクワクした。Wasmerで競合製品を出している身だけど、Cloudflareの取り組みはいつも刺激的だしインスピレーションをもらえる。
当時のローンチスレッドに自分が書いたフィードバックを見返してみたんだけど [1]、特にパッケージサポートの面で大きな進歩があったのは素晴らしいことだと思う。PyEmscriptenは今やPEP 783で標準化されたわけだしね。
ただ、当時自分が指摘したアーキテクチャ上の懸念のいくつかはまだ残っているね:
今年公開したベンチマーク [2] では、最小限のPythonアプリでWasmer Edgeが約60msだったのに対し、Cloudflare Workersは約900msだった(2024年の懸念を裏付ける結果だ)。これは数ヶ月前の数字だし、今はもっと大幅に改善されているといいんだけど。
今回のGA発表には更新されたコールドスタートの数字は含まれていないようだ。どなたかCloudflareチームの人で、現在のPython Workersのp50/p95コールドスタート時間を共有してくれないかな?できればネイティブのユーザーパッケージがある場合とない場合(例えばFastAPIを使う場合と、依存関係なしの場合など)の両方で。
FastHTMLはないの?
Workersが使っているPyodideのバージョンって何?最後に確認した時は0.28.xだったけど。