2017年7月27日

信頼できるITサービスの鍵となる「SRE」、あらゆる業界での導入が注目される”攻め”の保守運用とは

みなさんは「SRE」という単語をご存知でしょうか? 今後、どの業界や会社にも当たり前の価値観として考え方が広がっていくのでは?とも言われている「SRE」について、アイレット株式会社のお二人にわかりやすく解説していただきました。


こんにちは!in.Live編集部の石川です!

最近は、ITの技術やサービスがどんどんインフラ化しはじめ、私たちの生活に欠かせないものになってきました。しかし、ある日突然いつものサービスが停止してしまったら…急にアクセスできなくなってしまったら…。そう考えると不安になりませんか?

そこで今回は、技術を影で支える立役者でもあり、常に安定的なサービスを提供することで”信頼あるITサービスの開発”に貢献しているアイレット株式会社のお二人にお話をお伺いしました。

後藤 和貴さん
アイレット株式会社 執行役員

AWSの構築/保守運用サービス『cloudpack』のエバンジェリスト、 事業戦略本部の部長として、マーケティング・デザイン・動画チームを統括している。

石田 知也さん
アイレット株式会社 cloudpack事業部ソリューションアーキテクト

AWSの導入および運用に関するコンサルティング・インテグレーションを担当。AWSの特性を活かした大規模配信案件のインテグレーション・運用を得意としており、「徹底的な自動化と人による運用」がモットー。

システムを落とさず支える「SRE」チームの役割って?

本日は、どうぞよろしくお願いいたします!
システムの安定運用を支えるためのサービス… 表に見えない分、あまり想像ができません。具体的にどういったお仕事なのでしょうか?
私たちの仕事は「Site Reliability Engineering(サイトの信頼性を高めるエンジニア)」の略で、頭文字を取って「SRE」とも呼ばれています。最近ではGoogleやFacebookなどの急成長企業でも、自社にこの「SRE」チームを抱えているのですが、私たちはこの「Site」を「Service」と定義しているんです。

つまり、ウェブサイトにかぎらず、”ITサービス全般の安定運用をすること”を目的としたエンジニアリング(サイトの開発・運用)を提供することを「SRE」と呼んでいます。
なるほど。通常のシステムを運用する技術というよりも、より”安定的に運用する”ということに特化した技術なんですね。でも、サービスの安定運用って、具体的にどういったことをするのでしょうか?
例えばウェブサイトの場合、リリースしてからビジネスの変化にともなって変動していきますよね。当然、リリース当初よりもアクセス数は増えますし、新しく機能が増えることもある。数ヶ月かけて、大きくリニューアルするような開発ではなく、日々の小さな変化を、安定的に運用できるように常に少しずつ開発を重ねています。

わかりやすい例でいうと、イベントですね。例えば、代々木公園で行われる〇〇フェスのようなイベントがあるときは、普段よりもサイトのアクセスが増えるんです。このようにアクセスが増えたとき、サービスをいつも通り安定的に運用するためになにをするべきか?を考えるのが「SRE」チームの役目なんですよ。
最近は当たり前のように身近にITサービスがありますが、例えば、いつも服を購入しているアプリが急にアクセスできなくなった場合、【サイト停止=存在がない】ような印象になりますよね。

仮に実店舗のお店が1日お休みをしてもそんな風には思わないですが、ITサービスは24時間いつでも使えるのが当然と考えられているので、それだけで話題になったり、信用を失ったりしてしまいます。
たしかに、SNSなどでも「このサービスが落ちてる!」「アクセスが集中してサーバーがダウンした!」といったコメントを見ることがよくあります。短時間でもアプリやサイトに急にアクセスできなくなってしまうことで、ちょっと不安になりますね。
ですよね。このようなことで信頼を失わないように事前に防ぐのが、SREの役割です。サイトの安定運用を妨げる要因になるものはなにか?を予測する必要があるんです。

そのためには、例えばサービスや企画、キャンペーンなどがどのような内容なのか、どういう方を対象としているのか、いつどのタイミングでのアクセスが予想されるのかなど、ひとつひとつのビジネスのレイアウトを深掘りし、それにあった対策を検討する必要があります。

そうして深掘った上での解決方法として、サーバーを増やしたり、あるイベントの時だけ負荷に耐えられるように裏側の構成を少し変えてみたり、キャッシュを入れて負荷を散らしたりしているんですよ。

