自己紹介と発表概要

大山裕泰氏(以下、大山):インフラ部の大山です。よろしくお願いします。私は商用仮想基盤をサポートする部署において、仮想基盤の運用の効率化を行う活動を行ってきました。その過程で、情報管理システムの課題解決のミッションを受けて、その内製化とリプレイスを行いました。現在は情報管理システムと、このあと紹介するIFTTT×Workflow運用基盤や、StackStormを用いた運用の効率化に取り組んでいます。

今日は、こうした我々の取り組みを紹介します。具体的には、事業部に効果的なインフラサービスを提供するための情報管理システムと運用自動化の取り組み、さらに、これらによってどのような事業貢献を行っているのかについて話します。

効率・効果的な情報管理の取り組み

はじめに、「情報管理の取り組み」を紹介します。一口に情報と言っても、さまざまなものがあります。我々インフラ部は、事業部が提供するサービスの実行環境や事業部がそのような環境を開発するためのインフラを、開発・管理・運用しています。

そのため、スライド上部に示したような4種類の情報を保持・取得できる状態を保ち、それらの情報の整合性を担保して、必要なユーザーが適切にアクセスできる状態を保っています。以降は、これらをカギかっこつきの「情報管理」と呼びます。

従来の情報管理の状態と問題点

ここからは、我々が経験してきた情報管理の問題点と、どのようにそれらを解決し、どのような結果になったのかを紹介します。わかりやすくするために一部内容を簡略化していますが、ご了承ください。

我々のチームは、情報管理改善の取り組み以前は、情報が多重・分散管理されていました。スライドの下の図に示すような、さまざまなスプレッドシートで情報が管理されている状態を想像してください。このような状態では情報の管理主体(図の運用部門と管理部門)が別々に情報管理を行っていました。その際、一部の情報は共同で管理されていましたが、そうではないこともありました。

このような情報管理の運用の問題点は何か。例えば、管理部門が自分たちの管理している情報にサポート情報がないことに気づいた時。この図では、管理部門は機材情報と会計情報は管理しているけれど、ほかの情報は管理していません。そこで、サポート情報を管理するために、別のスプレッドシートを作成したとします。

しかし、運用部門もサポート情報を管理しているため、運用部門と管理部門が別の目的で同種の情報を管理することになります。

それぞれが同じ情報を持っているとは限りませんが、同じ情報を持つことも当然起こり得ます。また、情報自体は常に変容していく。変容していくというのは、登録された情報の中身が変わることではなく、扱う情報自体が変わることです。

(スライドを指して)この例では、ある装置Aのサポート期限は2020年10月1日ですが、そのサポートの契約を更新して期限を2年延長した場合、その情報は変わっていきます。そのため、その都度情報の整合性を保つように管理する必要があります。しかし、多重管理されていると、常に情報の不整合が生じる可能性が内在し、さらにそれらの修正を行うための管理コストが発生します。

課題解決のための情報の一元管理の取り組み

こうした課題を解決するため、情報を一元的に管理する取り組みを行ってきました。(スライドを指して)この図はネットワークアプライアンスに関する、物理、論理、管理、運用情報を表しています。それぞれの情報は、属性を持つスキーマというかたちで構造化されていて、属性から各スキーマに関する情報が関連づけられています。

ネットワークアプライアンスに関する情報が中心にあり、それが左下のどのラックにラッキングされているのか。ネットワークアプライアンスにどのようなNICがついているのかが右上にあり、そのNICの対向にどのようなNICがあるのか、そのNICにどのようなIPアドレスがひもづけられているのか、そのIPアドレスがどのセグメントにあるのかというかたちで、論理、物理、管理、運用情報がいろいろひもづいています。

また、各スキーマに関連する情報は、必要な管理主体からのみアクセスできるようにし、物理・管理情報は管理部門から、また物理・管理・運用情報に関しては運用部門からのみアクセスできるというようにする。それによって、冒頭のカギかっこの一元化された「情報管理」ができるようにしたいと考えています。

また、ネットワーク機器へのログインIDやパスワードなどの認証情報、例えば付加や追加・拡張したい時に、属性情報をスキーマに追加して拡張します。また、属性ごとに閲覧・編集できるユーザーグループと、そうではないユーザーグループの権限を設定できる情報管理の仕組み作りに取り組んできました。

これらに加えて、すべての情報変更に対する履歴を追えるような要件をいろいろ積み重ねていきました。Salesforceから商用サービス、そのほかのOSSまでさまざまな手法を検討した結果、先ほど言った仕組みを備えた情報管理システム「AirOne」を内製化しました。

それまで使っていた情報管理システムはOSSの「RackTables」といいますが、それをリプレイスした上で、多重・分散管理された情報の統合を進めてきました。

(スライドを指して)こちらがAirOneで管理されている情報の一部を切り出した画像です。このような柔軟な情報管理の仕組みによって、各リソースにひもづく物理、論理、管理、運用の情報を一元的に管理しています。また、AirOneには、情報の種類に応じた運用しやすい見せ方をカスタマイズできる仕組みを導入しています。

左の図のような、物理・論理ネットワークの情報管理ができます。あるアプライアンスのどのNICがどのポートやパッチパネルを通っているか、また、どのインターフェイスのどのスイッチのどのポートに入っているかという情報が入っています。

(スライドを指して)また、こちらの図は、あるデータセンターのフロアのラッキング状況を表しています。ラックに搭載されているアプライアンスは青字、配線等は赤字で示すことで、ラックの状況を俯瞰できるようにしています。AirOneは単なる情報を一元的に管理できる情報管理システムではなく、運用支援を行うアプリケーションとしても、より効率・効果的に運用できるよう取り組んでいます。

データの一元化の進捗

最後に、AirOneの導入以降、データの一元化がどれほど進んだのかについて例を示します。AirOneは要件の整理や手法の比較検討をしたあと、約1年半の開発期間を経て2018年11月に旧システムのリプレイスを行いました。

その際のスキーマ数、属性数、インスタンス数はそれぞれスライドのとおりですが、導入してから2年8ヶ月が経過し、スキーマ数と属性数が圧倒的に増え、情報の一元化を着実に進めることができました。(登壇時2021年7月)

ここまで、情報を多重・分散管理する方法から一元的に情報管理する取り組みについて紹介しましたが、情報の一元化が絶対に正しいと言っているわけではありません。

情報を分散管理するほうがよい場合もあると思いますが、特にインフラの運用コストを低減させる目的においては、インフラの情報を一元的に管理する手段がよい。今後もその取り組みを続けていきたいと考えています。情報管理の取り組みについては以上です。

(次回に続く)