アプリパフォーマンス管理において可観測性ツールや生成AIはどれぐらい有効なのか:開発者体験を向上できるのか
専門家らによると、Platform Engineeringの時代において、開発者チームと運用チーム、双方の共通言語として、可観測性にはまだ改善の余地がたくさんあるという。
[Beth Pariseau,TechTarget]
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
専門家らによると、プラットフォームエンジニアリングチームが実稼働環境でエンタープライズパフォーマンス管理タスクを担うことが増えるにつれ、開発者にアプリについての洞察を提供する機会が失われているという。
アプリコードの計測設定は、Kubernetesなどの分散クラウドインフラシステムの複雑さにそれほど慣れていないアプリ開発者に代わって、Platform EngineerやSRE(Site Reliability Engineer)が介入する領域だ。
またアナリストは、特に開発者のアプリパフォーマンスに関する洞察を基盤となるインフラストラクチャデータと結び付けるプラットフォームエンジニアリング分野において、可観測性(オブザーバビリティ)チームが増加していることにも気付いている。
「可観測性チームとCoE(Centers of Excellence)の一元化に向けた動きがある。その推進力の一つは、コストコントロールだ。そして、これらのチームがコストをコントロールしようとしている方法の一つは、チームにデータ(ストレージ)割り当てを設定することだ」(IDCのアナリスト、ナンシー・ゴーリング氏)
また、ゴーリング氏は「このようなチームは、開発者が自身のアプリコードの計測を設定する必要性を置き換えるものではないが、可観測性データの収集に関連する継続的な運用コストを管理する負担を軽減するのに役立っている」と述べている。
「インフラの監視には、開発者が気にする必要のない側面も幾つかある。それを考慮しても、実稼働環境の可観測性に対するプラットフォームエンジニアリングチームの関心とアプリ開発者の関心の間には依然として溝がある。開発者がより多くの洞察を得られるよう、より詳細なデータへのアクセスを可能にするツールが増えている。おそらくソフトウェアの計測設定の改善につながるだろう。しかし、どのツールにもまだ火がついていない」(Gartnerのアナリスト、グレッグ・ジークフリート氏)
可観測性ツールにおける開発者体験の再考
一般に理解されている可観測性のベストプラクティスは、開発者が実稼働環境にデプロイする前に自身のコードを計測できるようにすることで。これにより、「自分で構築して実行する」DevOpsのモードでパフォーマンスを管理することが効果的だ。
Monitorama Conferenceにおけるプレゼンテーションで、可観測性ベンダーLightStepの開発者アドボケート、アドリアナ・ヴィレラ氏は次のように述べた。
「私は『OpenTelemetry』のエンドユーザーワーキンググループに属している。最近、可観測性の文化を促進する企業における経験を話してくれた人がいる。この話で素晴らしかったのは、企業の重役が『可観測性を実装しなければならない。そして自分のコードの計測を設定するのは開発者自身だ』と指示したということだ。つまり、『コード計測を設定する時間がない』と不満を持つ開発チームでも、やらざるを得ない」
しかし、市場への新規参入者やその初期の顧客の中には、可観測性に関わる開発者体験がそれほど厳しいものである必要があるのかと、疑問に思っている人もいる。
「開発者がコードやスパンにカスタムメトリクスを追加したり、可観測性ツールを使用したりできることは、開発者が本番環境で実行するものをコントロールするために非常に重要だ」と、クラウドインフラ関連スタートアップを対象として初期段階の投資を行う企業、Heavybitのゼネラルパートナーであるジョセフ・ルシオ氏はインフラのイベント『Monitorama Conference』における講演で述べている。
しかし、新人エンジニアにとって、圧倒的な数の可観測性ツールが存在していることは「不可解であり、この技術に不慣れな人にとって全く歓迎できるものではない」とルシオ氏は言う。
Monitorama Conferenceで講演中のルシオ氏
ある市場調査会社のProduction Engineeringチームは、Groundcoverの新しい KubernetesベースのAPM(Application Performance Management)ツールを使用して、開発者にとってこのタスクの負担を軽減しようとしている。Groundcoverは、eBPF(extended Berkeley Packet Filter)を使用してKubernetesクラスタからデータを自動的に収集し、それを特定のアプリに関連付ける。これは、最終的には、ベンダーツール「Datadog」を使用してアプリを計測するために開発者が使用していた言語固有のSDKを置き換える可能性がある。
「特定のアプリの動作を監視する『カスタムメトリクス』については、今後も開発者が責任を負う」と、ニューヨークに拠点を置くSimilarWebのProduction Engineer、イーライ・ヤコブ氏は語る。「しかし、私たちProduction Engineerは、開発者にエコシステムの“残りの部分”を提供できる。例えば、開発者がKubernetesを実行している場合、デフォルトのCPUやメモリの“計測”について心配する必要はない。Groundcoverが収集しているデータは全てKubernetes内にある。開発者がサービスに何かを統合する必要はない」
Lightrun、Rookoutといった新興ベンダーも、コード変更を必要とせずに開発者のアプリを計測するためのデバッグツールの自動計測機能を提供している。
生成AIが救いとなる?
2023年、生成AIが大げさに宣伝される中、可観測性ベンダーは、主に、比較的複雑で、多くの場合“独自”のデータクエリ言語にユーザーフレンドリーな表面を追加するために、ツール用の自然言語インタフェースを迅速に展開してきた。このようなベンダーには、Honeycomb、Splunk、そして最近ではDynatraceやDatadogなどがある。
「開発者がより多くの洞察を得るために、そのデータにさらにアクセスできるようにしようとするツールの出現が見られる。これによって、ソフトウェアにさらに優れた計測機能を組み込むことができるようになるかもしれない。ただし、ほとんどの開発者はコードでの作業に慣れているので、生成AIのインタフェースは、可観測性ツールを使用する開発者体験を向上させるための明白なオプションであるとは限らない。開発者は、APMソリューションの使い方を学ぶよりも、もっと時間を有効活用できるはずだ」(Gartnerのジークフリート氏)
Heavybitのルシオ氏は、「長期的には、生成AIと汎用(はんよう)AIが大きな効果をもたらす可能性がある」と述べている。一方で、ジークフリード氏は「短期的には、『ChatGPT』のような大規模な言語モデルが可観測性、特に開発者体験に大きな影響を与えるかどうかについては懐疑的だ」としている。
ルシオ氏は上記プレゼンテーションで「むしろ、セキュリティや実稼働レベルのシステム監視とは異なり、可観測性は開発ライフサイクルの左端にまだシフトしておらず、開発者にとってはそれを変えることが最も有益だ」と述べる。新規の新興ベンダー(その一部はHeavybitのポートフォリオ企業に含まれている)は、『可観測性駆動開発』という分野に取り組んでいる。
「コードを書いているときに、『このコードが実稼働環境でどのように見えるか』について何らかの入力があれば便利ではないだろうか? こうした点がまだ足りない。出荷時にグラフが表示されるのは素晴らしいことだ。しかし、IDEで今すぐ『どのように動作するか』を知ってはいけないのだろうか?」 (ルシオ氏)
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
関連リンク
この記事に関連する製品/サービスを比較(キーマンズネット)