IBM クラウド・ビジョン

複雑化するクラウドネイティブ環境の“可観測性(Observability)”をInstanaで確保する

記事をシェアする:

今日、デジタル変革(DX)に取り組むさまざまな業界のお客様が、迅速なサービス提供や先進的なアプリケーション開発のためにコンテナやマイクロサービスなどクラウドネイティブ技術の活用を進めています。これらの技術を利用したシステム環境の運用管理を行っていくうえで大きな課題となるのが、構成が複雑化し、頻繁かつ動的に変化するシステム環境において、アプリケーションが正常に動作しているのか、問題がどこで起きているかといったことについての“可観測性(Observability)”をいかに確保するかということです。IBMは、この課題に対応したツールとして「IBM Observability by Instana APM」の提供を開始いたしました。本記事では、Instanaがクラウドネイティブ環境の可観測性をどのように高め、いかなる効果をもたらすのかをご説明します。

1.クラウドネイティブ技術の活用で企業が直面する3つの課題
2.複雑なクラウドネイティブ環境の状況をリアルタイムに可視化する「IBM Observability by Instana APM」
3.Instanaに備わる3つの機能 ─ Automation、Context、Intelligent Action
4.Instanaはクラウドネイティブ環境の運用管理に不可欠な監視ツール
5.メール登録だけで使える無料デモ、2週間無料の試用版を提供中!

岩品 友徳

岩品 友徳
日本アイ・ビー・エム テクノロジー事業本部
データ・AI・オートメーション事業部 クラウド・テクニカル・スペシャリスト
大手金融機関様へのミッションクリティカル・システムのデリバリーなどを経て、2012年よりWebSphere製品のテクニカル・セールスとして活動。OpenShiftやKubernetes、基盤自動化の取り組みを通して、お客様システムのモダナイゼーションをご支援中。

 

クラウドネイティブ技術の活用で企業が直面する3つの課題

多くの企業がデジタル変革(DX)においてクラウドネイティブ技術の活用を進める中、新たな課題への挑戦が始まっています。
クラウドネイティブ環境における新たな挑戦

1つは「アプリケーションのデプロイ頻度の変化」です。クラウドネイティブなアプリケーションはアジャイルな開発手法で作られ、開発と運用が密接に連携するDevOpsの体制の下、高い頻度で継続的にリリースされます。これまでは週に1回程度のリリース頻度だったサービスを、1日に何度もリリースするようなケースも出てくるでしょう。もちろん、リリースすれば終わりではなく、リリース後のサービスに問題が生じていないか、新リリースによりパフォーマンスや応答性能に劣化が生じていないかといったことを常に把握していかなければなりません。

2つ目は「技術的な複雑性の増加」です。クラウドネイティブなアプリケーションの多くは、マイクロサービス・アーキテクチャーで実装されます。このタイプのアプリケーションは、何度もリリースを重ねて改善されていく中で連携するコンポーネントの数が増えたり、サービスの構成や粒度が変わったりするため、アプリケーションの構成やサービス間の依存関係などの現状把握を正確に行うのが難しくなっていきます。

しかも、エンドユーザーが使うフロントエンドがクラウドネイティブ技術で作られているアプリケーションでも、バックエンドは基幹システムの機能をAPI経由で呼び出して動作しているケースが一般的です。つまり、クラウドとオンプレミスのハイブリッドクラウド環境や、場合によっては複数のクラウドをまたがったマルチクラウド環境を対象にアプリケーションの状況を把握しなければなりません。

加えて、コンテナ上で稼働するクラウドネイティブ・アプリケーションは、システムの負荷状況などに応じて動的に構成を変えながら動作します。そうした状況も正確に把握しなければ、障害発生時などに適切な対応が行えないのです。

