[51CTO.com クイック翻訳] 従来の PaaS または IaaS 環境で実行されるアプリケーションと比較すると、サーバーレス プラットフォーム上のアプリケーションには、パフォーマンス、ストレージなどの点で独自の要件があります。 AWS、Microsoft、Google を含むすべての主要なクラウド プロバイダーは、一連の関数を使用してユーザーが単純なアプリケーションや非常に複雑なアプリケーションを組み立てることができるサーバーレス プラットフォームを立ち上げました。しかし、このプラットフォーム上でクラウド アプリケーションを正常に実行するには、開発チームが設計プロセスを改善する必要があります。
サーバーレス アプリケーションを構築するときに開発者が従うべき重要な原則がいくつかあります。
1. より小型で独立したコンポーネント 基本的に、サーバーレス関数は単一のタスクを実行するように設計されています。そのため、開発チームは機能を小さく保ち、これらの独立したアプリケーション コンポーネントを中心に開発プロセスを調整する必要があります。 関数をトリガーするイベントの種類に基づいて、関数を独自のライブラリに分割することをお勧めします。基本的に、開発者はイベントに応答するように各機能を最初から設計する必要があります。同じイベントが複数の関数をトリガーする場合は、それらを同じ関数ライブラリに含めます。これにより、開発者は関数をトリガーしたイベントに基づいて関数を識別しやすくなります。 個々の機能には、開発環境、テスト環境、運用環境全体で機能が一貫して起動されるようにするための構成データも含める必要があります。また、npm や webpack などのツールを使用して、各関数内の依存関係を宣言および分離することも重要です。 2. ステートレスを選択 開発チームは、関数の状態がアプリケーション自体の外部に保存されるステートレス サービスとして関数を実装することを検討する必要があります。構成データの一部として管理され、リポジトリ内の関数とともに保存されるデータストアとデータベースを参照するように関数を構成できます。 一部のサーバーレス プラットフォームでは、関数の呼び出し間で保持されるローカル ストレージが提供されます。開発者はより複雑な関数にこれを使用したくなるかもしれませんが、このローカル ストレージは関数呼び出し間で常に保持されるわけではなく、保持された場合でも一貫性がない可能性があります。 可能な場合は常に、サポート サービスを使用して、ステートフル データをデータベース、別のストレージ領域、またはキャッシュに保存します。サポート サービスとは、キャッシュ サービス (Memcached など)、データ ストア (CouchDB など)、データベース (MySQL など) など、関数が通常の操作の一部として使用するネットワーク経由の外部サービスです。 3. 一時的な計画 サーバーレス関数の利点の 1 つは、PaaS、コンテナー、仮想マシンで実行される大規模なアプリケーションでは数秒または数分かかるのに対し、数ミリ秒で起動でき、同様にすばやく停止できることです。したがって、需要に対応するために多数の関数を追加したり、並列実行されている関数を連携させて計算を完了し、計算が完了したら関数を停止したりすることが容易になります。 実際、サーバーレス アプリケーションは、本質的に一時的なものです。 つまり、サーバーレス プラットフォームのメリットを最大限に活用するには、開発者は、通常アプリケーションにバンドルされているコンポーネントの多くを関数のコア ロジックから削除する必要があります。開発者は次のことを行う必要があります。
予熱 関数をウォームアップするには、関数をデプロイする前に、関数がデータベースと通信するために必要なインフラストラクチャを設定する必要があります。 これを行うには、関数ハンドラーをコアロジックから分離します。寒い日に車をアイドリングさせてパフォーマンスを向上させるのと同じように、アイドル イベント ハンドラーは、関数が呼び出されると最適なパフォーマンスで実行されるようにします。 AWS CloudFormation や Azure Event Hubs などのツールがウォームアッププロセスをサポートします。 外部ログとトレース 関数は迅速かつ適切にシャットダウンできる必要があります。サーバーレス プラットフォームには組み込みのローカル ストレージが含まれていますが、外部のログ記録およびトレース サービス (サーバーレス フレームワーク自体に組み込まれています) を構成するか、関数の実行中にログ データを収集して保存するためのカスタム ツールを設定することが重要です。 AWS X-Ray や Azure Application Insights などのツールは、ログ記録とトレースに役立ちます。 安全性 サーバーレス アプリケーションは、ハッカーにとって別の潜在的な攻撃ベクトルとなります。適切なセキュリティ対策が講じられていない場合、ハッカーが機能を有効にして機密データにアクセスする可能性があります。開発者は、他のアプリケーションがタスクを実行するために必要な最小限のアクセス権のみを持つように機能を保護する必要があります。 原題: サーバーレス プラットフォーム向けにアプリケーションを準備する 3 つの方法、著者: George Lawton [51CTOによる翻訳。パートナーサイトに転載する場合は、元の翻訳者と出典を51CTO.comとして明記してください。 |
<<: クラウドコンピューティングは一般の人々とはあまり関係がないのでしょうか?実際、誰もがそれなしでは生きていけません。
>>: オープンソースモデルにおけるクラウドコンピューティングとビッグデータの現状
馬華クラウドの毎年恒例の「双十一」イベントも始まりました。香港クラウドCN2回線と安徽モバイルバック...
序文現在、世界中の企業のクラウド化とデジタル化のプロセスは加速し続けており、コンテナやマイクロサービ...
[51CTO.com クイック翻訳] この記事では、PyCharm 仮想環境の作成をステップごとに紹...
多くのウェブマスターは、毎日ウェブサイトの統計情報(cnzz統計、Baidu統計、51la)を確認す...
raksmartはどうですか? raksmartクラウドサーバーはどうですか? raksmart S...
クラウド コンピューティングは、ソフトウェアとハードウェアのリソースを共有するインターネット ベ...
virmach が推奨する VPS はニューヨーク データ センターでのみ利用可能で、無料の 10G...
arkecxはどうですか? arkecxの速度はどうですか? arkecxは良いですか? HostC...
テンセントは8月8日、第2世代Maxロボット(以下、Max)を正式にリリースした。記者たちは、マック...
どの業界にもリーダーやロールモデルが存在します。Web構築業界にも業績の良い企業はありますが、その業...
SEOにはデータ分析は必要でしょうか?個人的には、小規模なサイトでは必要ないかも知れませんが、中規模...
Virpus、12月最後のプロモーション:50%オフ、12月31日に終了、割引コードは:YENDです...
最近行われたアマゾン ウェブ サービスの海外事業に関するメディアコミュニケーション会議で、アマゾン ...
Kubernetes は 6 年前にリリースされ、短期間でコンテナ オーケストレーションと管理の事実...
Baidu Experienceにnofollow現象が現れて以来、多くのウェブマスターはショックを...