はじめに
最近(というかここ数年)では、サーバーレスアーキテクチャが流行ってますよね。
アプリケーション本体の開発に注力できインフラ等の余計な部分を考えなくて済むのでいいですよね。(ちょっと寂しい気もしますが)
主要なベンダの簡単な比較
AWS Lambda
AWSが提供するサーバーレスプラットフォームで、多機能で柔軟性が高いですが、複雑な価格体系と比較的コストが高いです。
Google Cloud Functions
Googleのサーバーレスソリューションで、他のGCPサービスとの連携が強みです。
料金は普通くらい。
Azure Functions
Microsoftの提供するサーバーレスプラットフォームで、.NET環境との親和性が高いです。
ただ、コールドスタートがめっちゃ遅いらしいです。(私は使ったことないんですけどね)
Cloudflare Workers
Cloudflareが提供するエッジコンピューティングプラットフォームです。
グローバルなエッジネットワークを活用し、低コストで高パフォーマンスを実現します。
Cloudflare Workersがいい理由
安い、安いぞ!
Cloudflare Workersは、他のプラットフォームと比較して圧倒的に低コストです。
1日10万リクエストまでは無料で利用でき、それ以上でも$5/1,000万リクエストという価格設定はとても魅力的です。
ぐろーばる
Cloudflareの世界中に展開されたエッジロケーションを活用し、ユーザーに最も近い場所でコードを実行します。これにより、低レイテンシーと高速なレスポンスを実現します。
エッジで動くと何が嬉しいかというと、パフォーマンスが高いことです。
物理的な距離が離れているとレイテンシの問題が発生しがちですが、近くのエッジノードにて処理されるため最小限の遅延でレスポンスができます。
かんたん!!うごく!!
Workersは標準的なJavaScriptやTypeScriptを使用でき、開発環境の構築も容易です。
また、デプロイも簡単で、CIツールとの連携も容易です。
スケーラビリティ
自動的にスケールアップ・ダウンするため、トラフィックの変動に柔軟に対応でき、開発者はインフラの管理から解放され、アプリケーション本体の開発に注力することができるかもしれません。
はやい!!やばい!!うごく!!
Lambda@Edgeのような環境では、コンテナが使用されているため、リクエストが投げられる度にコンテナの起動処理が入ってしまい、遅延が起こってしまいます。
俗に言うコールドスタート問題ってやつです。
しかし、Cloudflare Workersではコンテナが使用されておらず、JSのV8エンジンが使用されています。
そのため、コールドスタートによる遅延は(ほぼ)ありません。
さいごに
Cloudflare Workersは、その低コスト、高パフォーマンス、簡単な開発・展開プロセスにより、最もコストパフォーマンスの高いサーバーレス構成と言えます。
D1やKVなど関連するプロダクトも他社のものと比較してかなり安価であるため、総合的に見てもCloudflare Workersを中心としたアーキテクチャは非常に魅力的です。
是非使ってみてください。
それでは。