3つ目は「組織」の問題です。クラウドネイティブなアプリケーションの開発/運用でDevOpsの取り組みが進む中、これまで本番環境の運用にかかわることのなかった開発メンバーもサービスの運用にかかわるようになります。それらのメンバーも含めて皆が同じツールを使い、障害対応のほか、パフォーマンスをはじめとするアプリケーションの稼働状況の把握やサービス改善の取り組みなど、さまざまな活動を行っていくのです。従来から利用してきた運用管理エキスパート専用のツールだけでなく、誰もが直感的に扱えるツールも用意すべきでしょう。

 

複雑なクラウドネイティブ環境の状況をリアルタイムに可視化する「IBM Observability by Instana APM」

これらの課題を解決するツールとして注目を集めているのがInstanaです。これはIBMが昨年に買収した米国Instana社の製品ですが、買収が完了する以前より日本でも複数のお客様にクラウドネイティブ環境の監視基盤としてご利用いただいています。今後、IBMからは「IBM Observability by Instana APM」という製品名でご提供します。

Instanaは、クラウドネイティブ化によって複雑化したシステム環境に関する「可観測性(Observability)」を提供するツールです。具体的には、システムが生成するさまざまなデータを自動的に解析することで、お客様がシステムの状況を観測し、その振る舞いを理解できるようにします。複雑すぎて何が起きているのか理解できない不透明なシステムを、全てが理解できる透明なシステムへと変えるツールがInstanaなのです。

IBM Observability by Instana APM

 

Instanaに備わる3つの機能 ─ Automation、Context、Intelligent Action

Instanaは、大きく「Automation」「Context」「Intelligent Action」の3つの機能を誰もが使いやすいインターフェースで提供します。以下に、それぞれの機能の特徴をご紹介します。

▶Automation ─ 稼働中のテクノロジーを検知し、センサーを自動構成して観測を実施

従来のモニタリング・ツールの多くは、対象のシステム環境で使われている技術に応じて導入と設定の作業が必要でした。このタイプのツールの問題点は、構成情報などが動的に変化し続けるクラウドネイティブ環境に適応/追随させるのが難しいことです。

Automation

それに対して、Instanaでは1台のホストに対して1つのエージェントを導入すると、そのホスト上で稼働している全てのテクノロジーをエージェントが検知し、それに対応したセンサーを自動的にロードして観測を開始します。現在、Instanaは約200のテクノロジーに対応しており、各種OSからKubernetesやRed Hat OpenShiftなどのプラットフォーム、JavaやNode.js、Goなどのランタイム環境、NGINXやTomcat、Liberty、JBoss、Kafka、MongoDB、Redisといったミドルウェア、Amazon RDSやAWS Lambdaなどのクラウド・サービスに対応しています。

例えば、Linux上のKubernetes環境で動作するLibertyの上でJavaアプリケーションが稼働している場合なら、Linux、Kubernetes、Docker、Java、Libertyに対応したセンサーが自動的にロードされ、各層に対して観測が行われます。なお、Instanaはクラウドネイティブ環境だけでなく、WebSphereやWebLogic、Db2、Oracle Databaseといった従来型のミドルウェアにも対応しており、基幹系システムのモニタリングも行えます。

Instanaは環境が変化した場合にもエージェントが自動的に検知し、必要なセンサーをロードして観測を続けるため、常に変化し続けるクラウドネイティブ環境に最適なツールだと言えます。リクエストデータを部分的にサンプリングするのではなく、全てのリクエストを1秒単位でトレースして分析するので、問題を引き起こしたリクエストが記録されていないといった事態は起きませんし、リクエスト収集のインターバルの問題でスパイクを見逃してしまうようなこともありません。

Instanaのエージェント導入画面では、AWSやAzureといったクラウド・サービスからKubernetesやOpenShiftなどのコンテナ環境までを対象に、簡単にエージェントを導入できます。いずれの環境も1つのエージェントを導入すれば、その環境で使われている全てのテクノロジーを検知し、必要なセンサーをロードして自動的に観測が開始されます。

