Logz.ioが、DevOps業界の年次調査とその分析結果をリリースした。今回の重点は可観測性(observability)である。調査の結果から、DevOpsと可観測性に関するツールのスプロール(sprawl)が問題化していることと、アーキテクチャの複雑化が可観測性のソリューション実装において大きな課題となっていることが明らかになった。今後1年間で、分散トレースを中心とした可観測性への投資が増大するだろう、と同社では予測している。
今回の調査では、回答者に対して可観測性の定義が質問された。回答者の大部分は、可観測性とはログやメトリクス、トレースを併用することである、と答えている。約30パーセントが、出力データからシステムの状態を判断可能な度合を可観測性として回答している。例えば、Real KineticのマネージングパートナであるTyler Treat氏は、可観測性を"データリッチかつ忠実度の高い方法で、事実からシステムの状態を詮索する能力"である、と考えている。
また調査では、63パーセント以上が複数の可観測性ツールを使用していること、その内の14パーセントは5つ以上のツールを併用していることが明らかになった。ツールセットの中では、ログ管理と解析用のツールが最もポピュラーで、73パーセントの回答者がこの種のツールを活用していると答えている。また40パーセントは、インフラストラクチャの監視と警報に関するツールを導入している。一方で、66パーセントの回答者が、可観測性データを補強するためのトレースツールをまったく使用していない、と答えている。
これらさまざまなツールセットの使用は、"可観測性の三本柱"であるメトリクス、ログ、分散トレースに沿ったものだ。しかしながら、LightStepのCEOであるBen Sigelman氏は、"エンジニアが犯す共通的な間違いは、これらの柱を個別に捉えて、それぞれに対処する個別のソリューションを評価し、実装することです"、と警告している。
これらのツールセットに関して、回答者の大部分がオープンソースの可観測性スタックを積極的に導入している。ELK stackが最もポピュラーなログツール、Gradanaが最もポピュラーなメトリクスツールである。また、トレースを使用している回答者の多くは、Jaegerをツールとして使用している。調査からはマシンラーニングソリューションの普及も明らかになっており、回答者の40パーセントがMLソリューションを利用中、または今後数年内の導入を検討している。
41パーセントの回答者は何らかの形でサーバレスアーキテクチャを使用しており、48パーセントがサーバレスについて、自身の可観測性ストラテジにおいて最も大きな技術的障害である、と答えている。この結果は、マイクロサービスアーキテクチャがシステムの複雑性の発生場所をシフトするという、Treat氏のコメントとも一致している。
モノリスが複雑性を内部に抱えるのに対して、マイクロサービスの複雑性はその表面に現れます。その結果、コードの複雑性はオペレーションやアーキテクチャの複雑性にシフトし、まったく違うタイプの課題となるのです。
DevOpsのプラクティスと方法論が成熟するに従って、マイクロサービスやサーバレス、コンテナテクノロジの採用が増えたと報告するチームが多くなっている。調査チームは次のように述べている。
これらの数値が示すのは、エンジニアチームが新たなテクノロジの採用を続ける一方で、これらのテクノロジがシステムのパフォーマンス可視性の阻害原因ともなり、結果として可観測性の欠如につながっているという事実です。回答者の58パーセントがこの仮説を肯定していて、可観測性の最も大きな障害は複雑なアーキテクチャである、と回答しています。これは、サーバレスやKubernetesといったテクノロジによって、現在のアーキテクチャが複雑化したことによるものです。
このようなDecOpsプラクティス採用の増加に伴って、64パーセントが、可観測性を実現する責任は主としてDevOpsエンジニアにある、と報告している。半数近くは開発者がこの責任を共有するようになったと回答しており、39パーセントが運用チームも関与していることを示唆している。しかしこれらの結果から、このアプローチがいわゆる"可観測性の文化(culture of observability)"に沿ったものだと結論付けるのには問題がある。可観測性の文化へと進もうとする組織が犯しがちな共通の過ちは、"運用チームの名前を単純に可観測性チームに変える"ことだ、とTreat氏は説明する。"OpsエンジニアからDevOpsエンジニアに名前を変えれば、何かのスイッチが切り替わると考えるのと同じことです。"この考え方は、HoneycombのCEOである Charity MajorsがInfoQとのインタビューで答えた内容と一致している。
開発者が自分自身のサービスを所有して運用することになる、これはよい方法です!運用のエキスパートとしての私たちの役割は、力を与えて、教育して、その力を増幅することにあります。その上で、構成可能なインフラストラクチャスタックとパイプラインを構築するために使用できるような、世界クラスの大規模なプラットフォームを構築するのです。
これらの結果から、Logz.ioチームは、次年度の予測をいくつか行った。企業、特に大規模な企業組織は次年度、特にログや分散トレースといった分野で、可観測性により大きく投資を始めるだろう、とチームは考えている。その他の主な結論としては、"ベンダが監視やトラブルシュート、セキュリティといったツールを統合するに従って、ツールのスプロール削減がより重視されるようになる"、というものがある。この結論は、監視分野の主だったプレイヤたちが"任意範囲の構造化イベント、インデクスやスキーマを必要としない高カーディナリティディメンジョン(high-cardinality dimension)、リクエストパス内のサービス間で伝搬するコンテキスト共有"などの特殊な機能の導入を検討し始めるだろう、というTreat氏の予測とも合致する。
これらの結論は、InfoQの編集チームによる2019年の振り返り記事でも公開されている。調査チームは、"来年は"複雑性を管理"する年になるのでは、と思っています"、と述べている。"マイクロサービスやサーバレスといったパターンの導入で、よりスケーラブルで分離性の高いソリューションが可能になっているからです。"ただし、"これらの開発ペースに対して、現在開発されているような分散型システムの複雑性を理解する能力が — 関連するツーリングの普及とともに — 追いついていない、というのが現状です。"