サーバーレス アプリケーション決定ガイド

サーバーレス アプリケーション決定ガイド

翻訳者 |崔浩

企画 |趙雲

サーバーレスを適用すると、多くの困難な問題に直面することになります。この記事では、サーバーレス アーキテクチャの導入方法、サーバーレス アーキテクチャにおける実際的な課題の解決方法、適切なソリューション、そしてサーバーレスで応答性の高いイベント駆動型アーキテクチャを実現する方法について説明する実用的なガイドを提供します。この記事では、クラウド プロバイダーのサーバーレス サービスについては触れられておらず、例 (AWS リファレンス) のみで説明されています。

サーバーレス コンピューティング モデルは、通常の開発サイクルの「アーリー アダプター」段階に達しており、急速に「アーリー マジョリティ」段階に入っています。サーバーレスは急速かつ驚異的な発展を遂げていますが、企業にはサーバーレスを導入し、テクノロジーとアーキテクチャに適用して効率的な IT エコシステムを構築するための戦略的な実践が欠けています。この記事では、サーバーレス アーキテクチャの使用方法に関する簡略化された意思決定ガイドを提供することを目的としますが、サーバーレス データベース、API ゲートウェイ、エッジ サービスなど、クラウド サービス プロバイダー (CSP) が提供する FaaS、BaaS、その他のサービスに関する意思決定に関するアドバイスは提供しません。

1. サーバーレス候補の特性を活用する

Serverless 導入ガイドに進む前に、Serverless を使用する候補の特性を理解することが重要です。次の表は、サーバーレスに簡単に組み込むことができるアプリケーションまたはワークロード モデルのテクノロジに依存しない特性を示しています。これらの特性は、より複雑なサーバーレス パターン、ソリューション、およびアーキテクチャです。これらは排他的ではなく、組み合わせて使用​​できます。

2. サーバーレス候補アーキテクチャ

次のアーキテクチャの一部は、アプリケーション、データ、統合、AI、IoT などにわたってサーバーレスを採用するのに適しています。

応用

  • 反応システム
  • ドメイン駆動設計に基づくマイクロサービス
  • 絞殺魔の変身
  • データ

ビッグデータ

  • ドキュメントデータベース、列指向データベース、キーバリュー、RDBMS、オブジェクトストレージなどのSQLおよびNoSQLデータベースが含まれます。
  • データ処理
  • ストリーム処理
  • CDC
  • バッチ処理
  • 電子商取引

統合された

  • REST API
  • イベント駆動型
  • 通知する
  • メッセージング
  • イベントストリーム
  • ワークフロー

処理

  • HTTP/HTTP(s)
  • BPMワークフロー
  • 録音
  • トランスコーディング
  • 人工知能/機械学習
  • IoTイベント処理
  • ブロックチェーン処理

セキュリティとコンプライアンス

  • IAM、アイデンティティフェデレーション
  • キー、証明書管理、RBAC、秘密金庫、HSM
  • ファイアウォール、DDoS
  • 規制データコンプライアンス
  • IoTデバイスのセキュリティ

デブオプス

  • CI/CD
  • 可観測性
  • ヘルスダッシュボード、コスト管理、アカウント管理
  • 国際交流協会

3. サーバーレス関数の例

以下はサーバーレス関数の例のリストです。このリストは継続的に拡大しています。

  • 内部および外部のサービスによってトリガーされたイベントに対してアクションを実行します。
  • 特定のスケジュール (定期的) に従って、バックアップやログ分析などのタスクをスケジュールします。
  • 既存のサービスまたはアプリケーションの API 管理を実装します。
  • データベースの変更に応じてアプリケーション ロジックを実行します。
  • 自動的にスケーラブルな API バックエンド サービスの呼び出し。
  • 視覚認識サービスと組み合わせた画像処理。
  • ストリーム、画像、ビデオのオブジェクトベースの操作。
  • センサー入力 (IoT) に応じてエッジ分析を実行します。
  • 新しい機能ロジック (通知の送信、データのタグ付け、天気データの追加など) を使用して、ワークフローと関連データを拡張および強化します。
  • さまざまなサービス間の接着剤として機能し、強力なパイプラインを作成します。
  • マイクロサービス、並列コンピューティング、データ処理の実装。
  • アプリケーションでは、ユースケースを実装するために、イベントベース/非同期ベースの通信が必要です。
  • ポーリングのユースケース、pub-sub 実装。

