開発者がオブザーバビリティを得ることで問題解決も迅速化する
上述しただけでも十分に理想的な開発環境が実現しそうだが、New Relic Observability PlatformとCodeStreamを連携させることで、開発者の能力を次世代に引き上げる、もっとパワーアップした環境が構築できると齊藤氏は熱く語る。
たとえば、運用チームから操作エラーのトラブルシューティング依頼が開発チーム宛てにあったとする。このとき、どのような状況でいつ発生したのか、頻出度はどのくらいか、いつビルドされたコードかといったヒアリングに始まり、ログをもらった上で、ビルド時のバージョンに戻してから調査を実施するといった作業が発生する。この対応だけで1~2日、最悪の場合は1週間の時間が溶けてしまった。エンジニアであれば、一度はそんな経験をしたことがあるだろうと齊藤氏は振り返る。
New Relic Observability Platformは、インフラからWebアプリ、モバイルアプリまで、フルスタックでシステム全体をリアルタイムで観測できるオブザーバビリティ(可観測性)プラットフォームだ。たとえば、アプリで発生しているトランザクション処理を詳細に追跡して性能のボトルネックやバグなどによる障害を、どのAPIで呼び出されたときにエラーがどの程度頻発しているのか、どのソースコードまたはDBクエリの問題なのか、アプリ側のどのコントローラー処理でエラーが発生しているのかといったレベルまで絞り込み、把握できるのが特長だ。
そのNew RelicとCodeStreamが連携すると、問題発生箇所のコードを自動的に特定し、「Open in IDE」ボタンからIDEを開いて、該当コードを確認できるようになる。IDEを使わない運用チームは、New Relicのチャット経由で開発チームのIDE内CodeStreamにメッセージを投げることができるので、コミュニケーションも円滑に行える。
「作業中のコードが最新のビルドバージョンではなく、ブランチを切った別のバージョンであっても、コミットハッシュ(commit SHA)から問題の構造箇所をピンポイントで特定できる」。そう述べる齊藤氏は、開発者がオブザーバビリティを得ることで、開発者視点からの迅速なトラブルシューティングが可能となり、開発や運用、QAのコミュニケーションコストを大幅に削ることができると説明する。
![New Relic Observability Platformとの連携で開発ライフサイクル全体のオブザーバビリティを高める](http://cz-cdn.shoeisha.jp/static/images/article/15651/15651_004.png)
「新規サービスをタイムリーにリリースして改善し続けることが求められる今、開発者はコードだけ書いて、あとは運用チームやQAチームに投げて終わるという従来のやり方は、時代にそぐわない。開発者自らがアプリの性能やバグに対して責任を持ち、ユーザーの利用状況などを把握して分析、改善につなげるフィードバックサイクルに積極的に関わっていく。それが、開発者に今後求められる次世代スキルではないだろうか」(齊藤氏)
New Relicは無償でサインアップでき、CodeStreamも任意のIDEのプラグイン一覧から無償でインストールできる。効率的で快適なコーディング環境が整い、加えて次世代スキルまで身につけられるCodeStreamxNew Relicの組み合わせ。「ぜひ試してみて、私と同じ興奮を味わってもらえたら幸いだ」と齊藤氏は述べた。