米Google SREディレクターに聞く、運用管理の意義、価値、役割:特集:情シスに求められる「SRE」という新たな役割(2)
デジタルビジネスの競争が激化し、システム開発・運用の在り方がビジネスの成果に直結する状況となっている。こうした中で、運用管理者の役割も「担当システムの安定運用」から大きく変わりつつある。今回は、Googleの巨大なサービス群とインフラを支えているSRE――Site Reliability Engineer(サイト信頼性エンジニア)に、今、運用管理者が持つべき視点、マインドを探ってみた。
デジタル化の潮流で変わる、開発者、運用者の役割
テクノロジーの力で新たなビジネス価値を生み出すデジタルトランスフォーメーションが急速に進展している。IoT、X-Techに象徴されるデジタルビジネスの戦いも激化し、「ITは既存ビジネスの効率化・コスト削減」のためのものではなく、「収益・ロイヤルティを獲得する攻めの手段」という認識も広がっている。
こうした中で、開発、運用、それぞれの役割も変わりつつある。事業部門と開発部門が協働してITサービスを考え、共に開発・改善するケースが増えつつあるように、開発者は「言われたものを作る」のではなく、ビジネスゴールを見据えて自ら提案する「クリエーター」としての役割に変わりつつある。
“ビジネスへの寄与”が求められているのは運用管理担当者も同じだ。特にパブリッククラウドの浸透を背景に、事業部門や開発部門は、リソースの迅速な配備など「すぐ要求に応えてくれること」「状況が変わり続けるビジネスを支えてくれること」が強く望まれている。これを受けて、セルフサービスポータルを持つプライベートクラウドを検討・導入する動きも高まるなど、運用管理者は「サービサー」としての役割に変わりつつある。
特にデジタルビジネスの潮流が高まる中、多くの企業でITサービスの提供先は社内だけではなく、社外の一般顧客にも及んでいる。スピーディにサービスをリリースしても、快適に使える状態を担保しなければ収益向上どころか逆効果になりかねない点で、運用は一層重要になっているといえるだろう。
こうした中、米グーグルが提唱した「SRE」――Site Reliability Engineer(サイト信頼性エンジニア)が注目を集めている。Webサービス系企業にとって顧客接点となる「サイトの信頼性向上のために、自動化、障害対応、パフォーマンス管理、可用性担保などを通じて収益・ブランドを支える役割」という概念だ。本来的にはWebサービス系企業における概念だが、社内向け/社外向け問わず、ほぼ全てのビジネスをITが支えている今、一般的な企業の情シスにとっても、“SREの視点”は重要な指標になるのではないだろうか。
では具体的に、SREが担うべき役割、持つべき視点、マインドとはどのようなものなのか?――米Google SREディレクター トッド・アンダーウッド(Todd Underwood)氏に話を聞いた。
起こり得る全問題に“建設的に”対応できるか否か――運用者の価値とは?
編集部 近年、グローバルでデジタルビジネスの戦いが激化しています。日本国内でも各業種でITサービス開発の競争が激化しており、IT活用に対する企業、エンジニアの認識も変わりつつあるようです。トッドさんは「ITサービスの開発・運用に求められていること」をどのようにお考えですか?
トッド氏 まずGoogleでは、「ソフトウェアエンジニアが、自分の作成したサービスの本番環境での動作に対して、責任を持つことが基本である」と考えています。そうすることが、可能な限り信頼性が高く、管理しやすいシステムを生み出そうというモチベーションにつながるためです。そうした前提があった上で、プロダクトエンジニアリングチームがサービスの信頼性をより高められるよう、SREチームが運用と信頼性に関する専門知識を提供しています。
編集部 SREを創設した経緯と、SREの基本概念をあらためて教えていだたけますか?
トッド氏 SREチームとその理念の提唱者であるベン・トレイナー(Ben Treynor)は、「SREとは、ソフトウェアエンジニアがシステム運用を設計したら、どのような組織になるか」を体現したものだと語っています。SREは「運用作業の多くを自動化する権限と能力を持つエンジニアが、運用の責任を負う」という運用組織の新しい在り方なのです。
Googleの急速な成長を低コストで実現したという点において、SREはGoogleの歴史の中で極めて重要な役割を果たしました。Googleはその世界規模のアプリケーションやコンピューティング、ネットワーク、インフラストラクチャの運営に当たって、何千人もの運用スタッフを用意する代わりに、数百人のエンジニアによって、そうしたタスクの大半を着実に自動化していくことを選んだのです。SREがこれまでに築いてきたベストプラクティスは、最近発行されたオライリーの書物(英語)に詳しいです。
編集部 「本番環境でしっかり動くものを作る」という大前提の下、開発者の視点で運用を設計し、自動化を推進したことがビジネス成長を支えてきたわけですね。ではSREは、具体的にはどのようなスキルセットを持ち、どのような取り組みをされているのでしょうか?
トッド氏 SRE担当者として採用するのは、ソフトウェアエンジニアリング、システムエンジニアリング、またはその両方において、非常に高度なスキルを持つ人材です。SREチームは従来の「運用」だけにフォーカスしたアプローチではなく、互いに関連のある、幾つかのサービスの運用を行っており、サービスの可用性、パフォーマンス、および管理に責任を負っています。
具体的には、まずプロダクトエンジニアリングチームと話し合ってサービスごとに目標を決定しています。パフォーマンス、稼働率、更新頻度など、サービスの対象ユーザーによって優先されるニーズは異なります。SREチームの役割は、これらの運用に対する要求を満たしつつ、サービスのローンチ、拡大、および管理を、できる限り低コストで成功させることにあります。
また、プロダクトエンジニアリングチームと協力することで、優先順位のバランスを保っています。というのも、プロダクトエンジニアリングチームは、「ユーザーの役に立つ新機能を持ったソフトウェアを、新たに開発・提供する」という強い意志を持っています。一方、SREは「ソフトウェアの機能を維持し、安定化を図る」というモチベーションの下に活動しています。両者が共に働くことによって、相反する目的のバランスが保たれます。いずれかのみに特化しても、理想的な結果を得ることはできないのです。
編集部 「開発者と運用者が同じゴールを見据える」ことの重要性は、DevOpsを通じて多くの企業に認識されていると思いますが、「できる限り低コストで」という点は案外見落とされがちなポイントかもしれません。では、そうしたSREチームのエンジニアとして、最も大切な「素養」「視点」とは何ですか?
トッド氏 SRE担当者には、ソフトウェアに関する知識やシステム関連の優れたスキルと、「建設的でありながら、起こり得る可能性に備えた、疑り深い視点」が必要です。最高のSRE担当者は、将来的にどのような失敗が発生するかを常に予測でき、そうした失敗の回避方法や緩和方法を提案できる人間です。
全てに対して「No」としか言わないような、純粋に消極的なエンジニアは役に立ちません。反対に、常に全てのデータセンターが機能し、ネットワークに帯域があり、ディスクスペースに余裕があるという前提で行動するような、楽観的なエンジニアも好ましくありません。
私たちが必要としているのは、障害は必ず起こるという前提の下に、正確に障害の種類を予測することができ、それぞれの障害がシステムにどのように影響するかを理解し、そうした状況に対して建設的に対処できる人間です。
編集部 運用管理は探索的であり、ある意味、クリエイティブな業務なのですね。日本では、運用自動化の進展などを背景に「いずれ仕事がなくなるのでは」とネガティブに捉える向きも少なくありませんが、なくなるのはルーティンな仕事ということですね。
トッド氏 Googleにおいて、運用管理担当者はインフラストラクチャ全体の機能にとって重要な役割を果たしています。ただ、会社としてそうした業務の重要性を理解していますが、Googleの膨大な規模を踏まえると、他社のような割合で運用管理に人員を割くことはできません。そこで、私たちはプロダクトエンジニアやSREチームに自動化システムを作り出す権限を与えることで、一般的な企業よりも運用業務の量を減らす方法を選択したのです。
ただ、自動化を進める中で私たちが気付いたのは、「需要の増加は往々にして自動化のスピードを上回る」ということです。つまり、私たちは運用スタッフの数を減らしているのではなく、将来的に運用スタッフが無制限に増え続ける状況に歯止めをかけているわけです。
また、多くの運用管理スタッフは、“繰り返しではない、取り組みがいのある業務”に大きな関心を持っています。スキルを伸ばし、新しい挑戦をしたいと望む技術者にとって、SREの取り組みは大きなチャンスを提供します。
ともあれ、「全てのタスクを完全に自動化することはできない」という前提を明確にしておかなければならないでしょう。システムは変化しますし、ユーザーやサービスも変わります。たとえ私たちが自動化フレームワークを生み出すのに成功したとしても、すぐに次世代のサービスが誕生し、別のエンジニアリング作業を必要とするでしょう。
編集部 最後に日本企業の運用管理担当者へ向けて、ひと言メッセージをいただけますか?
トッド氏 サービスに対する運用の現場は変化しています。全世界がコンピュータ業務をクラウドに移行しており、大規模でパブリックなネットワーク接続されたシステムインフラストラクチャの市場は急速に成長しています。そうした現場では多くの運用業務の需要が発生していますが現場の運用スタッフがエンジニアリング業務に、より密接に関わる機会は他にも多くあります。
未来が近づいてくるスピードは速く、解決すべき興味深い問題の数は、私たちが予測できる数よりもずっと多いはずです。
近年、“システム開発・運用”は、すなわち“ビジネス開発・運用”と、ほぼ同義になり、IT部門には「ビジネスへの寄与」が求められている。だが一般に、「担当システムの安定運用」が最重要課題だったこれまでの運用管理は“ビジネスの成果”までの距離が遠いゆえに、「ビジネスへの寄与」などと言われても、何をすればいいのか分からないといった声が多かった。また、自動化の推進により、運用管理業務はなくなっていくと捉えている向きも多い。
だがトッド氏の言葉により、「事業部門や開発者、エンドユーザーの期待にスピーディに応える/応えられる仕組みを検討する、整備する」という、より重要な役割が求められていることが、あらためて理解できるのではないだろうか。
「他社のような割合で運用管理に人員を割くことができない」のは多くの日本企業も同じだ。社内/社外のエンドユーザーの満足度を高めるために、「“繰り返しではない、取り組みがいのある業務”“解決すべき興味深い問題”とは何か」、また「それらに取り組む上で必要となるスキル・知見とは何か」に目を向けてみると、今目の前にある業務の見え方が大きく変わってくるのではないだろうか。
特集:情シスに求められる「SRE」という新たな役割
IoT、X Techトレンドの本格化に伴い、ニーズの変化に合わせて「いかにスピーディにITサービスを企画・開発するか」が重視されている。だがビジネス差別化の上で重要なのは「作ること」だけではない。リリース後の運用が大きなカギを握る。本特集では米グーグルが提唱する「SRE――Site Reliability Engineer(サイト信頼性エンジニア)」という概念を深堀りし、「運用管理のビジネス価値」を再定義する。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 工数削減だけじゃない、自動化ツールの真のメリット
運用自動化というと「人員削減」「コストが掛かる」といったネガティブな見方をする向きも多い。だが仮想化、クラウド時代において運用自動化とはそれほど単純なものではない。国内ベンダ4社のツールに真の意義を探る。 - 運用自動化ツールは経営の武器へ
運用自動化というと「コスト削減」「効率化」といったイメージが強いが、攻めの経営を支える武器となるものでもある。後編では外資ベンダー3社の運用自動化ツールを紹介する。 - 徹底比較! 運用監視を自動化するオープンソースソフトウェア10製品の特徴、メリット・デメリットをひとまとめ
運用自動化のポイントを深掘りする本特集。今回は「個々の作業項目の自動化」に焦点を当て、「Zabbix」「JobScheduler」「Sensu」など、運用・監視系の主要OSS、10種類の特徴、使い方などを徹底解説する。 - 運用自動化、ツールの種類やOSS/商用の違いを問わない運用設計の作り方、進め方
システム構成が動的に変化する仮想化・クラウドの浸透により、もはや人手だけによる運用管理は難しくなっている。本特集では、ビジネス展開に即応するインフラ整備の必須要件、運用自動化のポイントをツール面、設計面などあらゆる角度から掘り下げていく。