4. Severlessが適さないケース

さらに、サーバーレスは次のような場合には適さない場合があります。


  • 高性能コンピューティング (HPC) と実行コンポーネントを必要とするワークロード。
  • 実行に長い時間がかかり、処理するためにマスター/ワーカー ノードのクラスターを必要とするプロセス。
  • 物理ソケットやコアなどの基盤となるインフラストラクチャ コンポーネントを制御する必要があるワークロード。たとえば、ライセンスをコアごと、ソケットごと、または VM ごとにバインドする必要があるワークロード。
  • 規制産業で事業を展開する組織は、非マルチテナント環境でアプリケーションを実行する際に専用のインフラストラクチャを使用する必要があります。
  • 複雑な予測または ML アルゴリズムの使用を必要とし、きめ細かい自動スケーリング ルールに適したワークロード。
  • 長時間実行されるタスク。
  • 複雑 (分離不可能) な関数、または初期化に長い時間がかかる関数。
  • ユースケースを実装するには、ステートフル セッションが必要です。
  • トランザクション管理に DB を使用する必要があり、急速な拡張が必要です。 DB が拡張のボトルネックになる可能性があります。
  • クライアントはコンプライアンスを強制します (たとえば、Serverless には特定のインフラストラクチャがないため、コンプライアンスのために基盤となるインフラストラクチャをスキャンする必要がある場合)。
  • ランタイム バージョンの実装要件は特定されています (その理由は、サーバーレス ランタイムを制御できず、更新はベンダーによって実行されるためです)。
  • サーバーレス アプリケーション アーキテクチャはベンダーに依存します (特に認証、スケーリング、監視、構成管理などのプラットフォーム機能に関して、ベンダー ロックインの可能性があります)。
  • 処理されるデータが本質的に機密性が高い場合、マルチテナントは推奨されるオプションではありません。

5. サーバーレス導入の決定を導くための簡素化されたフレームワーク

機能、アーキテクチャ タイプ、ユース ケースに基づいてサーバーレス導入の決定をガイドするシンプルなフレームワークを以下に示します。

CSP におけるサーバーレス実装には、主に FaaS/BaaS とサーバーレス コンテナ プラットフォームを中心としてさまざまなタイプのサービスがあります。

6. サーバーレスプラットフォームの主な特徴

以下に、サーバーレス プラットフォームの主な機能の一部を示します。

  • 簡素化されたプログラミング モデル。アプリケーション全体を FaaS および BaaS のイベント トリガーとして記述でき、「アプリケーション」全体をより小さなサーバーレス ビルディング ブロックで構成できるためです。
  • 短命で単一目的のRESTful関数を使用して、フロントエンドのアプリケーションロジックに集中します。
  • シンプルな(JSON)入力/出力
  • 環境変数によるローカリゼーション設定
  • Polyglot - ニーズに合ったプログラミング言語を選択します。異なる言語で書かれた関数を組み合わせます。
  • イベント駆動型- 複数の呼び出しモード(トリガー/メッセージによる自動化、API 呼び出しからの手動)
  • 簡素化されたデータとサービスの統合- ストレージ(データベース、オブジェクト ストレージなど)、メッセージング、API 管理、その他のプロバイダー サービスとの「すぐに使える」統合
  • 「NoOps」に向けて— プロビジョニング、デプロイメント、自動スケーリング構成、可用性などのサーバーレス プラットフォーム管理の運用面。
  • プラットフォームによって提供される運用サポート サービス- ログ記録と監視、ID とアクセス管理などの「組み込み」サポート。
  • 使用したコンピューティングに対してのみ支払います。料金は関数の実行時間またはリクエスト数に基づいて決定されます。

7. FaaS/BaaSとサーバーレスプラットフォームのシンプルな決定ガイド

