[論文レビュー] No Free Lunch: Microservice Practices Reconsidered in Industry
本研究では、51名のプロフェッショナルと14名の専門家インタビューを通じて産業界のマイクロサービス実践を実証的に調査し、達成された利点に基づき3段階の成熟度レベル(独立した開発とデプロイ、高いスケーラビリティと可用性、サービスエコシステム)を特定した。11の主要な課題と関連する実践を同定し、実務家にはインfra構築への道筋を、研究者には現実世界のマイクロサービスの限界を解消する基盤を提供する。
Microservice architecture advocates a number of technologies and practices such as lightweight container, container orchestration, and DevOps, with the promised benefits of faster delivery, improved scalability, and greater autonomy. However, microservice systems implemented in industry vary a lot in terms of adopted practices and achieved benefits, drastically different from what is advocated in the literature. In this article, we conduct an empirical study, including an online survey with 51 responses and 14 interviews for experienced microservice experts to advance our understanding regarding to microservice practices in industry. As a part of our findings, the empirical study clearly revealed three levels of maturity of microservice systems (from basic to advanced): independent development and deployment, high scalability and availability, and service ecosystem, categorized by the fulfilled benefits of microservices. We also identify 11 practical issues that constrain the microservice capabilities of organizations. For each issue, we summarize the practices that have been explored and adopted in industry, along with the remaining challenges. Our study can help practitioners better position their microservice systems and determine what infrastructures and capabilities are worth investing. Our study can also help researchers better understand industrial microservice practices and identify useful research problems.
研究の動機と目的
- 産業界におけるマイクロサービスの実態を理解し、理想化された学術的モデルと対比する。
- 達成された利点と駆動要因に基づき、マイクロサービスシステムの成熟度レベルを特定する。
- マイクロサービスの能力を制限する実務上の問題を特定し、既存の解決策と残された課題を評価する。
提案手法
- 51名の産業界プロフェッショナルを対象にオンライン調査を実施し、マイクロサービスの実践と利点を評価した。
- 経験豊富なマイクロサービス専門家14名に対して、組織的・技術的課題を深く探るためのインタビューを実施した。
- 達成された利点とインfra能力に基づき、マイクロサービス成熟度レベルを分類する概念的モデルを構築した。
- テーマ分析を用いて調査データとインタビュー内容を分析し、繰り返し現れる問題、実践、成熟度のパターンを同定した。
- 課題を技術的、組織的、統合関連の3領域に分類し、関連する緩和戦略を提示した。
- 実践を成熟度レベルにマッピングすることで、組織が継続的に改善を図るためのロードマップを導出した。
実験結果
リサーチクエスチョン
- RQ1RQ1: 産業界のマイクロサービスシステムは、どのような成熟度レベルに分類され、それぞれの特徴、駆動要因、達成可能な利点は何か?
- RQ2RQ2: マイクロサービス開発能力を制限する一般的な問題は何か? また、成熟度レベルごとにその問題はどのように変化するか?
- RQ3RQ3: それぞれの成熟度レベルで、これらの問題に対処するためにどのような実践が採用されたか? また、未解決の課題は何か?
主な発見
- マイクロサービスシステムの3つの明確な成熟度レベルが同定された:独立した開発とデプロイ、高いスケーラビリティと可用性、サービスエコシステム。それぞれが特定の利点とインfra投資と関連している。
- 独立した開発とデプロイレベルが最も一般的で、迅速な機能提供とチームの自律性を可能にするが、観測性やレジリエンスに欠けることがしばしばある。
- 高いスケーラビリティと可用性レベルは、DevOpsおよびSREの実践がしっかりしている組織で達成されており、動的スケーリングと高いシステム稼働率を可能にするが、顕著な運用の専門知識を要する。
- サービスエコシステムレベルは最も高度な成熟度を示し、サービス間連携、共有ガバナンス、プラットフォームレベルの支援が特徴で、騰訊(Tencent)やeBayのような大規模システムで観察された。
- 11の実務的課題が同定された。サービスディスcovery、分散トレーシング、データ一貫性、組織内でのスライス(スロット)など、成熟度レベルごとに影響の度合いが異なる。
- サービスメッシュ、混沌の工学(chaos engineering)、自動化されたCI/CDといった実践は、成熟度の高いレベルで採用されているが、分散システムのデバッグや技術的負債の管理といった課題は、高度な組織でさえも依然として顕著に残存している。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。