クラウド時代のシステム運用の考え方  ~DevOpsというキーワードをご存知でしょうか?~

前川賢治(Kenji Maekawa) 2011-12-21 14:30:00


去年の今頃は、今年が日本にとって特別な年になることなど全く想像していませんでしたが、1000年に一度と言われる大災害に見舞われた年も残すところあと僅かとなりました。


クリスマスや忘年会、年末年始の準備や帰省など、プライベートでも普段より行事の多い上に、仕事の面でも今年中に片づけなければならないことが数多くあり、何かと忙しさが感じられる年の瀬です。


今回は、最近、会社で そらまめ君に教えてもらった「DevOps」という新しいムーブメントをご紹介したいと思います。



年末年始は、一年の中でも企業のシステムを停止できる数少ないチャンスなので、ハードウェアの入れ替えやソフトウェアのバージョンアップなどが計画されることも多く、システムの運用担当者はお正月も出勤して作業しなくてはならない場合も少なくありません。


我々もお客さんの年末年始の作業予定に合わせて、何かあったときにすぐ担当者に連絡できるような待機体制を求められるのですが、年末年始以外でもシステムのメンテナンス作業というものは、最もシステムを使う人が少なく業務への影響が最小となるタイミングで実施されるため、深夜作業や休日作業が多い上に、毎年お正月に休みが取れないというような話を聞くと、システムの運用という仕事も大変だなぁと思うのです。


しかし、それぞれの企業が自分たちでコンピュータを所有していた時代から、クラウドを中心にした時代に変わろうとしている今、システムの運用という仕事のイメージが大きく変わろうとしていることをご存じでしょうか?


前回のコラムでも触れましたが、旧来のカットオーバー主義のシステムにおいては、大まかな工程として、設計→開発→運用と襷が引き継がれていくのが普通でした。駅伝での襷が、システムではドキュメントになる訳です。


開発担当者の立場からすると、運用設計書や運用手順書などを運用の担当者に引き渡した時点で自分の仕事は終わりであり、システムは運用担当者に託される形で自分の手から離れることになります。その後、システムを担当した開発者は別の案件にアサインされ、トラブルが発生しない限り、開発担当者と運用担当者が接する機会は多くありません。


また、運用担当者の立場からすると、システムがカットオーバーされた時点で、引き継がれ運用手順書に従ってシステムを滞りなく動かすことがミッションであり、必要とされるスキルはOS、ネットワーク、ミドルウェアなどが中心となります。実際、アプリケーションや業務についてはあまり理解していないのが現実です。システムの運用という仕事は、与えられた手順書に従って決められた監視と作業を行うものという昔のイメージがあり、実際にシステムの運用を担当するのは、システムの開発担当とは違う会社から派遣されたスタッフが担当している場合なども少なくありません。


システムの開発者と運用担当者の間には、それぞれに課されるミッションも、必要とされるスキルも、勤務の形態も、所属する会社や組織も違うため、大きな溝が存在するのが現状なのです。


このような従来の役割分担では、担当する守備範囲や目指すべきミッションが違うために、それぞれの役割に特化した部分最適のみが進み、戦略的で全体最適された「サービス」を提供することはできません。特に、基本的にハードウェアの保守作業は必要なくなり、これまでとは違う視点での、監視やチューニングが継続的に必要となるクラウド環境においては、従来の役割分担で運用されるシステムと、全体最適を目指して継続的にチューニングや改修を繰り返したシステムとでは、コスト面においてもビジネスへの貢献度においても大きな差が生まれてくると思われます。


そこで、開発と運用の溝を超えて協働していこうという、新しいムーブメントとして DevOps という考え方が生まれてきました。DevOpsとは、DevelopmentとOperationを組み合わせた言葉ですが、開発部門、運用部門、品質管理部門が「適切なソフトウェアとサービスによってビジネスゴールを実現する」という同じ目標を共有して協働関係を築いて行こうとするムーブメントなのです。


確かに、これまで障害発生時などは、ハードウェア/インフラとソフトウェアの責任範囲を明確にするため、まず問題の一次切り分けを行った上で、それぞれの責任範囲の中で対応していましたが、すべてをソフトウェア的に制御できるようになった仮想環境においては、ハードウェア的な要素も含めたな構成の自動化(プロビジョニング)や、負荷のピークに合わせた動的なキャパシティプランニングのような、これまでになかった役割に対して従来の役割分担を適用して対応することは無理があります。


ここではDevOpsの基本概念について触れるに留めますが、クラウド環境を中心とした新しいシステム開発の方向性を示すキーワードとして、「DevOps」を検索してみると何かの参考になるのではないかと思います



今年もいろいろありましたが、改めて、今年一年お世話になった方々に感謝し、東日本大震災の犠牲となった多くの人のご冥福をお祈り致します。 


---------------------------------------------
前川@ドリーム・アーツ

※このエントリはZDNetブロガーにより投稿されたものです。朝日インタラクティブ および ZDNet編集部の見解・意向を示すものではありません。