Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Self-Serviceとサイロ化と組織構造

 Self-Serviceとサイロ化と組織構造

Agile Tech EXPO mini #4 チームの相乗効果を生むVPoEの企て https://agiletechexpo.connpass.com/event/206455/ でお話した資料です。

Envoyの作者Matt Klein氏が自身のブログにて「DevOps is the practice of developers being responsible for operating their services in production, 24/7.」と記したことは有名です。この考えに共感した私たちが、これまで実際にどういった考えで、この思想の体現にむけて取り組んできたかについて、技術と組織の観点からお話します。

技術が先行しすぎると専門性でチーム同士がサイロ化してしまい、組織の構造だけが先行してもチームで個別最適化しすぎてしまいます。単に自動化すればよかったのか?単にチームを小さくすればよかったのか?否、技術と組織の思想が噛み合うことで、ようやくたった一歩だけ前進できるのです。

これは私たちの発展途上の物語であり、懇親会でみなさんの物語についてもお伺いすることを楽しみにしています。

---
Organizational Choice: Product vs. Function
https://hbr.org/1968/11/organizational-choice-product-vs-function

Team Topologies
https://teamtopologies.com/

Self-Service Operations
https://www.rundeck.com/self-service

What's the Difference Between DevOps and SRE? (class SRE implements DevOps)
https://www.youtube.com/watch?v=uTEL8Ff1Zvk

『LeanとDevOpsの科学[Accelerate]』
https://www.amazon.co.jp/dp/4295004901

『This is Lean』
https://www.amazon.co.jp/dp/479816951X/

『サイロエフェクト』
https://www.amazon.co.jp/dp/4163903895

katsuhisa_

March 23, 2021
Tweet

More Decks by katsuhisa_

Other Decks in Technology

