システムの本質を理解する
システムを理解する上で欠かせないのが「階層」という視点です。コンピューターは歴史的に見ても「ON/OFF」で表現されるものを積み上げてきたので、「階層」という概念が馴染みやすいのです。
システムの階層を一番上から見ていくと、まずエンドユーザーにサービス(機能)を提供するための「アプリケーション」があります。システム運用担当者はアプリケーションを正常に稼働させなければなりません。エンドユーザーからすれば、アプリケーションが見えているシステムのすべてだからです。
アプリケーションの下には、さらに①ミドルウェア、②OS、③ネットワーク、④ハードウェアの4つの階層があります。これらの階層が正常に動作することと同時に、正しく協調しなくては機能をユーザーに提供できません。トラブルの連絡に対応するためにも、システム運用担当者はアプリケーションの機能を熟知することが求められます。
アプリケーションの動作を理解するには、まずデータベースやWebサーバーといったミドルウェア層を理解することです。そして、どのようなミドルウェアが用いられるかを運用側から指定できることはあまりないので、システム運用担当者は様々なプラットフォームに慣れ親しんでおく必要があります。また、メンテナンス作業や稼働状況のモニタリングなどを行うためにはOSレベルのコマンドが必要になるため、扱っているOSの差異も知っておく必要があるでしょう。
さらに、最近ではほとんどのシステムがネットワークにつながっています。クラウドなどはその最たるものですが、ユーザーの中にはシステムとネットワークの区別がついていない人もいます。システム運用担当者としては、トラブルが起きた時に問い合わせに的確に対応できるように、ネットワークも意識しておくことが必要です。
ハードウェアに関しては、ワークステーションなどが活躍していた時代とは異なり、クラウドのように「壊れても数でカバーする」という低コストなPCが主流になっています。システム運用担当者には、壊れてもサービスに影響を与えないような備えが求められます。
トラブルが起こった場合は、最上位の階層から現象を理解し、1つずつ下の階層の動きに注目すると、問題の所在が見えてくるはずです。
逆に1番下の階層からシステムを見直すと、システムの「あるべき状態」がわかりやすくなります。その場合はハードウェアとOSは結びついているので、ハードウェア→OS→ネットワーク→ミドルウェア→アプリケーションの順に見直すと良いでしょう。その変化を監視することこそがシステムの「運用監視」の本質です。
このように階層を意識することは、システムを理解する近道だと言えるでしょう。