CSP の FaaS/BaaS サービスの選択を理解し、コンテナを実行できるサーバーレス プラットフォームを使用することが重要です。以下に簡単な意思決定ガイドを示します。


8. 結論

サーバーレス コンピューティングは急速に進化しており、多くの場合、現在のアプリケーションの範囲を超える新しいサービスや機能をもたらしていますが、組織はサーバーレス アプリケーション戦略において大きな課題に直面する可能性があります。この記事では、サーバーレスの導入を加速するのに役立つ簡略化されたガイダンスを提供します。

翻訳者について

51CTO コミュニティ エディター兼シニア アーキテクトの Cui Hao 氏は、ソフトウェア開発とアーキテクチャで 18 年の経験があり、分散アーキテクチャでは 10 年の経験があります。

元のリンク:

https://dzone.com/articles/decion-guidance-for-serverless-adoption

<<:  エッジコンピューティングがメキシコのファーストフードの世界的リーダーであるタコベルのデジタル化を推進

>>:  クラウド ネイティブ アプリケーション開発のための Go での gRPC の構築

推薦する

インターネットの助けを借りて、オンラインマーケティングのプロセスでセルフマーケティングを実現するにはどうすればよいでしょうか?

マーケティングに詳しい友人なら、セルフマーケティングについてある程度聞いたことがあるはずです。しかし...

中国のトップ5の動画検索エンジンの総合比較

2006 年は中国のインターネット市場におけるビデオ元年でした。その年、200 を超える新しいビデオ...

B2B業界のウェブサイトが販売前に達成しなければならない運用指標

よくQQで私をフォローして、「李雪江さん、なぜうちの営業スタッフはウェブサイトの会員サービスや広告サ...

ウェブサイトの最適化はリスクテイクと保守主義の境界線を歩く

長年の開発を経て、検索エンジンはますます成熟し、アルゴリズムの更新もユーザーエクスペリエンスに従って...

RightScale 2019 クラウドの現状レポート: プライベート クラウドは不調、パブリック クラウドは急成長

世界的なクラウド管理サービスプロバイダーである RightScale が、毎年恒例のクラウドの現状レ...

必須の Kubernetes ツール (2021 年版)

導入この記事では、最新かつあまり一般的ではない Kubernetes エコシステム ツールの概要をま...

百度はウェブマスタープラットフォームに「大きな打撃」を与え、ウェブマスターに「苦痛」を与えた

Baidu Webmaster Platform は、すべてのウェブマスターが参加しなければならない...

webhostingbuzz - プロフェッショナル WordPress ホスティングが 50% オフ / VPS (onapp/managed) が 80% オフ

webhostingbuzz は、仮想ホスト\VPS などの割引コードを公開しています: 割引コード...

記事を検索エンジンに素早くインデックスさせる方法

多くの初心者ウェブマスターの目には、ウェブサイトをインデックスに登録するのは難しいように見えます。特...

医療ウェブサイトはタイプではなくコンテンツが不足している

Baiduのアルゴリズム更新以来、医療サイト、Taobaoの顧客サイトなどのウェブサイトが大規模に淘...

セールモールのウェブサイトを宣伝する方法

ウェブマスターの皆さん、こんにちは。私は Ye Fanxi です。私はこれまで、かなりの数の特売モー...

「莫言熱」が文学のトレンドを引き起こした。文芸界は鉄は熱いうちに打つかもしれない

今日、莫言がノーベル文学賞を受賞してから1週間が経ったが、ネットユーザーたちの驚きの声、メディアのコ...

3.15ガラの後、ブランドはマーケティングリスクをどのように防ぐことができるでしょうか?

中国中央ラジオテレビの毎年恒例の3.15ガラがこのほど終了した。今回の3.15では「土穴」ザワークラ...

ウェブサイトのトラフィックが消えてしまったら、新たな命を勝ち取るためにその源をたどる必要があります

インターネットの急速な発展に伴い、ウェブサイトのトラフィックはウェブサイトの存続にとって重要な要素と...

クラウドコンピューティングの二流企業として、Googleは再調整する必要がある

Google の新しいクラウド コンピューティング責任者は弱者を演じるのに慣れており、それが世界で最...