なるほど!画一的な技術サポートを行うだけではなく、それぞれの企画やサービスの内容などビジネス面まで深く分析していく点が特徴的ですね。
そうですね!従来だと、エンジニアはサービスの深いところまでなかなか立ち入れないことが多かったのですが、このように”サービスの信頼性を確保するために何をするべきか”という視点で動いていくことが、「SRE」チームの一番大きなポイントかなと思いますね。

天候から出場選手まで。対策は問題が起きる「前」に!

だんだんと「SRE」のことがわかってきました!
御社がこれまでに取り組んだ事例をお伺いできますでしょうか。
そうですね。例えば弊社では、Jリーグの公式サイトの運用をお手伝いしているのですが、こちらのサイトの場合は、どのタイミングで一番アクセスがあると思いますか?
やっぱり、試合が行われる日でしょうか?
その通り!このようにアクセスが集中する日にサーバーを落とさないために、事前に試合情報を見ながらサーバーを増やすなどの対策を行ったり、逆に、試合が行われない日は、運用コストを抑えたりしています。

ある程度アクセス数を正確に予測するためにも、試合当日の天候や選手の順位変動など、アクセス数に影響される要素も意識しているんですよ。
へええ!試合の日の天気まで!私たち利用者側では、いつでも当たり前のように繋がるものだと思っていましたが、見えないところで技術者の方がこんなに動いているのですね…!まさに縁の下の力持ち。

システムを作るだけだと、想定外の対応ってしにくいんですよね。でも、このようにあらかじめ負荷を予測することで、問題が起こる前にすべき対策や、もし問題が起きたときでも、どのような行動指針で動くかを事前に準備することができますよね。
なるほど。負荷に耐えうるシステムを作るだけではなく、これから先に来るであろう負荷も様々な要素から予測をするのですね。
そうなんです。これが先ほどの、ビジネスのレイアウトを深掘りするということ。もちろん技術力も大事ですけど、「SRE」チームはそれ以上に、ビジネスとしてのサービスの視点を持つことが大事なんです。

例えば、企業がお客さんに対してキャンペーンのお知らせをする際も、LINEアカウントで知らせるとプッシュ通知があるので瞬間的にアクセスが増えるのですが、メルマガでお知らせをした場合のアクセスの伸び方は、よりじわじわと増えていきます。このようにプロモーションの方法によっても流入の動き方が変わるので、媒体ごとにどのような特性があるのかなどをきちんとヒアリングし、ビジネスの企画からシステムの特性を組み、万全の体制でモニタリングをしています。

あとは、障害が起きる前の予兆をすぐにキャッチして、手を打つことも、とても大事なことだと思っています。
サービス特性からの予測だけではなく、障害が起きる前の予兆というのもあるんですね!それをキャッチするのはかなり難しそうですが、具体的にどういった方法で行うのでしょうか。
予兆に関しては人間だけでやるのは効率も悪く、見落としも避けられません。そもそも、24時間見守るのも困難なので、実はある程度、機械化をしているんですよ。

例えば、先ほどのJリーグの公式サイトの場合、試合のある日のサイトのアクセス数や、CPU(サーバーにかかる負荷)などの情報を、当日の天気や順位変動などの条件をふまえて、事前に機械がある程度の精度で予測してくれるんです。そして、サーバーを◯台増やします!などのレポートが逐次、社内のエンジニアチームのチャットツールに通知されるのでそれをチェックしているんですよ。

もちろん問題があれば人が稼働しますし、最終的な判断も人が行うのですが、それ以外は機械に任せています。今は、クラウドにまつわるものがすべてAPIで連携できるので、ほとんど人が介在せず、9割が自動化されているんですよ

クラウドが誕生したことで、保守運用も「攻め」の姿勢に

最近では国内の企業でも、メルカリやサイボウズなどで「SRE」チームが誕生したことも話題になりましたよね。そもそも、以前はそのような業務がなかったのでしょうか。
「SRE」という言葉は、数年前にGoogleが最初に定義をしたのですが、実はそもそもの発想は10~20年前からあったんですよ。

