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

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

翻訳者 |崔浩

企画 |趙雲

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

推薦する

80vps: US Unicom VIPラインVPS、349元/年、1Gメモリ/2コア(Ryzen 9 5900X)/30gNVMe/1Tトラフィック/200M帯域幅

80vpsは、米国ロサンゼルスのceraデータセンターに、China UnicomのVIP回線を備え...

エッジコンピューティングは長い間私たちの身近に存在してきました

過去 10 年間、無線通信の革新と人工知能の復興により、人類社会に大きな変化がもたらされました。これ...

Hostodo: ロサンゼルス Zenlayer データセンターの格安 CN2 VPS レビュー、Windows システムをサポート

Hostodo のアジア最適化 VPS は、以前の QN データセンターの「アジア最適化」路線を踏襲...

#アフリカサーバー# estnoc: ケニア VPS - 月額 10 ユーロから、ケニア専用サーバー - 月額 189 ユーロから、1Gbps 帯域幅

estnocはアフリカのケニアに独自のデータセンターを持ち、ケニアVPS、ケニアクラウドサーバー、ケ...

朱偉坤が百度の重みについて重要な考えを共有

最近、多くの SEO 愛好家がグループ内で「なぜ私の Baidu の重みは昨日 3 だったのに、今日...

新たな金融インフラの構築、テンセントクラウドが中国銀聯の銀聯クラウド構築を支援

5月18日、テンセントクラウドと中国銀聯は「銀聯クラウド」構築プロジェクトで正式に協力に達した。今回...

#黒5# siteground: Google Cloud で稼働する仮想ホスティングと VPS、85% オフ

高品質の海外仮想ホストを使用することを好む多くのユーザーは、おそらくSitegroundを知っている...

インターネット運用: 優れたエクスペリエンスを設計するには?

優れたデザインとは、デザインそのものを目的とするものではなく、全体的なユーザー エクスペリエンスを追...

新人として、私はこのようなウェブサイトを作りました

私は沿岸の三級都市に住む小さなウェブマスターです。ウェブサイトの構築を始めたのは 2009 年です。...

MetInfo エンタープライズ ウェブサイト構築システム V6.1.1 リリース

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っていますソフトウェ...

dogyun: 香港独立サーバー、月額300元から、「6.1」イベント、100元の直接割引、100回のチャージごとに10無料

Dogyun(狗云)ハッピーこどもの日プロモーション:香港独立サーバー直接100元の割引、さらに10...

マルチクラウドがトレンドになっています。企業はマルチクラウド戦略をどのように実装すべきでしょうか?

調査会社 IDC の調査によると、マルチクラウド アプローチは市場シェアを拡大​​していくと予想され...

クラウドコンピューティング2.0時代:産業のアップグレードを支えるクラウドビジネス

6年後、テンセントは大規模な社内構造調整を実施し、クラウドおよびスマート産業事業グループを設立しまし...

Kubernetes の管理について知っておくべき 7 つのこと

「ますます多くのチームが、コンテナ化されたワークロードとアプリケーションを本番環境で実行するために ...