Vol.7 ITエンジニア/CRMのためのコラム

エクスペリスの社員が素晴らしいキャリアを築くコツをお話しします。

システム運用とシステムトラブル

山元 信吾

執筆者プロフィール

山元 信吾

システム技術1課
ITエンジニアリーダー

システム運用・保守とは

エンジニアの仕事には幅広く色々なものがありますが、代表的なものに「システム運用・保守」があります。
この「システム運用・保守」、よく耳にするかと思いますが、実際にはどんなものなのか、皆さんご存知ですか?
わかりやすく身近なものに例えると、私たちが生活で使用している電気や水道と同じように「使えて当たり前なものを問題なく提供し続ける」ということになります。
急な停電や断水になると困るように、システムを利用している企業やエンドユーザーがいる中、突発的にそのシステムが使用できなくなることで、利用者は業務や必要な処理ができなくなったりします。
数分の間、少しくらい止まっても・・・ と思うかもしれませんが、利用者にとっては死活問題になることもあります。利用者からすると使えて当たり前と思われるサービスが止まることは許し難いことなのです。
そういった「使えて当たり前」「動いて当たり前」と思われる緊張感の中で、システムが日々円滑に稼動するように裏側で支えているのがITエンジニアなのです。

システムトラブル

システム運用の業務の基本は、日々の定期定常処理や監視業務、メンテナンスです。
決まったルーティーンに則り、システム(サービス)の起動・停止やデータ作成、バックアップ、メンテナンス等、様々な定期処理やオペレーションを実施していくことで、システムのデータ処理や更新を行っていきます。
それだけなら日々安定稼動し続けていれば、殆どを自動実行や定型作業などで処理できますが、どうしても避けて通れないのがシステムトラブル=「障害」です。
サービスレベルにもよりますが、監視業務では24時間体制でシステムの状態(システムのリソース状況やエラー情報、疎通状態など)をチェックしており、問題や予兆があれば検知する仕組みとなっています。
そこで検知した問題や、ユーザーからの問い合わせによって発覚したトラブルに、ITエンジニアは即時対処しなければなりません。
ケースにもよりますが、データ損失などの事故の場合は、大きな損害になることだって有り得ます。そのために、日々の定期的なデータバックアップやサブシステム(代替機)の準備など最悪のケースを想定して、最低限のリカバリが可能なように対策を考えています。
また単にバックアップがあれば良いということではなく、如何にスムーズに切り替えやリカバリができるかが重要になります。切り替えが早く済むことでサービス影響(サービス停止時間)や被害を最小限に抑えることになるため、切り替え手順や仕組みを日々精査して、より良い準備をすることを目指しています。

トラブルに対する準備

以前、運河を渡航中のクレーン搭載船舶が電線にクレーンを引っ掛けて大停電を引き起こした事故がありましたが、事故発生から2~3時間程でサブ電源への切り替え作業を実施し復電させたという報道を聞いて、見事というか非常にプロフェッショナルだなと思いました。
あれだけ大きな事故なのに、2時間程で現地へ駆けつけ一連の作業をしてスムーズに復旧させたというのは予めトラブルを想定した準備とシミュレーションが、しっかり出来ていたことになり、異業種ではあるけれど、共感と尊敬の念を抱きました。
一般的には復電に「2時間も掛かった」「復電させて当然」と思われがちですが、私個人的な考えとしては2~3時間で復電させたことは、もっと評価され感謝・賞賛されるべきだと思っています。
このように、いくら復旧活動に尽力しても、功績が目に見えにくく評価されにくいのが実状です。
だからこそ、システム安定稼動が一番に求められ、如何にサービスを断続することなく継続させるかが重要になっているのです。

では、エンジニアとして何をすればいいのか?あらゆる観点からトラブル発生原因を予測して、未然に防止することが最良です。トラブルといっても、機器故障・老朽化、プログラムやソフトウェアのバグ、リソース不足による処理遅延やシステムハングアップ、人為的なオペレーションミス、悪意のあるユーザーによる攻撃やウィルス等々、ケースも様々です。いつどんなトラブルが起こるか分からないので、トラブル発生時に、原因・影響切り分けの調査方法を考えたり、多種多様なケースを想定して、未然防止策やトラブル発生時の復旧対応策を講じることが必要なのです。

【想定されるトラブルと対処方法】

機器の老朽化や故障であれば、定期的な機器点検や機器交換。
ソフトウェアのバグであれば、最新パッチ情報の入手や適用の検討。
リソース問題であれば、リソース状況の実測レポートと予測。
人為的オペレーションミスであれば、手順整備や自動化・単純化Toolの開発。
外部からの攻撃やウィルスには、セキュリティソフトの検討など

日々の運用の中でも、障害起因に成り得る要素は数多く潜んでいるので、可能な限りトラブルの発生確率やミスを無くす改善活動をすることによりトラブルを防ぐ基盤となるのです。また、トラブル発生時の被害を最小限に抑えるため、リカバリ方法の確立や手順を準備・想定をすることで万一のシステム停止に備えた万全の対策となります。そうした積み重ねにより、安定稼動が継続され、品質やサービスレベルの向上となり、いずれ信頼・評価に繋がっていきます。

終わりに

日々、何気なく使っている携帯電話やインターネットのサービスもそうですが、身近に使っているシステムはその裏側に、安定稼動させるための多くの人とその人々の努力があります。
今現在も何らかのサービスで、実はトラブル発生中だがサービス停止させないよう復旧に向けて誰かが対応している最中かもしれません。
そうしたことを少し考えてみると、当たり前に使えているサービスに対しありがたみを感じてきませんか?
もし、このサービスが使えなくなったらと思うと・・・。
ITエンジニア自身もサービスを提供する側であり、サービスを提供される側でもあります。そうした利用者(ユーザー)立場での意識を持つことが、安定稼動への意識を高めることに繋がって品質を高めていくものと思っています。