SREは大規模サービスにおける運用のベストプラクティス
エーピーコミュニケーションズは、インフラの構築・運用を中心に手掛けているSIerである。同社インフラエンジニアの安藤氏は冒頭で「システム運用に従事しているエンジニアが『SRE本』を読んでどう感じたのか。またどう仕事に取り入れることができるのか話をしたい」と語り、セッションをスタートさせた。
まずはシステム運用の理想と現実について、図を見せながら解説する。安藤氏がイメージする、理想の運用の姿とはどんなものか。これまで人が時間をかけて行っていた運用業務を、AIやプログラムが自動で行ってくれる。サービスが見える化され、お客さま自身でメニューから利用したいサービスを選んで利用できるようになる。その結果対応ミスやクレームが減少し、チーム全体が良い雰囲気になり前向きに仕事ができるようになる、といったものだ。「理想は、合理的な文化のあるところで、意味のあるもの、価値の高いものを自分の意思でやる。そうすることで生産性が高くなる」と安藤氏は力強く語る。
だが、現実はそうはいかない。保守的な文化の中で、決まったこと、お客さまから言われたことをひたすらやり続けるため、やらされている感覚が強く、生産性が低くなっている。「それが現実だが、理想の運用に近づきたい、イケてる運用がやりたいと思っている人は多いはず。そこでイケている運用の代表例としてSRE本を取り上げたい」と語り、SREについて解説を始めた。
SREはサイトリライアビリティエンジニアリングの略で、日本語訳本のサブタイトルにある、Googleのサイト・サービスの信頼性を支えるエンジニアリングチームのことを指している。同チームにはソフトウェアエンジニアリングやサーバー・ネットワークなどのインフラの専門知識を持つ人たちが集まっており、そのスキルを活用することでGoogleのさまざまなサイトやサービスの品質や運用の効率を高める役割を持っている。「SREはDevOpsの一種や発展系と言われ、読み手によってさまざまな解釈があるが、同書を読んで非常に大きな衝撃を受けた」と安藤氏は語り、SREを「大規模サービスにおける運用のベストプラクティスとして解釈した」という。
運用のベストプラクティスの第1はリスクを受容することであり、信頼性100%を目指さないことである。まずはサービスの信頼性、すなわちレイテンシーやスループット、可用性などの数値的に評価できる指標、サービスレベルインディケーター(SLI)を基に、サービスレベルの目標(SLO)を定める。
「SLOによく似た言葉としてSLAがある。SLAはサービスの提供者が利用者にビジネス的に約束し契約する信頼性。したがって、違反するとペナルティが発生する。一方、SLOは身内が目指す目標で、システムを改善していく動機にもなる」と安藤氏は説明する。そして100%から、SLOの値を引いたものがエラーバジェット(エラーの予算)というわけだ。
「運用チームは100%を目指しがちだが、エラーバジェットの値までなら、新機能の追加、テストなどによって引き起こされる障害のリスクなども受け入れる目安を作ることができる。そしてエラーバジェットを開発と運用が共有することで、対立しがちな関係から、良いサービスを動かすための協力関係へ導きやすくなる」と安藤氏。
次に「トイル」という考え方を身につけること。トイルとは、手作業で繰り返し行われ、自動化することが可能であり、戦術的で長期的な価値を持たず、作業量がサービスの成長に比例する、といった傾向を持つ作業のことだ。「SREではトイルを撲滅するため自動化を推奨している。また運用業務は業務全体の50%以下に抑え、50%以上を生産性の高い活動に充てる『50%ルール』を設けていることも、運用のベストプラクティスである」と安藤氏は語る。だが、実際にSREを採用している企業はサイボウズ、ミクシィ、メルカリなど。Googleを含めて大きな自社サービスを展開し、高い技術を生かしている企業がほとんどで、「今の運用現場と大きな温度差がある」と安藤氏は説明する。
例えばリスクの受容についても、あくまで目標は100%といった意識が強く、エラーを許容する文化はなじみづらい。お客さまありきの仕事なので、SLA的な考え方に傾きがちだ。また万一ミスが起こったときに「100回に1回だからいいんじゃないか、といった考え方にはなりづらい」と安藤氏。そのため「二度とミスはしません」となり、「指標となるデータが見つからない」という。
次にトイルの撲滅だが、自動化を実現するための技術力が不足していたり、どれが自動化可能な作業なのかわからなかったりする。さらに自社サービス企業ではなく、顧客のシステムを預かって運用しているので、携わる部署や企業が多く、関係者が多いと一度できた仕組みを変えるのが難しいといった現状もある。
「憧れる気持ちはあるが、まぶしすぎて直視できず、見なかったことにする人も多いのではないだろうか。しかし、あきらめるのはまだ早い」と語り、なんとか取り入れる方法を考えてみたという。