コラム
2025.03.24

情シス・システム運用者必見!知っておきたいSREの基礎

はじめに

昨今ではクラウドサービスを提供するベンダ以外に導入・運用支援サービスを提供する企業も増え、選択肢が増えた一方で、自社に合ったサービス選びは大変になりました。クラウドサービスを適切に選び、効果的に活用するためには、ベンダだけでなく、情シスやシステム管理者といったユーザ企業側の運用担当者にもITやネットワーク技術の基礎知識が求められるようになっているといえます。
そこで本記事では、クラウドサービス導入や活用、社内の運用体制について考える際に知っておきたいSRE(Site Reliability Engineering)に焦点をあてて、ソフトウェア開発と運用体制の変化についてご紹介します。

SRE(Site Reliability Engineering)とは

SRE(Site Reliability Engineering)とは、日本語では「サイト信頼性エンジニアリング」と表現される、ソフトウェアの運用に関する考え方です。2003年にGoogle社が、自社の検索サイト「Google.com」開発・運用の経験を元に、運用の方法論として取りまとめました。

Webサービスやクラウドサービスといったインターネットに接続して利用するサービスは、従来のユーザ所有のハードウェアにインストールして利用するソフトウェアと、さまざまな点で運用が異なります。インターネット普及に端を発するサービス形態の変化により、従来の運用体制のままではユーザ増加やサービス規模拡大に比例して人員を増やす必要がありコストが嵩む、といった新たな課題が登場しました。また、安定した稼働や素早いインシデント対応など、新たなユーザニーズも生まれました。そのため、検索エンジンに代表されるWebサービスの利用拡大にともない、ソフトウェアベンダは新しい運用方法を模索することになった、といえます。

SREの大きな特徴は、運用を「オペレーション」ではなく「エンジニアリング」だと考える点です。ソフトウェアエンジニアが運用に携わり、従来は手作業でこなしてきた業務を代わりに実行するプログラムを作成することに重点を置き、自動化により業務効率化と人的ミス低減を目指します。

単語の意味から考えるSRE(Site Reliability Engineering)

SRE(Site Reliability Engineering)という用語は、直感的に意味を把握しにくいため、単語ごとに、意味を整理して覚えましょう。

「Site」が指すのは、Webサイトです。「Google.com」というWebサイト開発と運用を試行錯誤するなかで生み出されたためにこの名称になっていますが、ソフトウェア全般の運用に適用できます。「Reliability」が指すのは、信頼性です。ソフトウェアにおいては機能やサービスを期待通りに実行できるかを、Webサービスやクラウドサービスにおいては機能追加や改善しつつ安定的に運用できるか、を意味します。「Engineering」が指すのは、技術です。
3つの単語の意味を整理すると「Webサービスやクラウドサービスの安定的な運用についての技術」といった意味になります。

SRE実践のポイント

Google社はSREを取りまとめるにあたって、原則だけでなく実践についても整理しました。実践方法に関する内容はかなりの分量があるため、最初からすべてを把握するのは困難です。実践に向けて気を付けたいポイントは、運用を自動化し、可用性を維持し、改善を続けるという原則です。

ソフトウェアによる自動化

人力で状況をモニタリングし、異常を確認した場合に原因を究明する従来の体制では、サービスの規模に比例して運用負荷が増加します。また、インターネットを介して提供するサービスに求められる、頻繁な開発とリリースの繰り返しやユーザの変動に応じたスピーディなスケール変更への対応が困難、という課題もありました。

そこでSREでは、運用担当者としてソフトウェアエンジニアを雇用し、システム監視やアラート設定、ログ収集などの運用業務をプログラムで自動化します。この自動化には、スケール変更による影響を受けにくいだけでなく、人的ミス削減と業務高速化といったメリットもあります。

信頼性の数値化による可用性の維持

SREでは、サービスの安定的な動作担保のために、指標としてSLIやSLOを用います。

SLIは、「Service Level Indicator」の略称であり、サービスの信頼性を測定するための数値です。サービスの可用性や性能、セキュリティの強度などを指す指標になります。SLOは「Service Level Objective」の略称であり、サービスの信頼性に関して設定する目標値です。

アップデートは常に安定性を低下させ、新たな問題の原因となる可能性があります。そのためSLIやSLOといった数値を使って定量的にサービス動作状態を随時把握し、対応が必要かどうかを判断します。

ポストモーテム(事後検証)による改善

半永久的に問題無く稼働を続けられるサービスは存在しないため、安定的な動作を目指すだけでなく、問題発生時の対応も重要です。インシデントが発生した場合に再発防止のためにドキュメントを作成する活動をポストモーテム(事後検証)と呼びます。「トラブル内容とその影響範囲」や「対策として実行されたアクション」、「再発防止策」などを記録しますが、目的は組織全体で学びを共有することです。

インシデントレポート(障害報告書)と似ていますが、インシデントレポートは経営層や権利者への説明責任を果たすためのドキュメントであり、現場で学びを共有することを目的としていない点で大きく異なります。

SRE普及のターニングポイント

