新しいITインフラの形「SRE」とは?

2017年9月14日(木) ノウハウ

みなさん『SRE』という言葉をご存知ですか?
SREとはGoogleによって提唱された言葉でSite Reliability Engineering=サイト信頼性エンジニアリングという言葉のことです。
この役割の意味は「サイトの信頼性向上のために、自動化、障害対応、パフォーマンス管理、可用性担保などを通じて収益・ブランドを支える役割」ということです。

つまり、ただシステムの安定稼働に専念するだけでなく、ビジネスへの寄与が求められています。
もともと大規模なITインフラを使って、デジタルビジネスを提供し続けてきた企業はすでに取り組んでいたものでもあります。
今までSREという言葉がなかったため概念的に捉えられていたものがこの言葉が提唱されたことによって注目度が上がっています。
インフラエンジニアたちがこの業務を自然と担っていたのですが、この言葉とともにSREチームとして名を改める動きもあります。

近年、この役割を持ったSREチームを設立する動きが日本でも広がっています。
サイボウズやメルカリと行った大手ネットベンチャー企業は早くもSREチームを発足し、自社サービスのさらなる発展を目指しています。

従来の開発・運用とSREの違い

従来の開発・運用管理の状況としては、開発者がシステムを開発し、運用者へ引き渡します。
運用者はその状態で安定運用に努めます。そのためには手順書を準備し、オペレーションの標準化をします。
運用の中で改善すべきことがあれば、手順書を改訂、追加していきます。
このことは該当システムが更新されるまで繰り返され、かつ運用するシステムが追加されていくことで、結果として膨大な手順書を見て運用することになります。
さらにこの結果、運用コストの増大という問題が発生します。

一方、SREチームでは、システムが運用に移行した段階でも開発者が運用に積極的に関与する形となり、開発者と運用者の垣根を超えた組織となります。
そして求められるゴールは、サービス提供しているサイトが、ユーザにとって、いつもでも快適に使える状態にすることです。
そのためには絶えず改善を繰り返す体制が必要で、かつユーザニーズにいち早く答えるスピードが求められます。
そうしないと、ユーザが別のサービスに移ってしまうことで、ビジネスチャンスの損失となるからです。
この結果として、SREチームでは、極力オペレーションを自動化していこうという動きになります。
こうして、システムの安定稼働と積極的な機能改善という攻めの運用が両立した形となります。

メルカリを例に挙げると、サービス利用者数の拡大とともにサービスのレスポンスが悪化、増加のペースにハードウェアが追いつけなかったそうです。
その後も改善を行って山場を超えて行く中で、データ量が1テラバイト級を超えてくるほどの増加の兆しを見せてきました。
そこを当時のインフラチームでシステムの構成や運用方法を改善し、サーバのスケールアップとスケールアウトを程よく行うことで、データの処理を円滑に行うことに成功しました。
エンジニアチームの努力により、サービスへのアクセスは2年ほどで数倍になったが、ハードの増強は2倍程度に抑えることできたそうです。
お客様へのサービスの安定稼働を行うために、システムの機能改善を行う良い例です。

SREについて本を読む

SREの詳細が書かれた「Site Reliability Engineering」(英語)はオンラインでは無料で読むことができます。
http://landing.google.com/sre/book.html
翻訳版はありませんが、Google翻訳等を活用することで、おおよその理解は可能でしょう。

SREのキーワード:Toilとは?

トイル(Toil)は労苦という意味ですが、SREでは、ビジネスが求めるスピードに対して逆の動きをするものとなります。
実際には従来からの運用コストの増大を招いてきた多くの運用作業です。

上の著書では、SREチームではトイルは運用作業の50%以下に制限し、残り50%以上はトイルの削減かサービス機能の追加に費やすべき、と提唱しています。
そうはいっても、人間の判断を必要とすると手動でのオペレーションは避けられず、結果としてトイルは減らないのではという考えもあるでしょう。

しかし、SREではそういった人間の判断を必要とするようなシステムの設計自体、またはそれを必要とするアラートを出す障害状態自体を問題視します。それを解消するには、障害自体を解消するか、システムを単純化することで人間が判断していた部分を自動化することが求められます。
このことは著書の第5章「Eliminating Toil」(トイルの除去)ということで、章を割いて強調されています。

今回はSREとSREチームについて解説しました!
サービスを提供する新しいITインフラの形「SRE」。みなさんもサービスを利用するときに思い出してみてくださいね。

Writer:SecurityTIMES編集部