今や Web プラットフォームは企業のビジネスや業務を支える生命線であり、その安定した運用がますます求められるようになっている。一方で、顧客ニーズや外部環境の変化をいち早く捉え、新サービスのリリースや機能強化が可能なシステムの実現はビジネスの成長には欠かせなくなっており、企業は信頼性と革新という 2 つの相反する要件を突き付けられている。そうした課題を解決に導く考え方として、近年、多くの企業からの注目を集めているのが「SRE(Site Reliability Engineering:サイト信頼性エンジニアリング)」だ。SRE はどのような考え方で、どのような要請から生まれたのか。そして、企業はその実践に向けて、どのような施策を適用していけばよいのか。
Web プラットフォームをビジネスの基盤とする
企業にとって不可欠な SRE とは?
インターネットのビジネス活用の黎明期からおよそ 30 年が経ち、今や、あらゆる業種業界、企業規模を問わず、Web の活用なしには事業や業務が立ち行かなくなっている。そして、 Web プラットフォームがビジネスの中軸を担うようになった現在、そこに求められる要件も大きく変化している。
「今日の Web プラットフォームには、2 つの相反する要件が求められています。1 つは、いかにシステムの安定運用を実現するのか。もう 1 つは、日々刻刻と変化する市場やユーザーニーズに、いかに迅速かつ柔軟に対応可能なシステムを構築していくのかというものです。この二律背反する要件に、企業は対処していかなければなりません」
こう強調するのは、グーグル合同会社 シニアデベロッパー リレーションズエンジニアの山口能迪氏だ。事実、昨今の Web アプリケーションやサービスでは、ユーザーニーズやビジネス環境の変化に迅速に対応するため、頻繁な機能追加や改善、およびリリースが求められている。そうしたことから、ビジネス部門および開発部門は新機能やサービスのいち早い開発とリリースを望む。一方、開発/リリース サイクルの迅速化はサービスの信頼性維持に影響を与えかねないため、運用部門は避けたがるのが実情であろう。
「ユーザーや顧客の期待はシステムの安定性にあるのか、あるいは開発スピードの向上やタイムリーな機能追加にあるのか、システム開発者やインフラのエンジニアはビジネス側の担当者と会話を重ねながら目指すゴール定め、その実現を可能とする方策を選択し、導入していく必要があります」と、株式会社スリーシェイク 代表取締役社長の吉田拓真氏は語る。
そうした中、インフラ レイヤーにおいてはクラウド ネイティブ化が加速、ソフトウェア技術を活用しインフラの展開や運用を制御することで、より信頼性を向上させられるようになっている。しかし、Datadog Japan 合同会社 Senior Technical Advocate の萩野たいじ氏は「停止が許されないインフラであってもクラウド ベンダー側の制御下にあるケースは多く、ユーザー企業自らが信頼性向上のために運用管理を強化しようとしても、“ある一線”を越えられないケースは少なくありません。したがって、企業はその手前において、インフラを制御し、さらなる信頼性を担保できるような手立てを講じることが課題となっています」と説明する。
このような Web プラットフォームの開発/運用にまつわる信頼性の問題を、企業が解決していくための手法として、近年、脚光を浴びているのが SRE(Site Reliability Engineering:サイト信頼性エンジニアリング)だ。SRE とは、「信頼性の高い本番環境システムを開発、運用していくための、一連の職務やマインドセット、そしてエンジニアリング手法」を指す考え方をいう。
Google の社内実践からコミュニティを通じて広がった SRE
SRE は、Google によって提唱され、その後、コミュニティ等を通じて広く知られるようになった考え方である。そもそも SRE は、どのような要請を経て生まれたのか。山口氏は、「2004 年以前、Google の基盤システムが大規模化するとともに、運用管理負荷や障害にまつわる問題も大きくなり始めていました。当初は、インフラ チームが自動化等の技術を用いて対処していたものの、根本的な解決には至らなかったのです。そこで、これまで分かれていたソフトウェア エンジニアとシステム アドミニストレータ チームを融合させた「SRE チーム」を編成し、ユーザーの信頼性確保にフォーカスし、ソフトウェア エンジニアリングの側面から運用に関する問題を解決する、という方策を推進したのです」と説明する。
SRE を基軸とした取り組みを進めたことで基盤システムに安定運用がもたらされたが、Google は、そこで蓄積された知見が Web プラットフォーム上でシステムを開発・運用する企業・組織にとって有益になると考え、開発者のコミュニティに共有する。そうした取り組みの 1 つが、Google が実践した取り組みや知見をまとめた『SRE サイトリライアビリティ エンジニアリング』をはじめとする一連の書籍の発刊だ(図 1)。加えて、コミュニティにおける啓蒙活動を通じ、SRE という考え方は広く浸透し、実践する企業も増えていくことになる。
拡大画像表示
なお、SRE に対する注目が拡大するとともに、「SRE と DevOps の違いはどこにあるのか」という声も、多々聞かれるようになった。山口氏は、「本質的には DevOps も SRE も同じだと考えています。ただし DevOps といった場合、開発者の生産効率の向上に重きが置かれているケースが多いと思われます。対して SRE は、運用において、ユーザーが求める信頼性をより高めつつ、そこで発生する問題をいかにエンジニアリングで解決できるかにフォーカスしています」と説明する。
●Next:SRE の実践を阻む日本企業特有の障壁
会員登録(無料)が必要です