サーバーレス コンピューティングは、サーバーが必要ないという意味ではありません。管理するサーバーが少なくなるだけです。サーバーレス アプリケーションをホストするのに最適なランタイム プラットフォームをいくつか見てみましょう。
従来のアプリケーションでは、VM、物理、またはクラウド サーバー上でアプリケーション ロジックの実行全体を管理します。しかし、傾向は変わりつつあります。
サーバーレス アーキテクチャに移行すると、アプリケーション コードの実行タスクがサーバーレス コンピューティング プラットフォームにオフロードされます。多くの利点があります。
- ランタイム (Node.js、Python、Go など) のホスティングについて心配する必要はありません。
- アプリケーションが消費した分だけ支払います (コスト効率が高い)
- アプリケーションの需要拡大を心配する必要はありません (スケーラブル)
- プロバイダーにセキュリティやソフトウェアのアップデートの管理を任せる
- プロバイダーが提供する他のサービスとの簡単な統合
- アプリケーションの導入と変更までの時間を短縮する
これは、開発者やビジネスオーナーにとって、コードに集中し、専門家が実行を処理するという非常にお買い得なサービスです。サーバーレスを初めて使用する場合は、この 入門コース を参照してください。
次の FaaS (Functions as a Service) プラットフォームを見てみましょう。
AWSラムダ
AWS Lambda は、 コードを実行し、管理が AWS によって (舞台裏で) 管理されるプラットフォームを最初に提供したものの 1 つです。
当初は Node.js のみをサポートしていましたが、現在では Python、Go、Java、C# を実行できるようになりました。
図からわかるように、アプリケーション コードをアップロードする必要があります。Lambda が実行を処理します。これは手動で行うことも、AWS のサービスまたはウェブアプリケーションを通じてトリガーして自動化することもできます。
AWS Lambda は、ファイル処理、ストリーミング、データ検証、データ変換、API リクエストの処理など、多くのリアルタイム シナリオで役立ちます。
いくつかの機能:
- 他の AWS 製品とのシームレスな統合
- ステートレスな Lambda 関数
- 高可用性とフォールトトレラントなインフラストラクチャ
- 広範なロギングとモニタリング
- 自動スケーリング
- などなど。
いろいろ試してみたい方に朗報です。AWS では、無料利用枠で 100 万件のリクエスト と 400,000 GB 秒の コンピューティング時間を無料で提供しています。
趣味や小規模なプロジェクトには無料利用枠で十分です。学習に興味がある場合は、 Stephane Maarek によるこの実践的なオンライン コースを チェックしてください。
規制が心配な場合でも、AWS Lambda は HIPPA、PCI、ISO、SOC に準拠しています。
Cloudflare ワーカー
正しく聞こえましたね。
Cloudflare は単なる CDN およびセキュリティ会社ではありません。彼らはそれ以上のものを提供します。
最近、同社は Cloudflare ワーカー を導入し、世界中の 150 以上のデータセンターで JavaScript を実行できるようにしました。
CloudflareはV8 JSエンジンを使用しているため、 JavaScriptをより高速に実行する必要がある場合は、 試してみてください。
ワーカーを サーバーレス フレームワーク と統合して、デプロイを迅速化できます。月額わずか 5 ドルから始めることができます。
いくつかの スクリプト (レシピ) が用意されているので、それを見て遊んで慣れてください。
AWS ファーゲート
AWS Fargate は、 コンテナを実行するための Amazon のサーバーレス コンピューティング ソリューションです。サーバーレス プラットフォームを構築できる従量課金制のソリューションを提供します。 Fargate はインフラストラクチャ管理の負担を軽減し、サーバーのスケーリング、パッチ適用、セキュリティ保護を担当します。
AWS Fargate は、Amazon ECS (Elastic Container Service) および Amazon (EKS) Elastic Kubernetes Container Service と互換性があります。
AWS Fargate によって提供される利点は次のとおりです。
- コンテナを実行するための集中的なソリューション
- 使用した CPU リソース、メモリ、ストレージに基づいた支払い
- AIおよびML開発環境のサポート
- セキュリティを向上させる ECS および EKS タスク専用のランタイム環境
- Amazon CloudWatch Container Insights との統合により、アプリケーションを簡単に監視できるようになります
Azure関数
イベント駆動型コンピューティングは、多数のプログラミング言語をサポートします。
- JavaScript
- C#
- F#
- ジャワ
- パイソン
- PHP
- TypeScript
- バッシュ
- パワーシェル
Azure Functions は、 アプリケーションによるインフラストラクチャの需要に対応し、必要に応じてスケールアップまたはスケールダウンします。容量計画について心配する必要はありません。
Web アプリケーションから関数、モバイル アプリケーションから HTTP API、BLOB ストレージ、ストリーミング、Webhook などをトリガーできます。
料金は、コードの実行にかかる合計時間に基づいて決定されます。前払い費用はなく、Azure では毎月 100 万回の実行が無料で提供されます。
さあ、Azure Functions を活用して、SaaS 製品や API などのサーバーレス アプリケーションを構築してください。
グーグルクラウド
Google Cloud は、多数の サーバーレス コンピューティング ソリューションを 提供します。
App Engine – Web およびモバイル アプリケーション用のフルマネージド プラットフォーム。 PHP、Python、C#、Node.js、Ruby、Go などで構築されたアプリケーションをデプロイできます。アプリケーションが消費するリソースに対して料金を支払い、需要に基づいてスケールします。
Cloud Functions – クラウドで Node.js および Python アプリケーションを実行するためのイベント駆動型プラットフォーム。 Functions を使用して、IoT バックエンド、API 処理、チャットボット、センチメント分析、ストリーム処理などを構築できます。
他にも、Storage、Firestore、BigQuery、Dataflow、Pub/Sub、ML エンジンなどがあります。おそらく、エンタープライズ対応のサーバーレス アプリケーション アーキテクチャを構築するために必要なものがすべて揃っています。
IBMクラウド機能
IBM Cloud Functions は Apache OpenWhisk に基づいており、イベント・トリガーで迅速に実行されるアプリケーション・アクションを開発します。
サーバーレス プラットフォーム、API、モバイル バックエンド、検索可能なビデオなどの構築に関する優れたチュートリアルがいくつかあり、それがどのように機能するかを理解できます。
Alibaba 関数コンピューティング
中国および国際市場にとって優れた選択肢です。最近、 Alibaba は 、サーバーやコア インフラストラクチャを管理せずにコードをアップロードして実行できるサーバーレス コンピューティング製品を発表しました。
リアルタイム IoT メッセージ処理サーバーレス フローの図。
Alibaba では、毎月 100 万件のリクエストを無料で提供しています。試してみるのに良いです。
サーバーレスの概念は FaaS (サービスとしての機能) だけではなく、それ以上のものです。上記のプラットフォームが、サーバーの管理やメンテナンスを心配することなく堅牢なアプリケーションを構築するのに役立つことを願っています。そして最も重要なのは、 コストが低い ことです。
スタックパス
StackPath による サーバーレス スクリプトは 、ユーザーの場所に近いエッジでコードを実行します。
使用例はたくさんあります。
- APIゲートウェイ
- 負荷分散
- ファイアウォール
- 画像の最適化
- エンドユーザーエクスペリエンスのパーソナライズ
- ユーザ認証
StackPath は Chrome V8 JavaScript エンジンを搭載しています。 EdgeEngine のレイテンシは 50ms 程度です。
IDE でアプリケーションを開発することも、単にコードをアップロードすることもできます。
デノデプロイ
Deno Deploy は、 手間のかからないサーバーレス JavaScript ホスティングを探している場合に最適です。設定を行わずにプロジェクトをデプロイできるようになります。これは開発者の夢ではないでしょうか?さらに、エッジ機能、静的サイト、アプリケーションもサポートします。
Deno Deploy は、サブホスティングの柔軟性、拡張性、セキュリティを求める企業にとって頼りになるオプションです。
Deno Deploy の主なハイライトをいくつか紹介します。
- JavaScript 統合によるカスタマイズ可能なユーザー ワークフロー
- マルチテナンシーによる安全なスケーリング
- マルチテナントワークロードにおける正確なリソース制御
- Deno Deploy による手間のかからないサーバーレス JavaScript ホスティング
- エッジ機能、静的サイト、アプリケーションのサポート
- 柔軟でスケーラブルで安全なサブホスティングを求める企業に最適
- プロジェクトの展開に構成は必要ありません
JavaScript を統合してユーザー ワークフローをカスタマイズし、マルチテナントで安全に拡張し、マルチテナント ワークロードのリソースに対する正確な制御を維持できます。
DigitalOcean アプリ プラットフォーム
この DigitalOcean アプリ プラットフォーム では、基盤となるインフラストラクチャを必要とせずに、開発者がコードを DigitalOcean サーバーに直接公開できます。これにより追加の負担が発生し、一般的なリポジトリからコードを直接デプロイすることで開発者がアプリを迅速に起動できるようになります。
このツールは、一般的な言語とフレームワークをサポートすることで開発者の生産性を向上させ、開発と展開を迅速化します。主な機能には、組み込みのセキュリティ、迅速な展開、貴重な洞察、機能の迅速な追加などが含まれます。
ヴェルセル
Next.js の作成者は、リストにある次のツールを開発し、Next.js アプリケーション用に明示的に設計しました。 Vercel は 基本的にフロントエンド クラウド プラットフォームとして機能し、より高速でパーソナライズされた Web エクスペリエンスを作成するために必要なフレームワーク、インフラストラクチャ、ワークフローを開発者に提供します。
これは、Web 開発のための包括的なツールキットとして機能し、自動化された API 管理からシームレスな画像強化やパフォーマンスの最適化まで、あらゆる機能を網羅します。 Vercel は、Web サイトのビジョンを現実にするために必要なツールをすべて提供します。
さらに、バックエンドとシームレスに統合されます。さらに、Vercel はローカルホストでのエンドツーエンドのテストも提供しているため、開発者にとって優れた選択肢となっています。
結論
サーバーレス化は、ホスティングとインフラストラクチャの管理コストを節約するための優れた方法です。レガシー アプリケーションの移行は困難な場合があります。それはわかります。ただし、最新の新しいアプリを構築している場合は、アーキテクトでサーバーレスを考慮する必要があります。ここでは、サーバーレスを学習するための貴重なリソースをいくつか紹介します。
幸運を!