ロゴは https://www.cloudflare.com/ja-jp/press-kit/ より引用
こんにちは。TIGの伊藤です。
Cloudflare連載の第1日目とインデックス記事です。
Cloudflare連載を始めます
CDNやインターネットセキュリティを中心としたサービスプロバイダーであるCloudflareを題材とした連載を開催します。Cloudflareについては技術ブログではこれまで、個人の寄稿で数記事上がっていましたが、連載という形にするのは今回が初めてです。
Cloudflareとは
Cloudflareは、公式では以下の様に書かれていました。
Cloudflareは、インターネット上で運営されている最大のネットワークの1つです。ユーザーは、Webサイトやサービスのセキュリティとパフォーマンスを向上させる目的でCloudflareサービスを利用しています。
上記の様にCloudflare自体でもサービスを持ちつつ、既存のシステムのセキュリティ、パフォーマンスを向上することを目的としているサービス群です。
AWSなどのパブリッククラウドではリージョン、ゾーンという概念がありますが、Cloudflareでは全てエッジネットワークにて構築されており、ユーザが接続する時は一番近い接続点に繋ぎにいき、Cloudflareのサービス、その裏の他のクラウドに接続などをしています。
連載日程
今回は初めての連載ということもあり、5人が参加してくれました。内容は初めて触った系の記事もありますが、わずかながら社内の知見も公開されるようなので、ぜひ楽しみにお待ちください。
日付 | 寄稿者 | タイトル・ネタ |
---|---|---|
5/27 | 伊藤太斉 | WorkersにPythonをデプロイして動かしてみる |
5/28 | 真野隼記 | Cloudflare D1 を触ってみる |
5/29 | 宮崎将太 | Cloudflare採用のアーキテクチャ選定 |
5/30 | 大岩潤矢 | Cloudflare R2 + NextCloudで作る自分専用クラウドストレージのススメ |
5/31 | 小林弘樹 | CloudflareでWebサイトのメンテナンスイン/アウトを実装 |
※公開順、日程は変わる可能性がございますが、ご了承ください。
Cloudflare WorkersでPythonを使いたい
今から約1ヶ月前、2024/04/02にCLoudflareのアナウンスより、Workersにオープンベータという形でPythonが利用できるようになりました。
https://blog.cloudflare.com/python-workers
本記事の結論をいきなり出しますが、PythonをWorkersで利用するにはオープンベータということもあり、まだまだ制限がありました。ただ、WorkersでPythonを使う、ということに対しては最低限であれば動くというのが分かりました。
個人的には、これまでWorkersのアーキテクチャからJavaScriptのみをサポートしていたこともあり、ちょっととっつきづらい部分もありましたが、まだ自分に馴染みのあるPythonが使えるようになったことで言語選択の幅が出たことは喜ばしいことですね。
さて、早速動かせるところまでは動かしてみましょう。
必要なもの
事前準備は以下のコマンドでwranglerコマンドを利用できるようにしておきましょう。
npm install wrangler --save-dev |
コマンドを利用してWorkersにPythonをデプロイする
はじめにPythonのプロジェクトを作成しましょう。以下のコマンドから作成します。
npm create cloudflare@latest |
デプロイまで完了すると、以下の画面に遷移します。
この時デプロイされているソースコードは./src/entry.py
に格納されています。
from js import Response |
ここまででの作業でPythonのアプリケーションが動く様になったので、次はPythonのパッケージを入れて試してみます。
Pythonのパッケージのサポート
2024/04/02時点でWorkersがサポートしているPythonのパッケージですが、公式のPackagesのページに記載があります。しかし、
Python Workers are in open beta.
You can currently only use built-in packages in local development. Support for deploying packages with arequirements.txt
file is coming soon.
と書いてある様にPythonの標準パッケージは使えるものの、外部のパッケージについては現時点ではデプロイできない状態です。実際に試してみましたが、エラーとなり、その文面にもまだサポートされていないことが書かれていました。
fastapi |
# 実行コマンド |
実際に色々動かしてみたかったところではありますが、ネイティブでもっと動かせる時が来たらさらに試してみようと思います。
まとめ
Cloudflare連載のインデックス記事とWorkersでPythonがオープンベータで使えるようになったのでできるところまで試してみた記事でした。
私が他の記事を見てみた時の違いは、npm create
コマンドを実行した時に、テンプレでPythonが選べる様になっていたので、わずかながらGAになる様に進んでいそうにも見えました。今後のリリースにも期待ですね!
本日からあと4記事ほど続くCloudflare連載ですが、ぜひ他の記事も読んでみてください!