運用管理を無理なく自動化する秘けつ特集:運用自動化を生かすポイントを探る(2)(2/2 ページ)

» 2011年01月27日 12時00分 公開
[内野宏信,@IT情報マネジメント編集部]
前のページへ 1|2       

プロセス効率化で大切なのは“プログラマ的発想”

 また、宮原氏は「効率的な作業プロセス」を考える際のポイントを指摘する。それは「プログラマ的発想」だ。

 「プログラマはシステムに行わせる動作をアルゴリズムで考える。その際、彼らがこだわるのは“徹底的に無駄を省くこと”。例えば、Linuxのシェルスクリプトを書くとき、意図する動作を1行のコードで処理させる“ワンライナー”にこだわる向きは多い。運用管理でもこうした発想が大切だ。定型的な作業手順を見直し、現状行っている作業をもっと少ない手順でできないか、突き詰めて考えてみたい」

 これを受けて、「いま行っている手作業を、実際にスクリプト化してみるのも良い」ともアドバイスする。機械に命令を出す以上、全てのロジック、手順を明らかにしなければならない。そうして作業のロジックと流れを洗い出してみれば、それはそのままプロセスの無駄を発見し、効率化を考えるヒントになるためだ。

 また、この方法で効率的なプロセスを構築できれば、そのスクリプトをそのまま使っても良いし、仮想サーバのプロビジョニング作業のように、“複数のツールを使って、複数の作業を行う”点で、「スクリプトだけによる自動化は難しい」と分かっても、考案したプロセス案は手元に残るし、「自動化ツールに任せるべき作業」の候補にもなる。いずれにしても、この作業自体は無駄にならないというわけだ。

 「自動化は、『To Doリスト』と同じようなものと考えてもいい。誰でも、どの仕事を、いつ、どの順番で行う、といった“自分のジョブスケジュール”を考えているはず。その考え方をシステムに適用するだけだ。その際、大切なのは、『この程度のことだから、手でやればいい』ではなく、『この程度のことだからこそ、機械にやらせればいい』と考え方を変えること。最初は面倒に感じるかもしれないが、気付いたときに効率化しておけば後で必ず楽になる。良い意味で“手を抜く”方法を追求してほしい」

「全てを自動化できる」とは考えないこと

 ただ宮原氏は、以上のように自動化を進めるポイントを紹介する一方で、「全てを自動化できると考えるべきではない」とも指摘する。これは、システムのキャパシティ管理のように、「どのくらいのリソースを割り当てるべきか」など、人の判断が不可欠となる作業もあるためだ。

 むろん、こうした場合は、あらかじめ運用ポリシーを定めておき、「システムのキャパシティが一定の閾値に達したら、一定のリソースを割り当てる」といった作業をツールに任せることもできる。だが、作業の中には、例えば「深夜の就業時間外のパッチ当て」など、“キャパシティを上限まで使い、システムのパフォーマンスが落ちても問題がない作業”もある。同様に、「そのときの状況によって、無視しても問題のないアラート/すぐに対応すべきアラート」もある。

 「つまり、作業内容や遂行時の状況に応じて、人の判断が必要な作業もある、ということだ。真の効率化を目指すためには、“状況に即した臨機応変な対応”ができる体制を確保することが大切。この点は、自動化する作業/しない作業を切り分けるポイントになるだろうし、人が判断するステップを組み込んで半自動化するなど、効率的なプロセスを考える際のポイントにもなるはずだ」

 また、自動化ツールのメリットを安全・確実に引き出すためには、「システムの上流設計を視野に入れておくことも大切」と付け加える。例えば、システムのパフォーマンス低下は、一般的にはストレージやネットワークのI/Oがボトルネックになるケースが多い。しかし、いざパフォーマンスが落ちたときに、その場でボトルネックを特定するのは難しい。ましてや、その対応プロセスを自動化ツールに任せることもできない。

 よって、パフォーマンス管理などを自動化する場合は、事前にボトルネックになりそうな部分を特定し、最初から高性能なストレージ、ネットワークを採用するなど、要求性能をきちんと出せる設計にしておくことが大切だという。つまり、「まずは“きちんと機能するシステム”であってこそ自動化ツールも安全・確実に生かすことができる」というわけだ。

自動化は“育てるもの”。育つためには“親の理解”も大切

 さて、以上のように、“気付いた部分から着実に取り組んでいく”段階的な導入が、現実的な自動化導入のコツとなるわけだが、これを受けて宮原氏は、「自動化の取り組みは“育てていくもの”」とまとめる。

 「気付いた部分からプロセス改善を試みつつ、より複雑な作業まで自動化の適用範囲を広げていく。これには“その場限り”ではなく、継続的に取り組む姿勢が何よりも大切になる。また、自動化ツールも“すぐ導入できて、すぐに自動化できる”というような即効性のあるものではない。テンプレートを用意した製品もあるが、現実的な視点で考えれば、自社に即した形にするためには、ある程度の作り込みも必要になるはずだ。従って、シンプルなところからプロセス改善/ツール導入を行い、取り組みとツールを継続的に“バージョンアップ”していくことが大切だ」

ALT 「自動化の目的は、単なるコスト削減ではなく、『ビジネスに貢献するシステム企画など、情シス部員が本来的な業務に注力できる環境を整えること』と考えてほしい」と語る宮原氏

 その一方で、「自動化を目的にしてはいけない」とも強調する。

 「特に気を付けたいのはツールを導入するとき。昨今は、仮想サーバのプロビジョニングのように、複数のツールを使うことが求められる作業についても、VMware専用管理ツールなどと連携して単一のインターフェイスからコントロールできる統合運用管理製品も提供されているし、多数の作業テンプレートを用意している製品もあり、その機能は非常に充実している。だが、これに引きずられてはいけない。『自動化ツールでできること』ではなく、『自社がやりたいこと』をまず考えるべき。あくまでも、それを起点にプロセスを効率化するべきだし、ツール選びにしても、自社のやりたいことに真摯に付き合ってくれるベンダの製品を選ぶべきだ」

 宮原氏はこのように述べた上で、あらためて「現状の運用プロセスを見直すこと」を勧める。

 「まずは、いま行っている各種手作業にどれほどの手間が掛かっているのか、作業時間を時給に換算するなど、作業負荷を数値化してみてはどうだろう。“いま見えていないコスト”を明確化し、その上でツールの導入価格と比較してみると、費用対効果を検討する大きな手掛かりとなるはずだ」

 また、管理層、意思決定層に向けたメッセージとして、「自動化の目的は単なるコスト削減ではなく、『ビジネスに貢献するシステム企画など、貴重なIT人材が、本来的な業務に注力できる環境を整えること』と考えてほしい」と訴える。「そうすればツールへの投資は“積極的なIT投資”となり、ツールを選ぶ基準も変われば、自動化を“育てる”スタッフの意識付けも変わる。もちろん、その後の効果も大きく変わってくるはずだ」


 自動化の最終目的は「コスト削減」ではなく、運用の効率化とスタッフの負担低減、そしてビジネスのスピードアップにある。しかし、「コスト削減」や「自動化すること自体」に注視し過ぎると、目的を見失ってしまう??前回、IDCジャパンの入谷氏もこの点を強調していたが、真の目的に向けて、部門として継続的に自動化に取り組み続けるためには、“管理層の理解”が何よりも不可欠になるということなのだろう。

 運用自動化の導入、その“現実的な意味での”最大のポイントは、実は宮原氏が最後に述べた、この一言にあるのかもしれない。

前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