システム運用における、5つの大間違いとは(1)
20世紀型の運用から21世紀型の運用へ:環境の変化による運用上の問題
大きく様変わりしたシステム構成
多くのシステムにおいて、その構成や構造はここ十数年で大きく変化した。ほんの十数年前にはシステムごとに専用の開発を行い、保証されている商用のツール類のみを利用して作り上げられてきた。ところが、今日では開発の多くの部分において積極的にオープンソースが利用され、システムのベースとなるソフトウェアやツールは、すべてオープンソースで構成されることも珍しくはない。
さらに、1台の物理ハードウェアに1台のサーバーという考えも、仮想化やクラウドが出現したことにより、すでに過去のものとなった。また、スタンドアロンで動作していたシステムの集合体から、複数のシステムがお互いに連携して動作することも当たり前になった。
このようにシステム構成が大きく変わった今、運用にも変化が求められている。果たして、それに合わせてシステム運用の方法を変えることができているだろうか。
求められる「環境の変化に対応できる運用」
これまで、運用とは手順に従って定型的な操作を行うことと考えられてきた。つまり、「運用」=「オペレーション」である。ここ十数年どころかメインフレーム全盛の頃から現在に至るまで、この定義にとらわれてしまっているようにも思える。
保障された環境で、変化しないシステムが当たり前であった十数年前は、それでも良かったのかもしれない。しかし、インターネット上に新たなサービスが無数に立ち上がり、世界中のインターネット利用者が日々増加し、多くのシステム連携も行われている今日では、一度構築したら耐用年数が来るまで何も変わらないというシステムはほとんどない。今、企業においては、システムを取り巻くこうした環境の変化に対応できる運用が求められている。
前者は、言うならば20世紀型の運用である。それに対して現代のシステムには、それに合った21世紀型の運用方法があるはずである。
本章では、20世紀型の運用をそのまま現代のシステムに踏襲したために発生した、システム運用上の問題点を挙げる。それは、かつては正しかったことかもしれないが、今では「間違ったこと」であるとも言える。ここでは、まったく違った5つの切り口から、現代のシステム運用における「5つの間違い」を提示する。これは、読者のみなさんの組織においても当てはまる部分があるかもしれない。
間違いその1:コンピュータの得意分野を人が担う
システム運用担当者Aは、運用業務に従事して2年目である。「運用」というものがぼんやりと見えてきた今、疑問に思ったことがある。
「毎朝送信される、バッチ処理の成否を通知するメールのチェック作業は、スクリプトを作成すれば自動化できるんじゃないか?」そう考えたAは、先輩社員Bに提案したころ、ものすごい剣幕でこう言われた。
「このメールチェックは、このシステムが導入されてから一貫してこの手順でやっている。運用を変更するということは、部署間での調整が必要となる。誰がそれをやるのだ。そして、誰が自動化するんだ」Aはすごく冷静に、「そうですよね」と返事しつつ自席で転職サイトのITエンジニアの項目を検索するのであった……。
運用の現場では、システムやアプリケーションのログを見て確認したり、リソース利用状況のグラフを目視で確認するといった作業が散見される。もちろん、これだけではなく、「運用」として行われている作業は実に多い。作業の具体例を表1に示す。
内容 | |
---|---|
1 | リソース利用状態を目視でグラフから確認 |
2 | Windowsのイベントログの確認 |
3 | アプリケーションログの確認 |
4 | 日々のバッチ処理成否確認 |
5 | バックアップ成否のチェック |
6 | 特定ページの表示確認を担当者がブラウザで確認 |
7 | 業務システムへのアクセス確認 |
8 | システムチェックのためのダミー業務実施 |
9 | 特定のメールを整形して集計、再送付 |
10 | 定期的なデータ更新 |
11 | 定期的な再起動 |
12 | 蓄積したログの整理 |
表1に挙げたものは、いずれも運用には必須の作業ではある。運用担当者は、これらの作業に多くの時間を割かれているのではないだろうか。しかし、これらの作業は、一言で言えば「自動化が可能な作業」なのである。「自動化が可能な作業」は、次の3つの類型に分けられる。それは、「過去の確認」「現在の確認」「定型的な作業」の3パターンだ。
ここでは、各パターンに分けられた業務を人力で運用する問題点について、考えてみる。