SREは、2003年にGoogle社が発表した後すぐに広く普及したのではありません。ソフトウェア開発・運用を取り巻く、いくつかの大きな環境変化をきっかけに、SREは広く利用されるようになりました。

DevOpsの登場による開発の変化

ソフトウェア開発分野で、2009年にDevOpsという開発手法が登場しました。DevOpsとは開発(Development)と運用(Operations)を組み合わせた造語であり、スピーディな開発を実現するために、開発チームと運用チームの連携を強化するという考え方です。
DevOpsについて詳しくは、こちらの記事 をご覧ください。

DevOpsを実践しようと考える開発にとって、SREは運用と開発の意思疎通を効率化するといった効果を期待でき、魅力的でした。SREの実践には、運用を開発と同様にソフトウェアエンジニアが担当することになるためです。
ほかに、SREが運用業務を自動化する点も開発にとって有用でした。DevOpsの実践にあたってはCI/CD(Continuous Integration/Continuous Delivery)、つまり「継続的なテストと本番環境への適用」を進める必要があり、運用業務を自動化することは、CI/CDにも役立つためです。

SREとDevOpsの関係

DevOpsは運用だけでなく開発をはじめとした広範な組織向けにSREを拡張した考え方であり、SRE はDevOpsの具体的な実践手法だと見なせます。

しかし、DevOpsとSREの目的は異なるため、時として両立させることが難しいケースもあることには注意が必要です。たとえば、部署の垣根を超えた開発と運用の横断的なDevOpsチーム編成と、運用での専門的なSREエンジニア雇用は、同時にうまく機能しないでしょう。

クラウドサービスの普及

2020年代に、世界的な感染症対策としてリモートワークやクラウドサービス導入が世界的に進んだことも、大きな転機になりました。

ユーザが保有するハードウェアにソフトウェアをインストールするオンプレミス型のシステムでは、新たな機能追加の相談やトラブル発生時の対応など多くの運用に関するイベントが、ユーザごとに発生していました。しかし、インターネットを介して提供されるWebサービスやクラウドサービスでは、アップデートやトラブル発生はすべてのユーザに同時に影響を及ぼします。そのため、従来の顧客ごとにイベントが発生した際にそれぞれ対応するよりも、運用を自動化して人的ミスが発生する余地を減らす価値が高まったためです。

サイバー攻撃の増加

Webサービスやクラウドサービスの利用が拡大し、インターネット上で作業や取引をする機会は増えました。便利になった反面、脆弱性への完璧な対策はより困難になり、サイバー攻撃の増加にともない、セキュリティに関する機能が製品の大きな差別化要因のひとつだと考えられるように変わっています。

実際に、2021年から2022年にかけてみずほ銀行で複数回のシステム障害が発生した際には、金融業界でSREが話題になりました。

クラウドサービスの活用には「社内の運用体制」も重要

昔ながらの「社内システムの管理」と同じ社内体制のままでは、クラウドサービスを効率的に運用できません。なぜならば、エンドユーザにとってのクラウドサービス運用は、ベンダ企業内だけで完結しないからです。
ユーザ企業内にも、クラウドサービスに関する知識を持つ運用担当者が必要です。管理者権限が必要な設定やユーザアカウント管理、サービスのバージョンアップや機能追加にあわせた社内での情報共有や教育など活動は多岐に渡ります。ベンダがDevOpsやSREを導入して開発・運用を高速化するのにあわせ、ユーザ企業側の運用もベンダのスピードに対応する必要があるといえるでしょう。

昨今では、マルチクラウドやハイブリッドクラウドといった用語が登場したことに象徴されるように、さまざまなクラウドサービスを組み合わせて利用するようになっています。多くのクラウドサービスの機能を十分に活用するためにも、社内の運用体制見直しが不可欠です。

社内の運用体制見直しについて考える際には、社外のプロフェッショナル人材の活用についても検討すべきですが、この際にSREについて理解しているかを確認しておくとよいでしょう。昔ながらの「情報システム管理の委託」ではなく、クラウドサービス活用を進めるために、最新情報の共有やノウハウの伝授についても相談できるパートナーを探すことが必要です。

まとめ

企業が自社のビジネスにマッチしたクラウドサービスを組み合わせて利用するようになるにつれて、個々のサービスに求められる信頼性やインシデント発生時の対応速度への要求は高まり、SREはより重要になっています。DX推進を成功させるためには、ユーザ企業内の運用担当者もこのようなクラウドサービスの開発・運用のトレンドを把握して、社内体制の最適化を進める方がよい結果に結びつくでしょう。しかし、社内人員だけで日常的な運用業務に加えて、体制の見直しやトレンド情報の把握までこなすのは簡単ではありません。
プロフェッショナルの手を借りたい場合は、ぜひセラクへご相談ください。セラクは、Microsoft AzureやAWSといったクラウドサービスの活用支援や情報システムに関するマネージドサービスを提供し、運用面でSREを実践しています。

あわせて読みたい記事

  • Salesforce コンサル派遣なら選ばれるセラクCCC
  • クラウド導入・運用はプロにお任せ!
  • 統合人事システム COMPANY支援
  • 法人・活用サポートまで充実NewtonX