Cloudflare WorkersがPythonをサポート、WebAssembly版Pythonランタイムの「Pyodide」を採用で
Cloudflareは、CDNエッジでJavaScriptランタイムによるアプリケーション実行基盤を提供する「Cloudflare Workers」で、Python言語のサポートをオープンベータとして開始したと発表しました。
これによりCloudflare Workers上でPythonを用いたアプリケーションの構築が可能になります。
Introducing Cloudflare Workers in Python, now in open beta! We've revamped our systems to support Python, from the runtime to deployment. Learn about Python Worker's lifecycle, dynamic linking, and memory snapshots in this post. https://t.co/R3a6bLKlSd #DeveloperWeek
— Cloudflare (@Cloudflare) April 2, 2024
Cloudflare Workersは、Googleが開発するオープンソースのJavaScriptエンジンである「V8」を用いることで、CDNエッジでJavaScriptのアプリケーション実行基盤を実現しています。
今回のCloudflare WorkersによるPythonサポートは、このV8エンジンで実行可能なWebAssemblyの上にWebAssembly版Pythonランタイムである「Pytodide」を採用することで実現しています。
Cloudflare Workers上でWebAssemblyのPythonランタイムを実行
Pyodideは、もともとMozillaが主導して始められたWebAssembly版のPythonランタイムです。
参考:PythonインタプリタをWebAssemblyへコンパイル、Webブラウザで稼働するPython環境「Pyodide」。Mozillaが開発中
オリジナルのPython言語のインタプリタはC言語で書かれており、そのため一般にこのPythonインタプリタは「CPython」と呼ばれています。このCPythonのソースコードがWebAssemblyでコンパイル可能なように最小限の変更を加え、さらにスタンドアロンのWebAssemblyランタイムで実行可能なようにWASI(WebAssembly System Interface)に対応させ、Emscriptenでコンパイルしたものが「Pyodide」です。
これにAPIや非同期処理などのいくつかの工夫を加えてCloudflare Workers上で実行可能にしたものが、今回のCloudflare WorkersによるPythonのサポートとなるわけです。これらの技術的な工夫については「Bringing Python to Workers using Pyodide and WebAssembly」で詳しく説明されているため、興味のある方はぜひこちらをご覧ください。
あわせて読みたい
「AWS Deadline Cloud」発表。動画制作の締め切りを守るべく、VFXや2D/3Dグラフィックスなどの高速なレンダリングファームをマネージドサービスで提供
≪前の記事
Cloudflare、CDNエッジで生成AIを実行できる「Workers AI」正式サービスに。世界150都市のデータセンターでGPU基盤を提供