システム運用の自動化への取組み - NTT Com DDブログ
English
Contact お問い合わせ
ブログ
HOME ブログ システム運用の自動化への取組み

システム運用の自動化への取組み

初めまして、ISD部(Integration Service Development)のRMです。

ISD部の担当する領域

ISD部は、主にネットワーク、セキュリティ、ワークプレイス(音声・ビデオ会議システム等)の分野における最新テクノロジーの技術検証と、それらを組み合わせて市場のニーズにマッチする統合的なソリューションを開発・検証する部署となります。

【自動化】とは?

 さて、今回のブログのテーマは【自動化】についてです。

自動化という言葉は、昨今では【Automation】という何か格好いいフレーズになり、新しい革新的な技術の様に捉えられている節もありますが、古くは古代ギリシャ時代から水力や風力を使用した自動化は技術として既に存在していました。

現在、身近な所では、電子レンジ、洗濯機、エレベータなど見渡せば あらゆる場所に自動化が取り入れられた仕組みがあります。

 端的に申し上げますと、ある目的を達成する為に必要なプロセスの大部分、あるいは全てを人間の手を介在させずに機械・装置が代わって実行する、という事が自動化になります。その結果、人間が実施するよりも正確に実行し、時間が短縮され生産性の向上に繋がるということが自動化の意義の一つと言えます。

自動化は、弊社が特に注力している分野になります。

直接お客様に提供できるサービスやアプリケーションといったもののローンチは少し先の話となりそうですが、普段行っているエクセルなどの事務業務やネットワーク機器のキッティング作業、運用サービスの補助機能としての自動化ツールの開発を進めています。

 今回はその中から、Cisco Unified Communications Manager(CUCM)のMACD運用サービスの自動化の開発の流れや自動化の結果(効能)について触れていきます。

Cisco Unified Communications Manager(CUCM)MACD運用サービスについて

まず、CUCMとMACDとは何か。

CUCMはシスコ社が提供する電話機や音声機器などのコミュニケーションサービスをコントロールする呼制御ソフトウェアで、電話を使用するユーザの名前や そのユーザに紐づくデバイス(電話機)の情報、そのデバイスが持つプロファイル情報や設定を管理するデータベースの機能を持っていたり、ユーザ同士の内線通信を確立する為のシグナル管理を行います。

MACDはMove、Add、Change、Deleteのそれぞれの頭文字を取ったものになり、お客様のネットワーク基盤や音声基盤の全体、あるいは一部の運用を弊社が請け負い、ユーザの追加や変更、削除といった依頼に基づき弊社の運用チームが設定変更を実施するマネージドサービスの一つです。CUCMのMACDサービスで行う主な業務はおおまかに以下の図中に示す内容となります。

 図面上では実際の作業においては細かい確認事項や多くのプロセスをマニュアルで実施する為、1件あたりの依頼をこなすだけでも、それなりの時間を要する事になります。慎重に業務を行ったとしても何かしらのミスが発生してしまうことも稀にあります。そういった背景から業務の短縮、正確性を高める為に自動化を検討することになりました。

 CUCMのMACD自動化ツール開発までのプロセス

 実際にMACD運用の自動化を検討するにあたって、まず初めにしたことは業務内容を理解することでした。

つまり、現在どういう作業をどの様な方法で実施しているのかを把握するということです。

 当たり前のように聞こえるかも知れませんが人によって業務内容の理解度が違っていますので、その業務に関わるなるべく多くのメンバーから情報を収集し多角的に業務内容像を作り上げる事が必要です。

 当初はMACD業務全てを自動化しようと考えていましたが、作業内容を把握する過程で、新規追加や変更業務において複雑でイレギュラーなプロセスが多く発生したり、都度お客様との確認が必要となるケースがある為、まずは削除のみ自動化することにしました。

 次に実施したことは、上記で確認した業務内容を細分化(ブレイクダウン)した手順を作り、自動化する場合の要件/要望を加味しながら、どの業務内容を自動化できるかを検討することです。

 今回の要件はCUCM上のユーザ情報を削除することですが、削除という作業は非常に繊細で神経を使う業務です。なぜなら、一度削除してしまうと復元が容易では無いからです。内線調書というお客様の設定情報が記載されたエクセルシートを何度も確認しながら、慎重に削除をしなければいけません。今回のケースでは、既存の運用フローや自動化の進め方の議論を重ねた結果、以下の2つの要件を満たす自動化ツールを開発する事になりました。

  • CUCMへのNWアクセスや、削除対象ユーザに関する情報を内線調書(前述のエクセルシート)から抽出し、CUCMで入力/検索するプロセスは自動化
  • CUCMで削除対象を確認し、削除する/しないの判断は人間が下す