Transcript

  1. #agiletechexpo 2 北野 勝久 / @katsuhisa__ 株式会社スタディスト 執行役員 / VPoE

    - Teachme Biz というSaaSをつくっている 『Pythonでかなえる Excel作業効率化』著者 Organizer of SRE Lounge / SRE NEXT
  2. #agiletechexpo この頃の様子 • 新規機能開発をする ◦ サーバーサイドの実装 ◦ フロントエンドの実装 ◦ QA

    • 新規機能開発のリリースに関する様々な調整 ◦ 社内説明会 ◦ 顧客向けマニュアル整備 • お客様問い合わせに関する調査の実施 • OnCall対応
  3. #agiletechexpo • まずは標準化と手順書化をおこなった後に Infrastructure as Code の実践 →Opsしか知らない情報を減らす • SRE

    のプラクティスをいくつか実践 →信頼性をともに高める関係を目指す • 信頼性を高めるために、技術で課題解決 →Performanceに意識をむけ、  技術でいっしょに課題解決するプロジェクトを運用 やったこと
  4. #agiletechexpo この頃の様子 • 職能横断チームを組んで仕事をするのが標準に ◦ PdM + Engineer + 必要に応じて

    SRE がアーキテクチャサポート • Infra 環境構築は、SRE が実施 • SREに人が増えはじめた
  5. #agiletechexpo 当時、目指していたこと • 開発者が “Self-Service” でやりたいことを 定義・実行できるようにし、SRE はその基盤を整える • アーキテクチャの決定は意思決定の記録を残し、

    あとから追従できるように (当時は ADR という言葉も知らなかったが…) Architecture Decision Records at Spotify https://www.infoq.com/news/2020/04/architecture-decision-records/
  6. #agiletechexpo やったこと • 開発者が Self-Service で Infra をさわれるよう、 Governance を構築する

    ◦ AWS Organizations + Terraform & GitHub - CODEOWNERS • これまでのリリースプロセスを自動化
  7. #agiletechexpo この頃の様子 • 相変わらず、職能横断チームを組んで仕事をする • 開発者が望めば Terraform の コードを書いて Pull

    Request を送ることができる状態に ◦ とはいえ、すぐに定着しなかった • 次第に一部のチームが大所帯へ ◦ エンジニア人数増加にともない、リリース回数が増え、 社内で「リリース待ち」という発言もチラホラ • マイクロサービスアーキテクチャの採用がはじまった
  8. #agiletechexpo “通過地点” として目指したもの Stream-aligned team Stream-aligned team Stream-aligned team Platform

    team Enabling team SREが 基盤開発の 役割を強める 技術支援 や SREが支援 Engineer, QA,PdM, PdD
  9. #agiletechexpo • そもそもコンテナで運用したかった ◦ VMのB/G Deployは時間がかかる ◦ VMだとOSライブラリのバージョン統一が (めっちゃがんばらない限り)むずかしい •

    最終的に、マイクロサービスと本体を1つの基盤にのせたかった ◦ それぞれの環境構築を行うと、柔軟な検証環境構築のコストが高かった • 複数サービスを今後ものせる前提での管理の容易さを重視 ◦ 今日はここでいう管理の容易さは詳細割愛 …今度、社の開発ブログを誰かが書きます(予定) なんで Kubernetes 移行?(ちなみにEKS / Fargate)
  10. #agiletechexpo なによりも思想に共感 Kubernetes is a platform for building platforms. Here's

    what that means. https://tanzu.vmware.com/content/blog/kubernetes -is-a-platform-for-building-platforms
  11. #agiletechexpo 最近の様子 • 相変わらず、職能横断チームを組んで仕事をする • Stream-aligned team の増加・成長に伴い、 技術支援や SRE

    が大忙し • 開発者による Infra 環境構築の Pull Request 作成が ほぼ当たり前に • マイクロサービスもさらに新しいものが増え始めた
  12. #agiletechexpo • 大所帯のチームをばらして小さなチームにしたは良いが、 それだけだと全体最適になっていないのでは? ◦ チーム内部の一次情報なしに評価ってできない ▪ じゃあ、チームの中にいる誰かをマネージャーに? ▪ でも評価のためだけにマネージャーへの道を進んでもらうのは

    それでいいんだっけ? ◦ そういえば技術情報の横連携をする際にも、 チームからだれか一人いてくれると… e.g. ライブラリのバージョンアップとそれに関する影響範囲の確認 ◦ あ、そういえばそういえばチームの採用のときも… 当時、考えていたこと(リーダーなんで明示?)
  13. #agiletechexpo リーダーを設置してみてどうか • 良い予感はしている ◦ 一年後くらいに、どこかで話せれば良いなー • 役割をドキュメントにして伝えるプロセスを踏んだが、 なにか不満があったら Pull

    Request が飛んでくるだろう とも思っている ◦ スタディストには handbook リポジトリがあり、 マネージャーやリーダーの役割のドキュメント等は そこで管理されている
  14. #agiletechexpo 今なにが起こっているか・考えているか 2 • Enabling team だけでなく Complicated Subsystem team

    の役割が欲しい ◦ いまは部分的に Enabling team がこの役割を担っているが、 責務が多すぎる • Stream-aligned team をより Full Cycle に近づけたい ◦ Infra 構築だけでなく、サービス運用に関わる責務もより委譲したい e.g. モニタリング設計・実装、OnCall、負荷試験設計・実施
  15. #agiletechexpo 参考文献 • Organizational Choice: Product vs. Function https://hbr.org/1968/11/organizational-choice-product-vs-function •

    Team Topologies https://teamtopologies.com/ • Self-Service Operations https://www.rundeck.com/self-service • What's the Difference Between DevOps and SRE? (class SRE implements DevOps) https://www.youtube.com/watch?v=uTEL8Ff1Zvk • 『LeanとDevOpsの科学[Accelerate]』 https://www.amazon.co.jp/dp/4295004901 • 『This is Lean』 https://www.amazon.co.jp/dp/479816951X/ • 『サイロエフェクト』 https://www.amazon.co.jp/dp/4163903895