▶Context ─ 動作中のコンポーネント/サービス間の依存関係を把握して視覚化

Contextとは、サービスが稼働している状況(コンテキスト)をリアルタイムに把握して提示する機能です。Instanaはセンサーで収集した全てのリクエストを解析し、稼働中のコンポーネント/サービス間の依存関係を把握してリアルタイムに可視化します。各コンポーネント/サービスで生じた問題を調査する際には、それらの呼び出し先も含めて、それぞれのコンテキストを把握したうえで分析が行えます。

Context

この画面は稼働中のあるサービスを構成するマイクロサービス間の依存関係を可視化したものです。マイクロサービス間を結ぶ線上に表示された1つ1つの小さな点はマイクロサービス間の通信のやり取りです。

 

サービスでエラーが発生した際には、そのサービスの稼働状況をInstanaで確認します。エラーが発生した時間帯に受け付けたリクエストの一覧が表示されるので、その中からエラーが頻発しているものをクリックして開きます。すると、他のサービス呼び出しの中でエラーが発生していることがわかります。上の画面によれば、anonymousというリクエストからこのサービス(product)が呼び出された結果データベースへのアクセスが行われ、その後、findというパスの検索サービスを呼び出したところ、データベース・アクセスが2秒でエラーになっています。右側のペインを見ると、エラーの結果として500番のInternal Server Errorを返していることもわかります。このとき、サービス側でプロファイラーが有効になっていれば、プロファイリング情報まで確認できます。

 

Instanaでは、アプリケーションのクライアント(Webブラウザー)側のパフォーマンスも、ページビュー数やJavaScriptのエラー数、リソースのロード時間などとしてモニタリングできます。JavaScriptのスタック・トレースやエラー内容を確認することでバックエンドと同様のエラー解析が行えるほか、呼び出したサーバー側のサービスとひも付けて解析を進めることも可能です。

 

▶Intelligent Action ─ システムの状態を常に解析して問題を検知し、インテリジェントに対応

Instanaは、サービスやインフラの状態を常に解析することで問題を迅速に検出しますが、それに必要となる各技術のモニタリングに関する専門知識や勘どころなどは、あらかじめ製品に実装されています。これには、Instanaの開発チームが集約し、ユーザーからのフィードバックを基に継続的にアップデートされているIT環境の健全性に関する知識も含まれます

Intelligent Action

例えば、あるコンポーネントの健全性が一定の閾値を超えると、Intelligent Action機能が即座にインシデントを生成します。このインシデントには、そのコンポーネントに関連するイベントや起動/停止、コードリリース、構成変更といったさまざまなコンテキストが整理して提示されます。

また、各サービスの応答状況を固定的な閾値に基づく単純な監視だけで正確に把握するのは難しいため、負荷、応答性能、エラー数、リソース飽和状況といった“ゴールデン・シグナル”とサービスのインスタンス数などを基に監視しています。これらのシグナルに対して機械学習を適用することで、エラー応答の急増やパフォーマンス劣化、負荷の急激な上昇や低下といったインシデントを迅速に捕捉できるようになります。

さらに、Instanaは柔軟な解析ツールを提供しており、インシデントが通知された際にはさまざまなビューによってサービスやシステム環境の状態を把握しながら、直感的な操作で問題を深掘りしていくことができます。

Instanaは、機械学習を利用して通常の要求とは異なる振る舞いを自動的に検知し、イベントとしてアラートを上げます。その際には、トリガーになったイベントと、それに関連するさまざまなインシデントをわかりやすく整理して提示します。

 

上の画面で表示しているイベント(アラート)のトリガーとなったインシデントはサービス(catalogue_demo)のエラー数の急増ですが、Instanaは関連するサービスのインシデントも自動的に整理して表示します。それらを見ていくことで、エラーの原因を効率良く究明できるのです(このケースでは、MySQLがSIGKILLで終了してエラー率が高くなっていることが原因と推測されます)。

 

