サーバー管理者の目/管理・監視・アーキテクト
アーキテクトとしてシステムを見る
日々の管理・監視を行っていると、さまざまなイベント・トラブル・要求に遭遇します。
その要求に応え、問題を解決し、再発防止の対策を実行していく中で、サーバー管理者は幅広い知識を得ることができます。これは現場で運用に携わっているサーバー管理者の特権でもあります。
サーバー管理者が主に取り扱うのは、性能・信頼性といった非機能要件です。
実際のところ、非機能要件を定義する・満たすためには、サービス展開の計画・予算取りのような、とても早い段階からの考慮が必須になります。
○想定されるボトルネックはどこか?
・想定されるボトルネックによるトラブルを回避するためにはどのようにすべきか
・想定されるボトルネックが問題になるときに、事前察知のためのチェックポイントは何か
○想定されるトラブルは何か?
・想定されるトラブルを回避するためにはどのようにすべきか
・想定されるトラブルが発生した際にはどのように対応すべきか
たいていのサービスはスモールスタートで始まります。その後、いくつかのフェーズに分けてサービスを大きくしていくことになります。
どの段階で、何を水平分割して、何を垂直分割するのか。限られた予算内で、効率よく費用対効果を得ながら機能要件・非機能要件に応えるためにはどういう手法を取るべきなのか。
ボトルネックが想定されていて、その解決にかなりの工数や費用がかかることが予見できているのであれば、そのポイントが実際のトラブルを引き起こさないよう、できるだけ回避する策を取ることもできます。
例えばトラフィックがスパイクにより膨大になる可能性が考えられる場合、大きいコンテンツだけはCDNによる配信に切り替える、または別回線を用意してそちらから配信するよう設定するなどの方法が考えられます。
L1~L7までのすべてに加えて、運用の現場を知るサーバー管理者であれば、とても効果的な回答ができることは間違いありません。
よりよいシステムのために
今回はサーバー管理者の仕事が、いかに幅広いかを再確認しました。この幅広さがサーバー管理の特徴でありおもしろいところです。
サーバー管理者は特に日々運用をしていますので、「システム」よりも「サービス」を意識することが多いと思います。
システム・サービスのために非機能要件を実現するだけでも大変ですが、サーバー管理者の方々には、非機能要件を実現することにより生み出される、ビジネス的な価値にまで目を向けていただきたいです。
例えばシステムにもよりますが、非機能要件として稼働率99.99%が提示された年賀状サイトがあるとします。この場合は、稼働率を99.99%にすることよりも年末年始のピーク時期に残りの0.01%が発露しないようにすることが大事であると考えられます。
もしこの「ピーク時期に0.01%が発露しないように」するための対策として、0.01%を超える停止を伴う作業が極めて有効だと考えられる場合、プロのエンジニアとしてぜひそれを提案し実施していただきたいです。
サーバー管理者の皆さんには、単純な数字にとらわれない体制と、上記のような作業を実現できるだけのサービス事業者との信頼関係を築いていただき、ぜひビジネスの最前線に出てきていただきたい。
日々の運用を任されるサーバー管理者だからこその「楽しみ」を味わえる瞬間になることうけあいです。