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

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

翻訳者 |崔浩

企画 |趙雲

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

推薦する

ブロガーとして生き残るには?ブログの価値は過小評価されている

あなたのブログはまだ更新されていますか? Google Readerを開くたびに、更新を続けている有...

調査レポート: パブリッククラウドストレージはお金の無駄

[[270235]]昨年末、Cohesity の調査によると、IT 幹部の 47% が自社の IT ...

企業のウェブサイトをオンラインにする前に、どのような SEO 最適化作業を行う必要がありますか?

月収10万元の起業の夢を実現するミニプログラム起業支援プランYizhiSEO のウェブサイト最適化シ...

クラウドネイティブ開発は、高度な展開の青写真となる

これらの詳細は、企業が要素の内容や要素の配置、機能のグループ化方法を理解するのに役立ちます。開発者が...

クラウドテクノロジー|ハイブリッドクラウド管理プラットフォームのマルチリージョンアーキテクチャ

日本の矢口史明監督はかつて、世界中で突然停電が発生し、すべての電気機器が機能しなくなったときに生き残...

ロングテールキーワードを体系的に最適化する方法

毎日大量の検索があるターゲットキーワードとは異なり、ロングテールキーワードは毎日検索される数が非常に...

検索ボックス: デザイナーが注意すべき 5 つの詳細

編集者注: ユーザー インターフェイスの設計は、ユーザーを維持したいアプリケーションや Web サイ...

Pinduoduoのマーケティングゲーミフィケーション!

熾烈な競争が繰り広げられる電子商取引のレッドオーシャンで道を切り開く Pinduoduo の能力は、...

マーケティングにおける「存在感」の重要性を例を通して簡単に分析する

地球上の誰もが知っているチャイナモバイルやチャイナテレコムのような企業は、なぜ莫大な費用を広告に費や...

エンタープライズ SMS サービスの品質とユーザー エクスペリエンスを監視するにはどうすればよいでしょうか? Bonree Net SMS モニタリングが登場!

モバイル インターネットの時代において、企業の SMS は、正確な配信、制御可能な量、便利なやり取り...

pacificrack: 新しいポリシー、更新料 50% オフ、通常バージョン パッケージへのアップグレード、より柔軟なリソース!

Pacificrack が先月、これまで販売していた超低価格の VPS の更新価格をすべて調整するこ...

Inspur データクラウド事業戦略が正式に発表: データ価値を最大限に引き出し、信頼できるデータの自由な流れを促進

現在、デジタル経済は世界経済の質の高い発展を促進するための重要な原動力となっています。データは中核的...

クラウドとエッジコンピューティングは 6G テクノロジーをどのように形作るのでしょうか?

6G テクノロジーの分野では、クラウドとエッジ コンピューティングが重要な役割を果たし、デジタル世界...

3分レビュー! 12月のクラウドコンピューティング分野の重要な動向を簡単に見てみましょう

今年からクラウドコンピューティングがトレンドになりました。ますます多くの資本と企業がクラウド コンピ...

同僚はDockerとK8Sを知らなかったため、会社のグループチャットから削除されました

Docker はコンテナと同義であり、K8S はコンテナ オーケストレーションと同義です。これら 2...