本来サイトは、「SRE」チームのように攻めの運用をすることで安定化するものだと思うのですが、今までこのような業務は、お客様のサイトを預かり、発生した事故を直すといった受け身型の運用保守が多かったんです。
ということは、最近になって、「SRE」に関わる業務がしやすくなったということでしょうか。
そうですね。クラウドが誕生したことが影響しているのではないかと思っています。クラウドの存在により、サーバーを増やしたり、構成を変えたり、いろんな対策がとりやすくなったというのが、「SRE」がここ最近、重要な役割を持つようになった要因でしょうね。同時に「SRE」という言葉も定着しつつありますよね。

なるほど。クラウドでサービスの操作ができることで、より簡単にシステムを調整できるようになっているんですね。御社でも、もともとクラウドに関わるサービスを提供されていますよね。
そうなんです。アイレットではもともと、企業に代わってAmazonを中心としたクラウドサービスを活用するサービス「cloudpack」を提供しています。もともとシステム開発の会社としてスタートしたのですが、今はクラウドの各社サービスと融合し、クラウドを中心としたシステム開発・アプリ作成・デザイン面など様々な業種のコアなビジネスをサポートしています。

「SRE」にあるように、弊社では事前に負荷を予測した運用が得意なのですが、この技術はこの先もっといろんなところに適応され、技術の幅も広がるのではないかと思っています。具体的にはAI(人工知能)やIoT、VR・ARなど、最新のIT技術を活用した運用や対策も増えてくるのではないかと。
たしかに、最近では業務でAIを使用する企業もあったり、身近になってきた印象です。
クラウドのような機敏性のあるサービスの登場により、未来予測がしやすくなりましたよね。最近は、去年や先月、先週のトレンドとは違ったことを発見する技術が進歩し、AIで直前の状態との違いを発見するための技術が、気軽にサービスや運用に組み込むことができるようになったのも大きな変化ですよね。

我々もこれまで人力でチェックしていたところから、こうした変化が発生したときのみお知らせが届く機能を活用するようになり、最近では機械からの通知をチェックするだけになってきました。

機械が予測してくれることによって、エンジニアが気がつくべきところで、機械が気づいてくれたり補足してくれたりするので、そういった作業は人の目よりも機械のほうが確実な気がしますね。

メディアやウェブサービスなど、どの業界にも「SRE」があって当たり前の時代に

徐々に話題になりつつある「SRE」ですが、今後はどうどういった業界で増えていくと考えられますか?
まず一番には、ピーク性があるようなスポーツ系メディアや放送系メディア、コンシューマー向けウェブサービスを運用している企業も、「SRE」チームの活用がどんどん進むと思いますね。そして次のフェーズは、ピーク性はないけれど、継続的に安定的なサービス運用が必要とされる業界。

そして最終的には、どの業界や会社にも当たり前の価値観として「SRE」の考え方がどんどん広がっていくと思っていますね。

なるほど。ピーク性があるような業界は「SRE」チームのメリットがわかったのですが、その他の業界で「SRE」チームが存在するメリットってなにがあるのでしょうか。
「SRE」チームが存在することで、社内の事業部門とIT部門がおのずと一体化していくと思うんですよね。事業部門とIT部門がバラバラな方向を向いている企業って、実は結構多いんですよ。「SRE」チームは、ビジネスの企画と、開発や運用を双方に話しながら作っていくチームなので、事業部門とIT部門をつなぐ潤滑油になり、解決する課題も増えるのではないかと思います。

そういう意味では、「SRE」チームがすでに存在している企業はクラウドをうまく活用して、本質的な運用ができている会社なんだなと思えますね。

アイレット株式会社に聞きました!まとめ

(こちらはオフィスの入り口。まるで海外のホテルのような雰囲気です。)

いかがでしたでしょうか。ネットは繋がっていて当たり前…。そう思っていましたが、実は多くの技術者たちが分析や対策を日々行っていることがわかり、便利なITサービスの裏側を知ることができました。 また、技術者としての印象が強かったエンジニアですが、ビジネスのレイアウトを深掘りしながら、エンジニアリングをする「SRE」チームの活躍を知ることができました。

これからますます価値観が広がりそうな「SRE」。ぜひ注目してみてください!
最後まで読んでいただき、ありがとうございました。

この記事がよかったら「いいね!」
この記事を書いた人
石川妙子 アステリア株式会社 広報・IR室。in.Live編集部。 大学卒業後、大手銀行にて勤務。その後、自由大学の運営を経て、2015年より世界一周の新婚旅行へ。帰国後は、編集者として活動。インバウンドや農業メディアにも所属。2018年より長野を拠点に移し、東京との二拠点生活中。