Skip to main content
QUICK REVIEW

[論文レビュー] A comparison between traditional and Serverless technologies in a microservices setting

Juan Mera Menéndez, José Emilio Labra Gayo|arXiv (Cornell University)|May 23, 2023
Software System Performance and Reliability被引用数 7
ひとこと要約

この論文は、AWSを用いて、従来のKubernetesからサーバessアーキテクチャへのマイクロサービスベースの eコマースアプリケーションの移行におけるパフォーマンスとコストのトレードオフを評価している。AWS Lambda、ECS Fargate、およびデータベースオプション(DynamoDB と DocumentDB)を組み合わせた9つの構成を比較した。研究では、サーバーレスが運用の負担を軽減する一方で、ワークロードのパターンに応じてパフォーマンスとコストの結果が顕著に異なることが判明しており、コールドスタートとステート管理がアーキテクチャ設計における重要な要因であることが示された。

ABSTRACT

Serverless technologies, also known as FaaS (Function as a Service), are promoted as solutions that provide dynamic scalability, speed of development, cost-per-consumption model, and the ability to focus on the code while taking attention away from the infrastructure that is managed by the vendor. A microservices architecture is defined by the interaction and management of the application state by several independent services, each with a well-defined domain. When implementing software architectures based on microservices, there are several decisions to take about the technologies and the possibility of adopting Serverless. In this study, we implement 9 prototypes of the same microservice application using different technologies. Some architectural decisions and their impact on the performance and cost of the result obtained are analysed. We use Amazon Web Services and start with an application that uses a more traditional deployment environment (Kubernetes) and migration to a serverless architecture is performed by combining and analysing the impact (both cost and performance) of the use of different technologies such as AWS ECS Fargate, AWS Lambda, DynamoDB or DocumentDB.

研究の動機と目的

  • 従来のKubernetesからサーバーレスアーキテクチャへのマイクロサービス移行がもたらすパフォーマンスおよびコストへの影響を評価すること。
  • AWS Lambda や ECS Fargate といったサーバーレス技術をマイクロサービスに採用する際のアーキテクチャ的トレードオフを特定すること。
  • DynamoDB(サーバーレス)と DocumentDB(プロビジョニング済み)というデータベース選択が、システムコストとパフォーマンスに与える影響を分析すること。
  • 実世界のクラウドネイティブプロジェクトにおける移行意思決定を支援するため、実証データとオープンソースのプロトタイプを提供すること。
  • Kubernetesからサーバーレスへの移行において顕在する非自明な課題、特にコールドスタート、ステート管理、リソース割り当てを強調すること。

提案手法

  • KubernetesとSpring Bootを用いて、マイクロサービスベースのeコマースアプリケーションのベースラインを実装した。
  • AWS Lambda、ECS Fargate、および2つのデータベースサービス(DynamoDB(完全にサーバーレス)と DocumentDB(プロビジョニング済み、サーバーレスではない))を組み合わせた9つの異なる構成にアプリケーションを移行した。
  • 制御されたワークロード下でリクエストの遅延とスループットを測定することでパフォーマンスを評価した。
  • 各構成について、AWSの価格モデルに基づいてインfraストラクチャコストを計算した。
  • 自動化スクリプトとモニタリングツールを用いて、すべてのプロトタイプで実行時のメトリクスを収集した。
  • すべての実装および評価スクリプトをオープンソース化し、再現可能性とコミュニティ利用を促進した。

実験結果

リサーチクエスチョン

  • RQ1マイクロサービス環境における従来のKubernetesとサーバーレスデプロイメント(Lambda、Fargate)のパフォーマンス特性(遅延、スループット)にどのような差が生じるか?
  • RQ2マイクロサービスアーキテクチャにおいて、サーバーレス関数とマネージドコンテナ、プロビジョニング済みデータベースのコストにどのような影響があるか?
  • RQ3DynamoDB と DocumentDB のデータベース選択が、サーバーレスおよび従来型アーキテクチャにおけるコストとパフォーマンスに与える影響は何か?
  • RQ4Kubernetesからサーバーレスへの移行において、顕在する主な非機能的課題(例:コールドスタート、ステート管理)は何か?
  • RQ5サーバーレス移行におけるアーキテクチャ設計意思決定が、運用の複雑さと保守性に与える影響はどの程度か?

主な発見

  • AWS Lambda などのサーバーレスアーキテクチャは運用の負担を顕著に軽減するが、特に低リクエスト頻度の状況ではコールドスタートによる変動する遅延が生じる。
  • ECS Fargate は、予測可能なパフォーマンスとLambdaより低いコールドスタートの影響を提供するが、細粒度のサーバーレス関数に比べてコストが高くなる。
  • とくに不規則なまたはバースト型のトラフィックパターン下では、DynamoDB が DocumentDB よりも一貫して低いコストを実現した。
  • サーバーレスにおける自動スケーリングのコストは無料ではない。スケーリングのトリガーが適切にチューニングされていないと、パフォーマンスの低下とコスト増加が発生する可能性がある。
  • Kubernetesからサーバーレスへの移行は、単なるデプロイ変更ではなく、アーキテクチャの再設計を伴い、ステートフルなコンponentに対しては顕著な再設計作業が必要となる。
  • サーバーレスと従来型マイクロサービスのどちらが最適かは一概には言えない。パフォーマンスとコストの結果は、ワークロードの特性とデータアクセスパターンに強く依存する。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。