KDDI クラウドプラットフォームサービス(以下、KCPS)の開発を担当している北条です。2015年8月8日よりKCPSのカスタマーコントローラであるAdmin Consoleで、KCPSの仮想サーバ(インスタンス)やネットワーク情報からシステム構成図を自動的に作成するフォーメーション機能を提供開始します。
フォーメーション機能の特徴
特徴1. 日々更新されるクラウドの構成や設定をボタン1つで管理することができます。
特徴2. ユーザ間で常に最新のシステム構成図を共有できます。
特徴3. 常に最新のシステム構成図をファイルで社内外の関係者と共有できます。
開発への関わり
今回の開発では、お客様へ提供する価値で判断して、優先順位の高い機能からチーム全員で協力して開発してリリースするスタイルで実施しました。私はスクラムマスターとして、プロダクトオーナーとエンジニアチームが一丸となるためのチーム運営をする立場で関わっています。
開発に至った背景
私は5年間ほど情報システム部門で、社内ネットワークやインターネットサーバのインフラ構築・管理を担当していました。当時は、システム構成図をExcelやVisioで作成して、プリントアウトしたものを傍らに置いて、障害対応や作業時によく見ていました。サーバ追加等の構成変更の際には、上司から構成図の更新を依頼されて、絶対に間違えないように何度も見返しながら作ったことを覚えています。
また、IPアドレスやサーバを如何に見やすく配置するかにも気を使いました。その頃はクラウドや仮想化が未だ無かったこともあり、構成変更の頻度は少ない状況でしたが、クラウド上でシステムを構築されている現在の管理者の方は、クラウドの構成変更のスピードについていくことにご苦労されているのでは、と思います。
このような背景から、システム構成図の自動作成は、クラウドを管理運用する上で重要な機能であると考えました。また、モックアップを作ってお客様へヒアリングし、「見える化で運用負荷を軽減できる」、「KDDIのサポート部門とのやりとりではこちらの構成を理解してもらうことが難しかったが、これがあれば簡単に情報共有できる」とのご意見をいただいたことで、開発を着手するきっかけとなりました。お忙しい中でお時間をいただいたお客様にこの場を借りて感謝申し上げます。
デモ
まずは、インスタンス作成からネットワーク構成図が更新されるまでのデモをご覧ください。
CloudStackのインスタンス構成を即時にシステム構成図として表示
CloudStackネイティブUIでのインスタンス一覧がワンクリックで構成図として表示されることをお分かりいただいたと思います。KCPSでは、KDDI Business IDでID管理が実現されていますので、KDDI Business IDを持っている同じドメインのユーザ間で常に最新のシステム構成図を共有できます。
SVGによる実装
また、SVGで描画されるので、ウェブブラウザで拡大縮小しても画像劣化が発生することなく表示されます。管理するシステムが大規模になり、インスタンスやネットワークの数が増えると、全体を俯瞰することが難しくなる傾向にありますが、KCPSのフォーメーション機能ではシステム構成の概要と詳細を自由に確認することができます。
システム構成図のPDF出力
SVGのベクタデータを保持したままPDFファイルとして出力します。これにより、ウェブブラウザと同様に拡大縮小のメリットを享受できます。また、社内外の関係者の間で常に最新のシステム構成図を共有できます。
ファイアウォール・ロードバランサのポリシー情報の一括出力
CloudStackネイティブUIでファイアウォールポリシーを閲覧するには数ステップが必要となりますが、KCPSのフォーメーション機能では、2クリックでファイアウォール、ロードバランサ、ポートフォワード、NATのポリシー情報を一括でCSVとして出力することができます。
開発で苦労した点
KCPSでは、KDDI Wide Virtual Switch(WVS)接続用のIntraFront Segmentや、サーバ間通信用のBack Segment、開通時に既定で割り当てられるMonitoring Network(※)が存在します。いずれもShared Networkであり、仮想ルータは最初のインスタンスが作成されてから起動します。複数のShared Networkが割り当てられている場合に、仮想ルータの起動順番がネットワークにより異なるため、データの取得順番や方法を工夫しました。また、インスタンスとネットワークの関係が見やすくなるように、できるだけ縦線とIPアドレスが重ならないように配置を試行錯誤して実装しました。
(※)KDDIが提供するOSのライセンス認証やNTP参照用の契約毎にクローズドなネットワークです。
最後に
今回の開発では、お客様へ提供する価値を重視するスタイルで実施しました。今後も同様のスタイルで、お客様の声とデータをもとに機能追加を順次実施していく予定です。KCPSをお使いの皆様からのフィードバックをお待ちしております。本ブログの「Contact」フォームにご意見頂ければ幸いです。最後までお読みいただきましてどうも有難うございました。