マイクロサービスは一時的な流行からトレンドへと進化しつつある – O’ReillyとNeal Ford氏が2018年7月に実施し,12月に公開した"The State of Microservices Maturity"調査の結果である。これはInfoQが先頃リリースしたArchitecture and Design Trends Reportの結論とも一致する。同レポートからは,調査対象となった実践者の間に,全体としてマイクロサービスに対する前向きな姿勢のあることが見て取れる。調査中最も重要な発見は,DevOpsとマイクロサービスが相互に作用し合っており,一方の成功が他方の成功に大きく貢献する,ということだ。
マイクロサービスは成功を収めた
866件の回答を得た今回の調査では,マイクロサービスがどのように実践されているかが注目された。"マイクロサービスに従事する企業のための調査"ではあるが,最初の大きな発見は,マイクロサービスを採用した企業が熱意を持ってそれを実施し続けている,ということだ。回答者の50パーセント以上が,自社における新規開発の50パーセント以上でマイクロサービスを利用している,と答えている。この事実は,それら企業におけるマイクロサービスの成功を如実に物語っている。86パーセント以上の回答者が,自らのマイクロサービス導入について,少なくとも部分的には成功したと答えている事実は,それをさらに裏付けるものだ。
マイクロサービスと相性のよいDevOpsプラクティス
レポートでは,マイクロサービス実践者の中で,DevOpsプラクティスが継続的に進められていることが明らかになった。回答者の大半が,継続的デプロイメントや,自動テストを含むデプロイメントパイプラインなどのDevOpsプラクティスの採用を示している。Neal Ford氏によると,マイクロサービスが存続するためにはDevOpsが必要なのだ。"マイクロサービスアーキテクチャを完成するには,DevOpsプラクティスにおいて,少なくともある程度の成熟度が必要なのです。"氏はこのように示唆した上で,".... アーキテクチャとDevOpsのシナジーは,責務をより賢明なものにするという意味において,マイクロサービスアーキテクチャスタイルの大きな力のひとつになります。"
この最後の言葉は,Nicole Forsgren氏の昨年の秀作である"Accelerate"などの結論ともよく一致する。同書では,ハイパフォーマンスなチームにおけるDevOpsプラクティスの状況を報告したもので,その中の1章では,ハイパフォーマンスなチーム(DevOpsを導入していた)が,マイクロサービスアーキテクチャを使用したカスタムソフトウェアを開発している場合の多いことが確認されている。興味深いことに,継続的デリバリに最も貢献しているのがマイクロサービス型の疎結合アーキテクチャであることも確認された。
Kubernetesは蚊帳の外
Kubernetsはここ数年,ブログやカンファレンスで見ないことのないほど普及しており,GoogleやMicrosoft,Pivotalといった企業が多大な投資を続けている。しかしながら今回のレポートによれば,Kubernetesの採用はまだ限定的である。回答者の大半がコンテナを開発で使用しているにも関わらず,60パーセント以上がまだ使用していないと答えているのだ。Neal Ford氏によると,この調査は"Kubernetesが誕生したばかり"の頃に行われたものであり,他の話題になったテクノロジと同じく,"企業という大型船がこれほど革新的な技術に向けて舵を切る"には,それなりの時間を要するものなのだ。しかしながら氏は,Kubernetes(あるいはその競合プロダクト)の将来的な市場を調査結果から予測することはできないものの,"Kubernetesへの関心が依然として存在する"ことは間違いないとして,今回の調査では,ほぼ半年後である"現在の状況が極めてダイナミックなものである"ことを反映できていないことを認めている。
適切に分離されたコンテキスト境界の確立はまだ進行中
Sam Newman氏は名著"Building Microservices"の一章を割いて,ドメイン駆動の設計概念であるコンテキスト境界を使って,マイクロサービスの適切なバウンダリを求める方法について論じている。しかしO’Reillyの報告からは,サービスを明確にする手段としてのDDDの利用に成功したレベルがそれほど高くないことが分かる。ユーザの約50パーセントはまだ進行中と考えており,残る3分の1が中程度の成功を収めたと回答しているに過ぎない。レポートではDDDの採用レベルというよりも,"2つ(マイクロサービスがDDDから生まれたものであることは間違いない)の関係性をたどる"ことを重視しており,Neal Ford氏は自身の経験から,"企業は適切なドメイン/サービスの粒度を見出すために苦慮しており,回答はそれを裏付けるものだ"と指摘している。
元となったO’Reillyの調査は,2018年8月末までの数ヶ月間にわたって実施された。このレポートは,VelocityカンファレンスでのDevOpsレポートなど,過去に実施された同種のレポートにヒントを得て,それをアピールした初めてのものだ。