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

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

翻訳者 |崔浩

企画 |趙雲

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

推薦する

クラウドファーストと顧客ファーストを掲げ、SAPは中国でよりスマートな企業の構築を支援

[51CTO.com からのオリジナル記事] SAP は最近、企業の変革をサポートし、変革方法に関す...

高品質なウェブサイトコンテンツの3つの基準

こんにちは、ウェブサイトの最適化に取り組んでいる皆さん。私は Ye Fanxi です。ウェブサイトの...

IBM副社長:サン買収後、SPARCユーザーを移行予定

IBMがサン・マイクロシステムズの買収交渉中であるというメディア報道を受けて、IBMのサーバー担当副...

ブルークラウドCEOウェンダ・ケ氏との独占インタビュー:経営とはバランスの芸術

『CHO 最高人事責任者のビジネスと管理レビュー』(以下、「CHO」)は、Zhaopin.com が...

ローカルウェブサイト運営の「4つの診断方法」:観察、聴取、質問、触診

ローカルウェブサイトの運営とプロモーションに携わるウェブマスターには、一定の文化的リテラシー、基本的...

Baidu を使ってウェブサイトを宣伝する方法

Baidu Knows を使用して自分の Web サイトを宣伝することは、Web マスターがよく使用...

優れたデザインはこうして生まれる: 優れたインターネット デザインに関する 100 のこと

文 | 楊英、王青、特別寄稿者胡雲、グラフィック | 李婷婷良いデザインには人々を魅了する力がありま...

推奨: colossuscloud - プロフェッショナル XP/Windows7/8/2003/2008/リモート VPS を含む VPS が 35% オフ

colossuscloud.com は、それほど昔に設立されたものではなく、serverpoint....

hostodo: ラスベガス VPS、年間 39.99 ドル、KVM/3G メモリ/2 コア/30gNVMe/5T トラフィック

Hostodo は、コストパフォーマンスに優れた米国西海岸のラスベガスデータセンターの VPS を ...

ウェブサイトのナビゲーションを最適化する方法

誰もがウェブサイト ナビゲーションとは何かをご存知だと思います。ウェブサイト ナビゲーションの目的は...

競争的なホットワードを選択する代わりに、すぐに効果が出るコールドワードを選択する方が良いでしょう。

ウェブサイトがキーワードを正しく選択しているかどうかによって、ウェブサイトの成功または失敗が決まりま...

Linux オペレーティングシステムのメールサーバーを簡単に構築する方法

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

ブランドマーケティングにおける製品のジレンマ!

インターネット上での情報交換の加速により、さまざまなコンテンツを入手する時間が短縮され、あらゆる面で...

Discuz! X2.5 ベータ版がリリースされ、ウェブマスターが体験およびテストできるようになりました

今日のニュースは、主にウェブマスターがダウンロードして新しいバージョンの機能を体験できるように、Di...

ベルリンはドメイン名を持つ世界初の都市となる。市民と企業は30〜60ユーロで登録できる。

3月18日より、ドイツのベルリンの市民と企業は、年間30〜60ユーロで.berlinドメイン名を登録...