初めまして、株式会社ユーザベースのSPEEDA Japan Company、Site Reliability Engineering (SRE) Teamでエンジニアをしています、川口・阿南です。
SREチームについて
私たち、SREチームは2017年7月に始動しましたが、どのような業務をしているのかをあまり発信できていませんでしたので、少しご説明します。
端的に言うと、以下2点が主な業務になります。
前者については「SREといえばこれ!」という業務ですが、後者の社内インフラについては、SREと別チームになっている会社も多いのではないでしょうか。
弊社では、社内ネットワークの構築、社内メンバーのPCセットアップ、ヘルプデスク等全てSREチームが担当しており、サービスだけでなく社内インフラの信頼性も向上しようと、日々業務に取り組んでいます。
SRE合宿
2018年度(2018年1月~12月)にSREチームが向かうべき方向を合わせるための合宿を行いましたので、ブログ記事として書き残したいと思います。今回の合宿のテーマは以下の2つです。
1日目:2018年度のSREチーム施策決定
2日目:Kubernetesのスキルを上げる
1日目は、2018年度に取り組むテーマについての議論を行いました。SREチームでは四半期ごとにこのような合宿を行っていますが、前回の合宿では予定より大幅に時間がかかってしまったという反省があります。そこで、今回は以下のような取り組みを行いました。
- 2017年度の振り返りは事前に実施
- チーム外からファシリテータを立てて、タイムマネジメントを依頼
- 合宿運営委員で、スケジュールを詳しく検証
合宿会場は、駒場東大前のレンタルスペースです。前回のSRE合宿でも利用させていただきましたが、古民家風の大変おしゃれなスペースで、皆とても気に入っています。
チームテーマ議論
合宿当日。集合時間の午前9時半には続々メンバーが集まり、いよいよSRE合宿がスタート。まずはチームリーダーの羽山より、2017年度のSPEEDAサービス状況の報告や、来年度のSPEEDA事業の体制等について説明がありました。 ここからバトンをファシリテータの田中氏に渡し、あらためて我々のミッションや今年度のおさらいなどをしてから、いよいよ2018年度のチームテーマについての議論に入ります。各自で付箋に「これだ!」と思うテーマを記し、それをホワイトボードに貼り付けていきます。
約30枚のテーマから絞り込んでいった結果、来年度のチームテーマは
「Production Ready k8s」
「Data Driven Automation」
に決まりました。 一つ目の「Production Ready k8s」は、「Kubernetes」というコンテナ管理システムを本番サービスに本格導入するという意味です。「Kubernetes」について、詳しくは合宿2日目のレポートをご参照ください。二つ目の「Data Driven Automation」はチーム内で話して作ったテーマで、システムの自動化をただやみくもに行うのではなく、時間がかかっているオペレーションや、障害になりかねないような複雑なオペレーションなど、数値化したデータを元に自動化を進めていこうという意味が込められています。
プロジェクト選別
その後は、各メンバーから事前に提出されたプロジェクト案について、重要度や上記テーマとの一致度を精査し、SREチームとして我々が取り組みたいプロジェクトに絞っていきました。ここで、その一部を紹介します。
オペレーションタスクの自動化・システム化
会社やサービスの拡大に伴いオペレーションタスクが増え続ける中、今後アップサイドの改善を行っていくためには、手動で行っているオペレーションにかかる時間を減らし、ソフトウェア開発・導入に注力する必要があります。これまでも取り組んできましたが、2018年度に自動化プロジェクトを実施し、手動オペレーションの自動化・システム化を集中して行いたいと考えています。
ログ分析 / モニタリング基盤の強化
SREチームとして改善を行うために、ログを分析してボトルネックやエラーの原因を調査したり、サービスの稼働状況をモニタリングすることは非常に重要です。しかしながら、ログを可視化してもうまく活用できていなかったり、そもそも何のためにログを収集しているのか明確でない、といったことは意外と多いのではないでしょうか。弊社でも、現状ではビジュアライズ出来ていないログがあったり、Kubernetesを本格的に利用していくにあたってますますログやメトリクスの可視化が重要になりますので、今後の重点テーマとしたいと思っています。
アラート発生時のエスカレーション自動化
サーバやネットワーク等の障害発生時、アラートを早くかつ確実に検知し、速やかに対応に入ることが重要です。その強化策として、自動エスカレーションシステムの導入を行います。
なお、プロジェクト選別の途中でランチ休憩を挟みましたが、前回はお店を探すだけで結構時間がかかってしまったので、今回は事前にお弁当を注文して会場まで配達していただきました。意外とおしゃれな弁当で、合宿会場に合った感じで良かったと思います。
OKR策定
後半では、2018年度1Q(第1四半期)のOKR策定を行いました。OKRとは「Objectives and Key Results」の略で、業務の目標と成果を管理する手法です。当社のSPEEDA国内事業では2016年度からOKRについての取り組みを開始し、現在ではOKRベースでの活動が当たり前になっています。
まずは、前半で決めた2018年度テーマの中から、1Q・2Qで取り組むプロジェクトを選びます。選び方はボトムアップで、各自がコミットしたいプロジェクトを1つずつ出してもらい、その希望を元にプロジェクトごとのオーナーを決めて、メンバーアサインを調整していきました。
前述の通り、SREチームでは社内全体や「SPEEDA」のインフラ構築・運用も担当していますので、自分たちの希望するプロジェクトだけでなく、会社やSPEEDA事業全体に関わる業務も実施する必要があります。2018年には弊社オフィスの移転も計画されており、SREチームとしても様々な作業が必要になるため、オフィス移転自体も必須プロジェクトの一つとして上がりました。
このようにして決定したプロジェクトごとに集まって、1QのOKRを策定しました。具体的には、プロジェクトの目標である「Objective」と計測可能な達成内容である「Key Results」を決めます。これがプロジェクトの活動のベースであり、進捗評価基準となるものですので、どのプロジェクトも真剣に議論していました。
最後に、各プロジェクトのOKRを発表して、合宿の1日目はお開きとなりました。
合宿1日目を終えて
この記事の最初の方で記述したような施策を常に意識した結果、またファシリテータの田中氏の手腕も大きかったと思われますが、非常にスムーズにスケジュールを進めることが出来ました。今回の合宿同様、2018年度の各プロジェクトも順調に進みそうです。
2日目の「Kubernetes合宿」については、各グループごとの取り組み内容をブログ記事として紹介したいと思いますので、どうぞご期待ください。
お知らせ
SREチームでは「No Challenge, No SRE, No SPEEDA」を掲げ、ユーザベースグループのミッションである「経済情報で、世界をかえる」の実現に向けて、日々業務に取り組んでいます。 興味を持ってくださった方はこちらをご確認ください。