SREチーム強化の新たな手段 ~協業で実現する信頼性向上~

ogp

はじめに

こんにちは。enechainのPlatform EngineeringチームSoftware Engineerの soma00333 です。

enechainは電力の卸取引や環境価値の取引の機会を提供するマーケットプレイスを運営する会社で、インフラ基盤としてGKEを採用しています。信頼性が非常に大切なドメインで、SREの力が欠かせないビジネスを展開しています。

この度、enechainはSREチームのさらなる強化を目指し、SRE as a Serviceを提供する 株式会社Topotal様 にご支援いただいて新たに2名のエンジニアを迎えました。 SREチームを強化するにあたり、「採用を頑張る」「内部で育てる」など手段は様々です。 本記事では、「外部会社(Topotal様)との協力」という手段がSREチーム・開発チーム全体にどのような効果をもたらしているかを紹介します。

SREチームの組成に悩む方々の一助になれば幸いです。

Platform開発部の紹介

enechainのTech組織にはプロダクト開発の部署とは別にプラットフォーム開発部が存在します。プラットフォーム開発部ではプロダクト開発を横断的に支えるプラットフォームの開発と運用を行っています。 プラットフォーム開発部は以下の図のようなチーム構成になっています。 platform

SREチームは今年の5月に再編成が行われ、Security, SRE, Platform Engineeringチームへと分かれました。 SREチーム再編成の狙いについてはCTO須藤の記事をご覧ください。

チームトポロジーの観点で見直すプラットフォーム開発組織

いままでSREチームはかなり広範囲の業務をこなしており、ミッションも不明瞭でした。 新たに編成されたSREチームではミッションが明確になり、信頼性やEnabling活動といったより本来のミッションへ向き合うことができ始めています。

しかし、enechainで全社的に信頼性・パフォーマンス・プロダクトセキュリティの要件を大きく引き上げようとしており、さらなるSREチームの強化が必要となりました。 そのために、我々は今までより一層「プロ」のSREを求めていました。

株式会社Topotal様の紹介とJoinの経緯

「プロ」のSREを求めるにあたり、最初に考えた手段は「採用」でした。しかし、正社員の採用となると概ね半年以上のリードタイムがかかり、早期の課題解決を考えると別の手段を検討する必要がありました。業務委託の採用も並行して実施し、非常に優秀なメンバーにjoinしていただけましたが、副業という形でのjoinのため解決出来る課題の幅には限りがありました。「多くの課題を解決出来る、よりまとまったリソースが欲しい。それでいて極めて優秀な方々に入っていただきたい。」というニーズのもと辿り着いたのがTopotal様です。

Topotal様にはSRE界隈でも著名なエンジニアが在籍しており、単純な「開発リソース」とは違った、まさに我々の求める「プロ」のSREのノウハウがあります。Topotal様と相談する中で、enechain SREチームの状況と、Topotal様の持つスキルとビジョンの観点からお互いにフィットを感じ、実際にJoinしていただくことになりました。スタートアップという、カルチャーが極めて重要な環境では、単純な利害の一致だけではない、ビジョンの一致も重要だと考えています。

以下はTopotal様よりいただいた、会社紹介とJoinの経緯に関する文章です。

会社紹介

株式会社 Topotal は Site Reliability Engineering 領域を中心に、「つらいインシデント対応をなくす」ことを目的とした SaaS である Waroom と、 様々な SRE の支援を行う SRE as a Service という 2 つのサービスを提供しています。

SRE as a Service は、現在は主に各社の SRE チームに対して、Team Topologies にあるような X-as-a-Service の形として、各社の SRE 組織に対して適切なナレッジやツールを提供していき、より効率的に、知の高速道路に乗ったような気持ちで SRE のプラクティスを実践できるような支援を行っていきます。

今回 Topotal からは、以下のメンバーが主に支援に参加します。

@rrreeeyyy CTO/SRE

@Sho2010 SRE

SRE のプラクティス全般に対して様々考えてきた @rrreeeyyy と、Kubernetes や Google Cloud 上での豊富な実務経験やナレッジを持つ @Sho2010 の 2 名で協力して取り組んでいきます。

Topotal の SRE as a Service のビジョン

Topotal の SRE as a Service では、前述の通り、各社の SRE チームに対する支援、というところをこれまで主に担当させて頂いていました。

しかし、Topotal の考える “SRE as a Service” の将来像は、2019 年の SRECon EMEA にあった発表の SRE in the Third Age や、2020 年の Grafana のブログの What does the future hold for Site Reliability Engineering? に登場する “SRE as a Service” のように、向き合う先を支援先の SRE チームからどんどん広げ、SRE の考え方をビジネス自体に紐づかせ、組織内のほとんどのエンジニアが SRE のプラクティスを活かしたツールやサービスを享受し、それぞれの開発チームが自律的に信頼性のコントロールができるような組織を作ることをより支援できるような形にしたいとも考えていました。

