テクノロジーの変遷に振り回された30年から、次の30年を予想する
クラウド時代のサーバー監視と分析サービスをSaaSで提供するプラットフォームとして、世界に25,000社以上の顧客企業を擁する「Datadog」。その日本法人であるDatadog Japan合同会社でTechnical Account Managerを務める山田晃嗣氏は、「オブザーバビリティとセキュリティを提供する最先端のサービスであり、日本でも多くのお客さまが自らのブログでDatadogの使い方や良さを発信している。ぜひ検索してみてほしい」と胸を張る。
しかし、そんな山田氏は現職を含めて30年間で10社を渡り歩いたジョブホッパーであり、その間に会社やテクノロジーの変遷に対応しつつ悩まされた経験を持つ。「その経験をもとに、AI時代のエンジニアが30年、40年と活躍するために必要なスキルについて提言したい」と語った。
現在、生成系AIの進化が注目される中で、ChatGPTに日本語で要求仕様を指定すると、かなりのレベルまでプログラムコードを生成することに驚かされた人は多いはずだ。その精度の高さ、進化の速さに、「30年後には、開発エンジニアやプログラマの仕事がAIに取って代わられるのではないか」と懸念を抱く人も多い。山田氏は「30年後の予測は難しいが、少なくとも振り返って30年前はどうだったのかという観点から考えてみよう」と述べ、コンピュータの変遷について紹介した。
そもそも30年前に良く使われていたコンピュータシステムは「一人一台」ではなく、プログラミングのためには計算機室などと呼ばれる部屋に行き、専用の端末を使うしかなかった。主な利用言語はFORTRAN77や8086アセンブラなど。世の中全体でもパソコンはごく一部のマニアのものであり、ワープロ専用機がようやく普及した頃で、携帯電話はまるで軍用トランシーバーのようなものだった。
以降、30年の間にエンジニア視点では「オブジェクト指向」や「フレームワーク」など、一般では「Windows」や「インターネット」などが登場・普及し、仕事や生活に大きな影響を与えた。いずれも現在では当たり前になっているが、30年前は存在しなかったものばかりだ。つまり、30年間でこれだけの変化があったことは、これから30年もどんどん新しいものが登場し変化すると考えるのが自然だろう。
山田氏は、「ネットで買物をすることが一般的になったように、今はまだデジタル化されていない分野でDXの需要が拡大し、必然的にエンジニアの需要も高まる。しかし、要求仕様をコード化するだけの単純なプログラミングはAIに代替される可能性は大いにあるだろう。その分エンジニアには、さまざまな手法やパラダイム、ツールなどを使いこなす必要があり、高度化すると考えられる。必然的に旬のテクノロジーも移り変わる」と語る。
しかし一方で、山田氏のこれまでエンジニアとして生きてきた30年間を振り返り、これからの30年間をエンジニアとして生きるとすれば、「普遍的なスキルやテクノロジーがあるのではないか」と語った。
これからのエンジニアに「オブザーバビリティ」が必要な理由とは
現在、エンジニアに求められる"旬"のスキルとしては、DevOpsやマイクロサービス、AIツールなどがあり、それは時代とともに移り変わっていく。一方、それらを支えるための「全体を俯瞰する力」や「ビジネス思考」「コミュニケーション」などの基盤スキルは、AIでの代替が難しく、いつの時代にも求められる普遍的なスキルといえるだろう。そして、山田氏は「その間にある『オブザーバビリティ』こそ、今後求められるキースキルとなる」と語る。
「オブザーバビリティ」とは、比較的新しい用語であり、山田氏もIT分野で耳にしたのは3〜4年前だという。「可観測性」などとも訳され、元々は制御工学などで使われる用語であり、「外部出力によって複雑なシステムの内部状態を理解できること」を表す。つまり、複雑化・巨大化していくソフトウェアを中心としたシステムの中身をしっかり見ようという技術なわけだ。
これまで「監視」「モニタリング」などと対比して語られることが多いが、「旧来の監視」がインフラの運用担当者によってなされるのに対し、「オブザーバビリティ」は内部の行動やアプリケーションの動きも含めて見る必要があるため、開発者も意識する必要がある。
山田氏は、車のダッシュボードの例を出し、「『旧来の監視』は固定の数値を見るメーターのようなもの。ある程度レッドゾーンが示されており、その要因が何かを判断し対策する部分は人が行なう。『オブザーバビリティ』とは、見るところを柔軟に選べ、何か起きたら問題の所在や対策まで示される」と解説する。しかし、だからといってなぜ、オブザーバビリティがこれからのエンジニアにとって必須スキルなのか。
山田氏は「オブザーバビリティ」が重要スキルとして目される理由として、「マイクロサービスアーキテクチャのメリットとデメリットが背景にある」と語る。つまり、マイクロサービスアーキテクチャはもはや開発エンジニアにとって不可避の技術であり、激しく変化するビジネスニーズに対応するためにも拡張性や柔軟性などのメリットは魅力的だ。一方、複雑になり過ぎるために、何か起きた際には原因の究明がしにくいなど、トラブルシュートが難しいデメリットもある。
その複雑さは、まさにスターウォーズに出てくる「デス・スターアーキテクチャ」などとも呼ばれており、ネットフリックスやツイッターなどのシステムも、かつてマイクロサービスを基盤にしながら複雑化した過去がある。つまり、この複雑性をカバーするのが、オブザーバビリティだという。
正確に言えば、オブザーバビリティの機能の一つであるAPM(アプリケーションパフォーマンスモニタリング)だが、広い意味ではオブザーバビリティがマイクロサービスのデメリットをカバーできるといえるだろう。つまり、複雑なマイクロサービスの依存関係を正しく可視化し、その中でどんなリクエストがどう処理されたのかを追跡してくれるわけだ。
3つの普遍的スキルに寄与する「オブザーバビリティ」とその具体例
ここで改めて、エンジニアに求められる普遍的なスキルを思い出してみよう。山田氏は、「全体俯瞰」「ビジネス思考」「コミュニケーション」の3つのスキルに、「オブザーバビリティが非常に密接に関連してくる」と語り、Datadogを例に取って説明した。
まずDatadogは、クラウドベースでSaaSによって提供される「オブザーバビリティ&セキュリティプラットフォーム」を標榜する。オンプレミスのシステムはもちろん、AWSやAzure、Google Cloudなどのクラウド基盤から情報を集め、わかりやすく可視化するものだ。その機能の中から、「全体俯瞰」「ビジネス思考」「コミュニケーション」に関係するものがいくつか紹介された。
全体俯瞰(1):クラウドごと仮想マシンの分布と状況
たとえば2000台近い仮想マシンがどのようなクラウドプロバイダーに分布しているのか、ディスクの使用率で色分けして表示する。ディスクスペースが狭いホストが濃い色で表示され、どこにどのようなホストがあり、どのような状態かが俯瞰できる。
全体俯瞰(2):アベイラビリティゾーン間の通信量
さまざまなネットワークのトラフィックが可視化される。たとえば、AWS上のアベイラビリティゾーンやそれらで構成されるリージョンは地理的に少し距離が離れていることもあり、その間のネットワークの流れがどのくらいパフォーマンスに影響するか、全体を可視化できる。
全体俯瞰(3):マイクロサービスの依存関係
マイクロサービスアーキテクチャの複雑性を緩和して見やすくする。たとえば、ある特定のマイクロサービスに対して他のどのマイクロサービスがリクエストを投げているか、あるいはその特定のマイクロサービスが他のどのマイクロサービスに対してリクエストを投げているかが正しく把握できる。エラーや遅延などの問題が起きたの際の原因究明などに役立てられる。
全体俯瞰に限らず、ユーザーからの「ページ表示」や「キーワードでの商品検索」などの個別のリクエストについても表示が可能で、マイクロサービスの経路や所要時間、エラーの種類や発生場所なども追うことができる。
ビジネス思考:Web画面のクリック状況
エンジニアのスキルとしての「ビジネス思考」は、現在自分が作ってるものがどのようなビジネス価値を持つのか、どのようにお金を稼げるかを意識することが重要だ。Datadogでは、Web画面上でユーザーがどこをどれだけクリックしているのか、どのようにページ遷移をしているのか、傾向分析が可能だ。
コミュニケーションの円滑化:状況共有
さまざまな可視化方法によって共有すべき情報をダッシュボードでまとめて表示できる。それによって、1つの画面を複数の関係者が見て、可視化された目標や現状、課題など同じ情報を共有できるため、部門を跨いで円滑にコミュニケーションが取りやすくなる。山田氏は「お客さまからのコメントでもその有用性がよく聞かれる部分。コミュニケーションツールではないが、コミュニケーションを円滑化するために有効なツールと言える」と強調した。
AIの活用で快適なオブザーバビリティを実現。ハンズオンで体験を!
こうした「オブザーバビリティ」を実現するために、Datadogでは旬のテクノロジーについてもしっかりフォローしている。
例えば、何か問題が生じた時、従来の監視ツールでは、ある問題を既定して合致するかどうかで問題発見を行なっていたが、DatadogはAI機能により設定せずとも自動的に問題を発見する。さらに、Datadogの使い方のほか、問題の状況や解決策などを自然言語で聞くと回答する機能も用意されている。
最後に、これまで説明のあった機能に関して実際にDatadogを使ってのデモンストレーションが行われた。
まず、「全体把握」については、1800個のホストについてクラウドプロバイダーごと配置を可視化し、アベイラビリティゾーンに分割したり、1つのクラウドだけで細かく見たり、さらにはCPUからディスクの使用率へと変えてみたり、ダッシュボード上でワンクリックで閲覧できる。その中で、いくつかのホストのディスクスペースが少なくなっている状況が見つかった。
ネットワークトラフィック状況についても、異なるクラウドプロバイダー間やリージョン間の通信量、アベイラビリティゾーンでの通信量などが可視化できる。アプリケーションについても、マイクロサービスの依存関係が、呼んでいる・呼ばれている関係で示される。さらに中をクリックするとエラーレートやレイテンシの推移を見ることができ、一つひとつのエラーやそれに紐づくトレース情報もドリルダウンで閲覧できる。
そして、「ビジネス観点」については、「クリッカブル・ヒートマップ」の実際の画面が紹介された。そして、ある動きをしたユーザーを指定すると、そのユーザーのマウスの動きを再現できる。つまり、どこをクリックし、どこまでスクロールをし、どこで悩み、何をしようとしたのかが記録され、体感できる。Datadogでは、全体の傾向を見るだけでなく、個別の事象へと簡単にドリルダウンができるわけだ。
「コミュニケーション」で紹介されたダッシュボードについても、「ビジネスチームKPI」の数値が現在のサイトからの売り上げが再現されていることを紹介。たとえばエラーが出るとその影響もほぼリアルタイムで把握することができる。
機械学習による問題検知についても、設定せずとも自動的に問題と思われるグラフや数値が強調されてグラフとなって表示される。さらに生成AIベースのヘルプツールについても、「リアルユーザーのモニタリングをアプリケーションに仕込むにはどうすれば」といった問いに対するやり取りが紹介された。
山田氏は、「オブザーバビリティおよびDatadogに興味を持たれた方は、ぜひ42セッションのラーニングセンターを利用いただければ幸い。全てハンズオン環境付きでデータは2週間ごとにリセットされるものの、期限なしで無料で使える。ぜひ、試してみてほしい」と語り、「旬のテクノロジーだけでなく、今後も使える普遍的なスキルを身につけるためにも、オブザーバビリティやDatadogを意識してもらえれば幸い」と結んだ。