612
導入事例

 様に導入

  • クラウド
  • コミュニケーション
  • 効率化
  • 最適化
  • コスト

株式会社JR東日本情報システム

 様に導入

Azure 上で構築されたタブレット向け情報配信システムの稼働情報を収集/分析
運用工数とコスト低減を実現すると共に、よりきめ細かい稼働分析でサービス向上にも貢献

社会インフラとして重要な役割を果たすさまざまなシステムの開発・運用を行っている株式会社JR東日本情報システム。ここではこれらの基幹系システムから情報を抽出し、タブレットに配信する「情報配信システム」が、Microsoft Azure 上で構築、運用されています。さらにそのシステムやアプリケーションの稼働情報を自動的に収集/分析するためのしくみも構築。運用効率を飛躍的に高めています。これらによってモバイル アプリケーションでエラーが発生した場合の原因究明が容易になり、利用パターンの把握も可能になりました。今後はこの情報を開発企画にも活かし、よりユーザーに喜ばれるシステム開発を実現していくことが目指されています。

<導入の背景とねらい>
手作業で行われていたシステム/アプリケーションの稼働データ集計、
ユーザー端末の急増で人的負担も増大

写真:澤 裕記 氏

株式会社JR東日本情報システム
澤 裕記 氏

写真:清水 雅巳 氏

株式会社JR東日本情報システム
清水 雅巳 氏

ユーザーに提供したシステムが問題なく稼働しているのか、そして提供したアプリケーションがどの程度利用されているのかを知りたいというのは、企業のシステム部門や IT サービス事業者にとって、当然のニーズだといえます。エラーの発生を迅速に把握し対処できれば、ユーザーの満足度は向上し、システム担当者の評価も高まります。またアプリケーション利用傾向がわかれば、今後どのような機能を企画し開発すべきかの判断も行いやすくなります。ユーザーが潜在的に望んでいる機能改善を継続的に行うことで、IT 活用の効果はさらに高まることになります。

しかし最近の IT システムは、オンプレミスのアプリケーションだけではなく、クラウド上で稼働するものも増えており、モバイル端末上のアプリケーションと連動するケースも珍しくありません。そのためアプリケーションの稼働状況を的確に把握することは、以前よりもはるかに難しくなっています。

この問題を、Microsoft Operations Management Suite (OMS) や Microsoft Visual Studio Application Insights、Microsoft HockeyApp、Microsoft Power BI を組み合わせて解決しているのが、株式会社JR東日本情報システム (以下、JEIS) です。同社はJR東日本とそのグループ会社のシステム開発と運用を担う IT サービス企業。これまでも社会インフラを支える数多くのシステムを開発してきました。2014年 12 月にはそれらの基幹システムの 1 つから情報を抽出し、ユーザーが業務で使用するタブレット端末へと配信するシステム (情報配信システム) の開発に着手、2015 年 3 月から運用を開始しています。そのアプリケーションの利用状況やシステム稼働状況を、前述の製品やサービスの組み合わせによって、Power BI で集中的に分析できるようにしているのです。

「この情報配信システムは、オンプレミスで動いている基幹システムの情報を Azure 上の SQL Server に抽出し、それを Azure Web ロールで稼働するサーバー アプリケーションから、タブレット端末上のアプリケーションに配信するというものです」。このように説明するのは、JEIS システム開発担当者の澤 裕記 氏です。わずか 3 か月あまりという短期開発だったため、当初はシステム稼働分析などを自動化するシステムの作り込みまで手が回らず、手作業で稼働状況の分析やレポート作成を行っていたと振り返ります。

「Web ロールのログ ファイルは Azure の BLOB ストレージに保存し、そこからデータを Microsoft Excel に取り込んで分析を行っていました」と当時の状況を語るのは、JEIS システム開発担当者の清水 雅巳 氏。端末ごとの分析を行うため、別に用意している端末台帳の情報も取り込み、データのクレンジングや加工を行ったうえでグラフを作成、それをレポートにまとめていたと言います。これが行われる頻度は月に 1 回。そのために毎回 3 日程度の作業時間が必要になり、これが大きな負担になっていました。「毎月決まった担当者がこの作業を行えるとは限らないこともあり、レポートの内容が月によってばらつくという問題もありました。人事異動の際には引き継ぎにも時間を取られていました」。

これだけの作業時間を費やしていたにもかかわらず、取得できる情報が Web ロールのエラーやアクセス状況に限られていたことも問題でした。モバイル アプリケーションで発生するエラーは、把握することができなかったのです。

この情報配信システムはユーザーからも利便性が高いと評価され、その利用は急速に拡大していきました。当初は 250 台のタブレット端末に配信されていましたが、2016 年 1 月には配信端末数が 1,000 台を突破。2016 年 4 月にはその数が 2,000 台に上っています。利用者の急増に伴い、当然ながら稼働情報分析の負担も増大していきました。

「手作業による稼働分析レポートの作成に限界があることは、当初から想定していました」と言う清水 氏。開発や運用にかかわるコストの削減が求められる中、アプリケーション運用や今後の機能拡張をより的確に行うには、より幅広い情報を自動的に収集し分析できるしくみが不可欠だったのです。

<導入の経緯>
利用情報の収集および分析を自動化できる Application Insights に着目、
手軽に導入できることも大きな魅力

その実現方法として JEIS が着目したのが、新たに提供されることになった Application Insights でした。

「もともとログ収集管理の効率化が可能な OMS に興味を持っており、その早期評価を目的として米国で開催されたマイクロソフト イベントに参加したことで、Application Insights の存在を知ることになりました」と清水 氏。その内容に興味を持ち、Application Insights についても評価を開始することにしたと語ります。「これよってユーザー数や機能別利用回数、レスポンス タイムの推移が把握可能になり、不正アクセスや例外発生の自動検知とアラート配信が可能になります。また新規プログラムの作り込みが不要であることも大きな魅力です。さらに他のサービスとの連携や運用の多様化など、今後発生すると予測される要件への対応も容易になると考えました」。

2015 年 4 月には、Application Insights のプレビュー版を利用した検証の実施を決定。実際に運用中の情報配信システムに導入することを前提に、検証プロジェクトをスタートさせました。ここで最も重視されたのは、前述の作業が本当に自動化でき、運用時における作業工数が削減できるのかという点です。

「まず検証環境に Application Insights SDK を組み込み、問題がないことを確認しました」と澤 氏。Application Insights のダッシュボードを使った稼働状況の見方については、マイクロソフトの助言を受けながら、工夫を重ねていったと言います。「プレビュー版のレベルで既に、稼働分析の自動化に十分な機能が提供されていると感じました。また Web アプリケーションとモバイル アプリケーションの両方に SDK を組み込みましたが、そのための作業も実に簡単で、不具合もまったく発生しませんでした」。

また、2015 年 8 月には OMS も検証環境に導入。実際に使っていくうちに、IIS のセキュリティ対策としても有効であることにも気づいたと言います。

これなら高い効果が見込めると判断。情報配信システムへの新機能導入のタイミングに合わせ、2015 年 12 月に本番環境への導入を実施します。そのシステム構成は図 1 に示すとおりです。

Application Insights 以外にも、タブレット上で動くモバイル アプリケーション向けに HockeyApp を使用し、アプリケーションの稼働状況やクラッシュ レポートの情報を、それぞれのダッシュボードへと集約します。その後、Application Insights などのアダプターを使用してこれらの情報を Power BI に取り込み、豊富なグラフ機能を活用した分析が行えるようにしています。

その一方で、サーバーの稼働状況やサーバーに対するアクセス状況は、OMS によって情報を集約。これも OMS と連携している Power BI を利用して分析できるようになっています。

JEIS が構築した、システムとアプリケーションの稼働情報収集および分析のしくみ。Azure 上の IIS ログは Operations Management Suite (OMS) 、Web ロールで動くアプリケーションの情報は Application Insights、モバイル アプリケーションの情報は HockeyApp で収集され、Power BI で分析できるようになっています。[拡大図]新しいウィンドウ

<導入効果>
OMS と Power BI による自動処理で利用状況や不正アクセスの把握を迅速化、
これまで見えなかったクラッシュや不正アクセスの詳細も把握可能に

このようなしくみを構築することで、アプリケーション稼働分析の作業は大幅に効率化されました。以前は 3 日かかっていた Web ロールのログ集計とレポート作成は完全に自動化されており、Power BI にアクセスするだけで出力できます。そのために要する時間はわずか数分に過ぎません。

また以前は人手が必要だったため、レポート作成は月 1 回に制限されていましたが、現在では Power BI のダッシュボードでいつでもアプリケーション稼働状況を確認できます。問題が発生した場合でもすぐに把握でき、これまで以上に迅速かつ的確な対処が可能になっています。

「モバイル アプリケーションに HockeyApp を組み込んだことで、これまで見えてこなかったことも見えるようになりました」と澤 氏。その一例として挙げるのが、モバイル アプリケーションがクラッシュするなどのエラーが発生した時の原因です。「HockeyApp ではモバイル アプリケーションで発生したエラー状況だけではなく、その端末の OS バージョンなどの情報も取れるのですが、多くのエラーは OS バージョンのミスマッチで発生していることがわかりました。開発側は特定バージョンの OS をターゲットにしてアプリケーションを開発しており、お客様にもそのバージョンに統一していただくようお願いしているのですが、一部の端末はターゲットと異なるバージョンの OS を使用しており、それが原因でエラーが発生しているのです。この場合はお客様にバージョンアップをしていただくよう依頼しています。これによってモバイル アプリケーションのエラー発生を回避しやすくなりました」。

このしくみはセキュリティ強化にも貢献しています。Azure 上の IIS ログを OMS で収集し分析することで、不正アクセスをもれなく把握できるようになったからです。また不正アクセスを検知した時点で、メールでアラートを通知する機能も組み込まれており、すぐに対応することも可能になっています。

「以前も IIS ログを Excel に取り込んで集計作業を行い、アプリケーションが用意していない URL へのアクセスを見つけ出すことで、ある程度の不正アクセスは把握していました」と清水 氏。このような不正アクセスはシステムが「404 Not Found エラー」を返すため問題は発生しませんが、月に 1 件程度は発見されていたと振り返ります。「現在のしくみではこれに加えて、マイクロソフトが提供する "危険な IP アドレス" のリストとアクセス元の IP アドレスの照合も行っており、これまで見つからなかった不正アクセスも発見できるようになっています。またお客様社内システムの IP アドレスのリストとも照合し、安全性を確認するといったことも行っています」。

アプリケーションの利用状況も細かく把握できます。機能別および端末別の利用状況を日ごとに分析し、その結果をグラフとして表示することも可能です。

「これによって、日常的に利用の多い機能が何なのかが明確になり、どのようなイベントが発生するとどの機能の利用が増えるのかといったこともわかるようになりました」と澤 氏。開発段階では想定していなかったアプリケーションの利用ケースも把握できたと指摘します。「利用シーンが限定されると考えていたアプリケーションを、メインで使用するユーザーが想定以上にいたといったケースも見られました。このような情報が得られれば、今後のシステム改善や機能追加を、より的確に進めることが可能になります。どこに注力すべきかを判断しやすくなるため、限られた予算を最大限に活用できるようになるからです。現在、既に開発者も Power BI による稼働状況の分析が行えるようにしています」。

導入前後の作業時間の比較。以前はデータ集計を 3 日間かけて行いレポートを作成していましたが、現在では完全に自動化され、Power BI にアクセスするだけでレポートを出力できるようになっています。[拡大図]新しいウィンドウ

<今後の展望>
ハイブリッド システムに適用できることも検証済み、
他の部署にも紹介し社内全体へと展開したい

現在このしくみによる情報収集の対象は、Azure 上のクラウド システムとサーバー アプリケーション、モバイル アプリケーションですが、今後はオンプレミス システムの稼働情報も集約していく計画です。「オンプレミス システムは Microsoft System Center Operations Manager (SCOM) でシステム監視を行っているのですが、この監視データをクラウド上の OMS と連携して管理を一元化できることは既に検証済みです」と清水 氏。「稼働中のシステムに手を入れることは困難ですが、今後オンプレミス システムとクラウドが連携するハイブリッド クラウド型のシステムを構築する場合には、両方の稼働情報を一元的に収集し分析するしくみが実現できると考えています」。

これに加え、アプリケーション内のユーザー行動を分析可能にする Azure Mobile Engagement の活用も視野に入っていると言います。これによってアプリケーション内の機能から機能への遷移状況が把握でき、アプリケーション内の動線最適化が容易になるからです。また今後タブレットのプラットフォームが複数になってくる場合には、タブレット向けのモバイル アプリケーション開発に、クロス プラットフォーム アプリケーション開発ツールである Xamarin の活用も進めていく予定です。

さらに、Power BI による稼働状況やアプリケーション利用状況の分析機能を、顧客側の担当者に提供することも検討されています。顧客側と分析データを共有し、それをベースにコミュニケーションを行うことで、アプリケーション開発の企画をより的確に行えるようになると期待されています。

「Azure を活用した新規システムの構築は、他の部署でも増えつつあります」と澤 氏。今回構築した稼働情報収集および分析のしくみは、他のシステムでも必要なものであり、効果が高いはずだと語ります。「これをぜひ他部署にも紹介し、社内全体に展開したいと考えています」。

コメント