今回 enechain さんにお話を頂いた際には、Topotal に対して裁量を与えていただき、SRE チーム自体の課題を解決していきながら、徐々に組織全体に対して SRE のプラクティスを適用していくところまでを一緒にやっていきたいという風に言っていただきました。

チャレンジングな内容ではありますが、Topotal が目指している SRE as a Service の形に近い内容で一緒にやりませんかとお声がけ頂けたので、これから共に SRE チームを作り上げ、SRE のプラクティスを組織全体に浸透させていくことが楽しみになっています。

このように、enechain SREチームの状況と、株式会社Topotal様の持つスキルとビジョンの観点からお互いにフィットを感じ、Joinに至りました。

Join後の取り組み

Topotal様にJoinいただいてまだ一ヶ月程度ですが、多くの課題と解決策が見えてきました。現在までに取り組んだ内容を少しお話しします。

現状把握と方針の決定

まず、状況の共有とディスカッションを行い、最初に取り組む課題と解決方法の方向性を一緒に探りました。 定期的なmtgを実施するのはもちろん、都合が合えばdaily mtgにもご参加いただき、日々移り変わるSREチームの状況を正確にキャッチアップしていただきました。

過去のドキュメント、立っているissue、github repositoryの内容など多くの情報ソースを自発的に調査いただきました。そして、キャッチアップにとどまらず、SREチームが把握していなかったような問題までProductivity・Reliability等の観点から複数ご提案いただきました。

ディスカッションの中で合意した内容は「まずSREの定常業務を自動化しSREが施策を打つための工数を空ける」というものでした。 これにより更なる施策が打てるようになることを期待しました。

トイル撲滅

enechainではSREへの依頼をslackのworkflowを使用して行っていただくようにしています。 以下はslackのworkflowの例です。

form

slackから依頼フォームが出されると、notionでチケットが作成されます。その後アサインやステータスをSREチームで管理するというような運用です。

* 作られるチケットのイメージは以下です

ticket

workflowやnotionのテンプレートに関しても改善案がいくつか出ており、絶賛改良中です。

まずは200件以上あるこのチケットを分析し、依頼内容のパターン分けを行いました。

パターン分けの結果以下のような分類が見えてきました。

  • アカウント招待・削除
  • アクセス権限付与・変更
  • 問題の調査依頼
  • 技術相談
  • 開発環境構築・削除
  • 各種ツール/OSSの設定変更

そしてそれぞれのパターン別に自動化の案をディスカッションしました。 本来どうアプローチするかは複数の選択肢があり設計が難しいところですが、同じような状況を他社で経験されているという背景からTopotal様の引き出しが多く、大いに活用させていただきました。

最初に目をつけたのはアカウントの招待・削除やアクセス権限の付与・変更のパターンです。 これらは適切にTerraformで管理することでプロダクトチームでの管理が可能になる領域です。 まずはこのパターンから施策を進めていくことに合意しました。

施策の詳しい内容は今後のtech blogに書いていく予定です。

今後の取り組み

Topotal様がJoinしてから数週間とはいえ、確実にenechain SREチームはいい方向に進んでいるという実感があります。

まずはSREチームの工数を空け、引き続き以下のような取り組みを協力して行っていきます。

  • 定常業務の自動化とトイルの削減
  • SREチームのミッション、ロードマップの再定義
  • プロダクトチームへのenabling活動
  • 一部プロダクトで進んでいるSLO/SLI導入の横展開
  • インシデント対応やポストモーテムのプロセス改善
  • Cluster内のOSSの自動アップデートの仕組みの導入
  • クラウド全般のモニタリング強化
  • 新規microserviceの開発環境構築の速度向上
  • プロダクトチームへの権限委譲

Topotal様は様々な企業のSREプラクティスを経験しており、社内からは出てこないような気付きも与えてくれます。これは今回の協業で感じた、単純な人材採用では得られない大きなメリットでした。 事業の将来、SRE戦略について考えていく中では、Topotal様のノウハウが我々の大きな力になると感じています。

最後に、enechainではSREを絶賛募集しています。 Topotal様のJoinにより日々の業務は改善に向かっていますが、まだまだ取り組むべき課題があります。 少しでも興味を持っていただけた方はぜひカジュアルにお話ししましょう。

カジュアル面談 herp.careers

SREポジション herp.careers herp.careers