手作業でもシステム運用ぐらいできる!その認識ミスとリスクとは?

どうして手作業はダメなのか?なぜ自分で作ったオリジナルツールじゃダメなのか?
システム運用専用のサービスを使わない旧来のシステム運用では、担当者やオペレーターの経験や勘に頼った手作業だったり、部分的に自動処理できるツールを作って、何とか運用されていた事実があります。まさに、今、自分がいる現場がそうだ…という方もいるでしょうか。ここでは、手作業のシステム運用がなぜ危険なのか、課題を整理してみましょう。

そもそもどうしたって人間はミスをする生き物

完璧なシステムが完成することが永久にないように、どんなに現場の経験豊富な人でも、ミスをする可能性は常にあります。間違えないように手順書通りに実行しようとしても、コマンドの実行や各種データの保存、バックアップなど、運用の手順を少しミスしただけで、ニュースになるほどの障害につながってしまうこともあり得ます。
複雑なステップを限られた人材で運用している場合には、処理操作のミス以外にも、対応漏れ、連絡や報告忘れ、手順や優先順位の間違いなどが、どうしても起きやすくなります。
大規模なシステム障害が発生すれば、インシデントの緊急対応や復旧など、無駄な工数や人件費は、プロジェクト全体を圧迫する要因にもなります。さらに、自社はもちろん取引先の社会的信用やビジネスチャンスを失ってしまうことは、さらに大きな損失リスクとなります。

マルチクラウド時代だからって、人はマルチに動けない

現代のITシステムでは、複数の業務アプリケーションごとに、別々のサーバで運用している例も増えています。規模によっては、AWSやGCP、Microsoft Azureなどのクラウドサービスや、仮想化システム、そしてオンプレミスまで、複雑に連携している現場も珍しくないでしょう。
障害が発生した時にはまず問題の切り分けが必要ですが、構成が複雑なシステムでは、それだけでも複数のポイントをチェックしなければなりません。ネットワークやハードウェア、ソフトウェアを調べ、さらに、複数の担当者やベンダーを経由すると、状況の把握から障害の解消までの時間も長くなります。それぞれに、専用の管理システムがあっても、管理の対象になるサーバが増えるほど、手動でシステム運用することは厳しくなります。

「優秀な」エンジニアほど、自分でツールを作ってしまう罠

開発スキルがあるエンジニアになれば、運用を便利にするカスタムツールをオリジナルで作れてしまいます。これはこれで素晴らしい現場の知恵ですが、これにもさまざまな問題はあります。
まず、開発した本人にツールが依存してしまう「職人技」のリスクです。スクリプトやパラメータ、トリガーなどを、本人以外の他者が後から見てもわかりやすく作られているとは限りません。大抵の場合は、「取り敢えず、問題なく処理ができればOK」なレベルで、場当たり的に作られているケースが多いものです。
また、その人物が異動や退職などでいなくなった場合、次に、そのシステムを十分に理解してオリジナルのツールを引き継げるほどスキルがある人材が、配置されるとは限りません。
さらに、管理項目が増えて複雑化すれば、複数のツールを併用しなければならないことで、開発や管理、監視の手間も増えてしまいます。全体の処理から見れば、ボトルネックになってしまう可能性も。変更が発生した場合にも、柔軟な対応ができず、一体何のためのツールだったのかという本末転倒な事態にもなりかねません。

結局、トータルで見た運用コストが増えてしまう

システムを安定稼働させ、ビジネスへの影響を最小限に抑えるのに不可欠な運用ですが、その重要性とは裏腹に、どうしても開発が優先され、運用や保守への人やコストのリソースは後回しになりがちです。その結果、現場の限られた人材に無理な負担を強いることで、人材の育成やモチベーションにもつながらない、悪循環から抜け出すことができません。
『システムよりも人を使った方が、柔軟性があって安上がり』だと考える経営者の方には、これらのリスクを、今一度真剣に考えていただいた方がいいかもしれません。

人の手が嬉しいのは、うどんそばとマッサージだけ!

システム運用を、手作業やオリジナルのツールで処理するには、どうしても限界があります。部分最適化が正しいとは限らず、全体の作業効率がアップしなければ、リスクも増え、コストメリットも生まれません。
システム運用も、人の手を煩わせる必要がないプロセスは、システムで自動化しましょう。手に負えなくなってから運用の専用ツールを導入するよりも、初期からミニマムでも導入して、チームで丸ごと対応することで、効率的でしかも低コストなシステム運用が実現できるのです。

関連記事

ページ上部へ戻る