Instanaはクラウドネイティブ環境の運用管理に不可欠な監視ツール

このように、InstanaはAutomation、Context、Intelligent Actionの機能により、複雑なクラウドネイティブ環境に対するリアルタイムな可観測性(Observability)を提供し、「今、システムで何が起きているのか」を明らかにします。

使い方も簡単であり、1台のホストに対してエージェントを1つ導入すると、そのホスト上でどのようなテクノロジーが使われているかをエージェントが自ら調べ、対応したセンサーをロードして自動的に観測をスタートします。Instanaは企業システムで使われている主要なテクノロジーをサポートしており、従来型のミドルウェアを用いた基幹系システムのモニタリングも行えます。監視に際してはクライアントからのリクエストデータを1秒単位でトレースして分析するため、問題を見過ごしてしまうことはありません。

また、Instanaはシステムを構成するコンポーネントやサービスが、他のコンポーネント/サービスとどのような依存関係(コンテキスト)を持ちながら動作しているのかをリアルタイムに可視化します。各コンポーネント/サービスで問題が生じた際には、それらのコンテキストを把握しながらスムーズに調査/分析が行えます。

加えて、Instanaにはクラウドネイティブ技術のモニタリングに関する専門知識などがナレッジとして実装され、ユーザーからのフィードバックも反映しながら継続的にアップデートされます。それらのナレッジを活用することで、技術の進化が早いクラウドネイティブ環境を常に効率的かつ適切に監視し、問題発生時には使いやすい画面によってスピーディーに原因究明が行えるのです。Instanaは今後、企業がクラウドネイティブ環境を活用していくうえで不可欠なツールの1つとなっていくでしょう。

 

メール登録だけで使える無料デモ、2週間無料の試用版を提供中!

以上のような特徴を備えるInstanaは、サービス(SaaS)として提供するほか、システム情報をクラウドに送るのが難しいお客様に対してはオンプレミス環境への導入オプションもご用意しています。KubernetesやOpenShiftなどを利用したクラウドネイティブ技術の活用を検討されているお客様は、合わせてクラウドネイティブ環境の可視性を大きく高めるInstanaの活用もご検討ください。

なお、Instanaは現在、メールアドレスを登録するだけでご利用いただける無料のデモ環境(Play with Instana)と、自社環境にエージェントを導入して使える2週間無料の試用版(Free Trial)をご提供しています。Instanaに興味を持たれた方は、ぜひこれらをお試しください。

【IBM Observability by Instana APM 無料デモ&試用版】

Play with Instana(無料デモ)

Free Trial(2週間無料の試用版)

 

関連リンク


More IBM クラウド・ビジョン stories

COBOLプログラマー不足に取り組むIBMのコード・ライティングAI

Data Science and AI, IBM Cloud Blog, IBM Data and AI...

IBMの新しいモダナイゼーション・ソリューション、 watsonx Code Assistantにより、開発者は COBOL アプリケーションを IBM Z およびハイブリッド・クラウド向けに最適化された高品質の Jav ...続きを読む


システムがクラッシュする前にITの不具合を見つけ修正する

Data Science and AI, IBM Data and AI, IBM Watson Blog...

IBMはAIOps Insightsプラットフォームにwatsonxの生成AIを導入し、IT障害の迅速かつ正確な修復を実現します。 IT障害はとても高くつくことがあります。短時間の停止でもビジネスの損失は数百万ドルに上る ...続きを読む


共同PoCで実証する運用高度化ソリューション IBM Turbonomic ARMの実力  ~IBMビジネスパートナーエグゼクティブフォーラム講演レポート~

IBM Cloud Blog, IBM Partner Ecosystem, クラウド管理...

昨今の急速なクラウド化に伴い、企業のシステムが大きな変革を迫られている今、その運用の効率化や人材の確保が急務となっています。AIを活用した運用高度化ソリューションで見出す解決方法について、2022年11月25日IBMビジ ...続きを読む