SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

【デブサミ2018】セッションレポート(AD)

「自分たちなりのSRE」で理想の運用をあきらめない! SIerのエンジニアが挑戦した、顧客のシステム運用変革【デブサミ2018】

【16-B-L】もしSIerのエンジニアがSRE本を読んだら

  • このエントリーをはてなブックマークに追加

 オライリー・ジャパンから昨年8月に通称「SRE本」の日本語訳本、『SRE サイトリライアビリティエンジニアリング ―Googleの信頼性を支えるエンジニアリングチーム』が出版され、さらに注目を集めているSRE。サイボウズやミクシィ、メルカリなど大きな自社サービスを展開している企業を中心に、Googleが提唱したITインフラ作りの新手法「SRE」の採用が増えている。では、お客さまのシステム運用を担当するSIerインフラエンジニアがSREを採用することは可能なのか。SREで理想の運用に近づけることができるのか。SIerのインフラエンジニアがSREの考えをうまく取り入れる方法を、エーピーコミュニケーションズのインフラエンジニアである安藤知樹氏が解説した。

  • このエントリーをはてなブックマークに追加

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回だからいいんじゃないか、といった考え方にはなりづらい」と安藤氏。そのため「二度とミスはしません」となり、「指標となるデータが見つからない」という。

 次にトイルの撲滅だが、自動化を実現するための技術力が不足していたり、どれが自動化可能な作業なのかわからなかったりする。さらに自社サービス企業ではなく、顧客のシステムを預かって運用しているので、携わる部署や企業が多く、関係者が多いと一度できた仕組みを変えるのが難しいといった現状もある。

 「憧れる気持ちはあるが、まぶしすぎて直視できず、見なかったことにする人も多いのではないだろうか。しかし、あきらめるのはまだ早い」と語り、なんとか取り入れる方法を考えてみたという。

次のページ
自分なりのSREを実践しよう

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
【デブサミ2018】セッションレポート連載記事一覧

もっと読む

この記事の著者

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/10717 2018/03/23 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング