アプリケーションをサーバーレス対応にする 3 つの方法

アプリケーションをサーバーレス対応にする 3 つの方法

[51CTO.com クイック翻訳] 従来の PaaS または IaaS 環境で実行されるアプリケーションと比較すると、サーバーレス プラットフォーム上のアプリケーションには、パフォーマンス、ストレージなどの点で独自の要件があります。

AWS、Microsoft、Google を含むすべての主要なクラウド プロバイダーは、一連の関数を使用してユーザーが単純なアプリケーションや非常に複雑なアプリケーションを組み立てることができるサーバーレス プラットフォームを立ち上げました。しかし、このプラットフォーム上でクラウド アプリケーションを正常に実行するには、開発チームが設計プロセスを改善する必要があります。

[[231651]]

サーバーレス アプリケーションを構築するときに開発者が従うべき重要な原則がいくつかあります。

  • 小さな独立したアプリケーション コンポーネントを開発します。
  • ステートレス関数を実装します。
  • 短期間の一時的な機能を計画します。

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として明記してください。

<<:  クラウドコンピューティングは一般の人々とはあまり関係がないのでしょうか?実際、誰もがそれなしでは生きていけません。

>>:  オープンソースモデルにおけるクラウドコンピューティングとビッグデータの現状

推薦する

【実践的なヒント】最前線のマーケティング担当者がASOの知識を全て提供!

「See You Tomorrow」に「素晴らしい真実をたくさん聞いたけど、それでも良い人生は送れな...

ディンドン・マイカイとミスフレッシュは上流で「戦っている」

2020年の疫病は生鮮食品電子商取引の集中化を加速させ、2020年は生鮮食品電子商取引にとって重要な...

APP開発者はWeChatパブリックアカウントを設定:プロモーションコストはAPPよりも高い

利点: 低コスト、高いインタラクティブ性 欠点: プロモーションが難しい、フレームワークの制約が多す...

ウェブサイトの重みとキーワードの重みの関係を調べる

考察: ウェブサイトの重みとキーワードの重みの関係。ウェブサイトの場合、キーワードは数個、数十個、さ...

マイクロソフトのXbox Oneが9月に中国で発売される

ロイター通信によると、4月30日、マイクロソフトとBesTVは、Xbox Oneが9月に正式に中国に...

今日の話題: Alibaba のオンライン バンキングは登場するのか?伝統的な銀行にとって挑戦となるのでしょうか?

中国ビジネスニュース(ブログ、微博)の9月9日の報道によると、アリファイナンスは最近、金融規制当局に...

Docker ベースの Nginx アプリケーション Web サイトをデプロイする

オープンソースの詳細については、以下をご覧ください。 51CTO オープンソース基本ソフトウェアコミ...

ゴールデンウィーク中、電子商取引のトラフィックは大幅に減少しましたが、速達便では倉庫の溢れは発生せず、トラフィックは若干減少しました。

北京ニュース(劉霞記者)「8.15価格戦争」で大人気となった大手電子商取引企業は、国慶節の休暇中の消...

FosunとソフトバンクがLicai.comに投資し、中国トップのSaaSサービスプロバイダーを共同で構築

10年以上前、ソフトバンクグループに大量の事業企画が殺到した。最終候補に挙がったアリババとタオバオは...

hostxen: 新規顧客は50元、香港/シンガポール/日本/米国、月額70元、6Gメモリ/2コア/40g SSD/無制限トラフィック、Windows/Linuxをサポート

hostxen (~) は現在、検証に合格した新規顧客に 50 元のアカウント残高を提供しており、こ...

著作権法案は第46条を削除し、オンライン侵害の定義に関する新たな条項を追加する。

著作権法第2次草案、意見募集中 著作権の法的許諾範囲を「教科書や新聞・雑誌の転載の法的許諾」に絞り込...

abelohost: オフショアサーバー、プライバシー保護 + 苦情防止、新しい「簡体字中国語」ウェブページ

中国市場での需要が非常に大きく、中国の顧客があらゆる場所で買い物をしているからかもしれません。そのた...

パーフェクトダイアリーはオフラインで苦戦

小紅書 + KOL =パーフェクト日記?少なくとも美容界では、この大まかな公式はパーフェクトダイアリ...

SEOトラフィック設計におけるXiong Zhanghaoの重要な役割とそれを活性化する方法は何ですか

月給5,000~50,000のこれらのプロジェクトはあなたの将来です熊張豪は、百度が2017年末に開...