(ブラウザを立ち上げ自動でCUCM画面を表示させる)

 コピペミスや削除し忘れ、エクセルの行/列の見間違いなど、正確性を必要とする部分はプログラムに任せ、本当に削除しても良いのかどうかは人間の判断に委ねる、という構図です。

 この要件を基に、削除オペレーションの概略プロセスと詳細プロセスを以下の図の様に作成し、自動化する内容を検討しました。

【業務概略フロー】

上記の概略フローを実際の作業工程に細かく落とし込んだプロセスが以下になります。

 【従来のマニュアルプロセス】

1人のユーザの情報を削除するにあたって、最大でこれだけのプロセスをマニュアルで実施する必要があります。もし、これが10ユーザ、100ユーザだと考えると。。。この作業を実施するだけで、相当の時間を要することは容易に想像できるかと思います。

 もちろん、ある程度慣れてしまえば、効率よくこなせる部分もあるかも知れませんが、

運用中のシステムのユーザを削除するという事を考えると、それでも尚、慎重に実施しなければなりません。

 この様に実際の業務フローを詳細に落とし込んでいくことで、

今まで、当たり前の様に実施していた業務を再度振り返ることができる、という利点もあります。

また、詳細化するにあたっては、プログラムする側のメンバーだけでは、全ての業務フローを確認する事はできないので、実際に日々の運用業務を実施しているメンバーとの綿密なコミュニケーションと協力も必要になってきます。

さて、ここからがどう自動化していくか、になるのですが、

本来の自動化の目的から考えると、実行ボタンやコマンドを一度叩くと、求めるゴール(アウトプット)までのプロセスを全てコンピューターが人間の代わりに実施してくれて結果を待つだけ、というのが理想ではあるのですが今回のケースでは自動化できるプロセスは自動化して、該当するユーザの情報に対して正しいアクション(CUCMからの削除)が行われているかを運用者が確認しながら進めるという要件である為、プログラムはセミオートメーション(部分自動化) かつ、対話選択形式にしました。

 以下の図にあるように、二重線で打ち消されている部分が自動化によって省略されたプロセスになります。都合上、実際のCode全体や細かい動きをここでお見せすることはできないのですが、Codeの一部をサンプルとして載せておきます。

 その結果、全体のプロセスとしてはこんな感じになりました。

 【自動化によりスリム化されたプロセス】

どうですか?だいぶすっきりしたと思いませんか?

 運用者が確認したいプロセスはCUCM上で確認でき、かつ削除の判断も運用者が実施できる一方でCUCMへのアクセスや、内線調書上のパラメータを検索ボックスへ入力、検索といったプロセスはプログラムで自動的に実施させる事ができました。

 【プログラム画面にて対話形式で削除判断を進め、ブラウザ画面で動作を確認】

上記を実施するにあたって、エクセル上のデータを操作したりマニュアルでブラウザを立ち上げCUCMにアクセスしたり、クリックするという動作は一切行っていません。全ての処理は、プログラムを実行する画面上で完結します。y(yes)かn(no)を入力するのみです。

 自動化の効果

 自動化する以前のマニュアル運用時は、1件あたりに要する時間が約15 ~ 20分掛かっていましたが、自動化ツールの導入により5分程度に短縮されました。単純計算で考えた場合、ユーザ数が10件の場合に短縮できる時間は100分 ~ 150分、ユーザ数が50件ならば、500分 ~ 750分になります。作業時間の削減以外での効果としては、削除対象データの入力間違いや削除し忘れの防止、それらのミスにより発生する作業出戻りに要する時間の減少などが挙げられると思います。また、今回作成したcodeを再利用する事で、似たようなプロジェクトでの自動化ツールの開発時のスピードを向上させる事ができる利点もあります。ビジネス的な側面としては、作業時間の短縮や効率化により、マネージドサービスが目指すべき【お客様の業務内容に寄り添ったサービスメニューの検討や開発】に、より注力する為の時間を確保できると言った効果も期待できます。

 さいごに

 CUCMの自動化は一つの例になりますが、弊社ではCisco Merakiのプロビジョニングの自動化を始め 他にも多数の自動化を進めています。

また、NTT Limitedを含めたグローバル(APAC)での事例を含めると 90件を超える自動化のユースケースがあります。

 不定期にはなりますがこういった自動化の事例、各種ネットワークテクノロジーや新しい製品/ソリューションのご紹介等を、本ブログで実施していきたいと思いますので、今後とも宜しくお願い致します。

この記事を書いた人

RM
ISD部(Integration Service Development)のRMです。