Slide 1

Slide 1 text

SRE大全: スタディスト編 [後半] 2018/10/31 hbstudy#85 @katsuhisa__ / Katsuhisa Kitano Copyright (C) 2018 Studist Corporation. All Rights Reserved

Slide 2

Slide 2 text

自分が話せそうなこと ● 0からのSRE 実践&定着の経験 ○ 何からはじめるか、何を変えるか ● SRE チームのマネージャー職として 考えていることの共有 ○ 採用やチームづくり 前半 後半

Slide 3

Slide 3 text

Agenda [後半] ● スキルマップ ● SRE の採用と育成 ○ SRE として大事な価値観 ● スタディストSRE チームが目指す方向性

Slide 4

Slide 4 text

スキルマップ

Slide 5

Slide 5 text

スタディスト SRE スキルマップ(一部) Ops DevOps Security Other 設計・構築 監視 障害対応 データ分析 思想 ツール Hashicorp AWS Linux/Ubuntu/shell Stackdriver NewRelic Elastic Stack Terraform Packer Ansible Serverspec git, docker, Circle CI 可用性 負荷分散 SLI/SLO OnCall Postmortem Deep Security ドメイン知 識 Code Series サービス構成 Rails Inspector,CloudTrail, Guard Duty, WAF Redshift Athena BigQuery Redash CloudWatch RDBMS

Slide 6

Slide 6 text

スタディスト SRE スキルマップ(一部) Ops DevOps Security Other 設計・構築 監視 障害対応 データ分析 思想 ツール Hashicorp AWS Linux/Ubuntu/shell Stackdriver NewRelic Elastic Stack Terraform Packer Ansible Serverspec git, docker, Circle CI 可用性 負荷分散 SLI/SLO OnCall Postmortem Deep Security ドメイン知 識 Code Series サービス構成 Inspector,CloudTrail, Guard Duty, WAF Redshift Athena BigQuery Redash CloudWatch ここだけでもボリューム めちゃくちゃでかい Rails RDBMS

Slide 7

Slide 7 text

スタディスト SRE スキルマップ(一部) Ops DevOps Security Other 設計・構築 監視 障害対応 データ分析 思想 ツール Hashicorp AWS Linux/Ubuntu/shell Stackdriver NewRelic Elastic Stack Terraform Packer Ansible Serverspec git, docker, Circle CI 可用性 負荷分散 SLI/SLO OnCall Postmortem Deep Security ドメイン知 識 Code Series サービス構成 Inspector,CloudTrail, Guard Duty, WAF Redshift Athena BigQuery Redash CloudWatch 他に書いていないスキル e.g. 負荷試験, 運用自動化, Log ... Rails RDBMS

Slide 8

Slide 8 text

スキルマップの意義: 地図 ● 大まかな全体地図がないと 自分がどこにいるのかが分かりにくい ○ 何が得意で、何が得意でないのか ○ どこを目指したいか ● SRE は責務を果たすためのスキルセットが 幅広く求められるので、なおさら

Slide 9

Slide 9 text

スキルマップの役割・使い方 ● Onboarding プロセスの言語化 ● スタディストSRE の全体は、こんな感じ ● Onboarding では、ここまでは必要ですかね

Slide 10

Slide 10 text

スキルマップの中で何が大事か?

Slide 11

Slide 11 text

ぜんぶ

Slide 12

Slide 12 text

優先順位 ● 思想や設計に近い部分から頭に入れる ● ツールは、(まずは、)使い方よりも存在意義 ○ なぜ他のツールではダメなのか ● 異なる存在意義のツールを適切に組み合わせて 一つの目的を達成する能力 ○ また、組み合わせるための糊を扱う能力

Slide 13

Slide 13 text

スタディストSRE の優先順位 ● SRE の共通言語を持てている ● OnCall 要員が持つスキルの逆算 ○ サービス構成の理解 ■ AWS 構成 ● EC2, ELB, RDS(Aurora), S3, CloudFront, ... ■ Rails, RDBMS ○ ドメイン知識 ● インフラコードを自由にさわることができる ○ Ansible / Serverspec / Packer / Terraform / Docker

Slide 14

Slide 14 text

実際の業務は? ● スキルの組合せで行うことが多いので、 一つができれば、業務にすぐ活きるわけではない ○ また、新規 XX 導入時のDesign Review や、 既存 XX を移行する計画策定は スキルに留まらない視点が求められる ● とはいえ、一つずつ階段を登るしかないので、 スキルマップは頭の片隅に

Slide 15

Slide 15 text

Agenda [後半] ● スキルマップ ● SRE の採用と育成 ○ SRE として大事な価値観 ● スタディストSRE チームが目指す方向性

Slide 16

Slide 16 text

SRE の採用と育成

Slide 17

Slide 17 text

前提: 組織のマネージャー職とは ● 組織づくりができてナンボ ○ 採用 ○ チームづくり ○ ToBe を描いて共有する ○ ToBe 期限からの逆算 ● そして、メンバーの市場価値を上げる

Slide 18

Slide 18 text

SRE と組織づくり

Slide 19

Slide 19 text

Netflix の事例 Netflix が今後1年で、アメリカのインターネット トラフィック全体の3分の1を専有するようになると 突然気づいた時の話 → それまで自前のシステムを構築していたが、 AWS と契約し、AWS を扱うチームを採用した

Slide 20

Slide 20 text

SRE に限らずだが、 事業成長の逆算で組織をつくる

Slide 21

Slide 21 text

チームに、必要となる技術を 先行して伝えることも必要

Slide 22

Slide 22 text

SRE の採用

Slide 23

Slide 23 text

SRE's Job Description

Slide 24

Slide 24 text

No content

Slide 25

Slide 25 text

No content

Slide 26

Slide 26 text

No content

Slide 27

Slide 27 text

No content

Slide 28

Slide 28 text

No content

Slide 29

Slide 29 text

No content

Slide 30

Slide 30 text

必須要件とされているスキル ● コンピュータ・サイエンス系の学位 ≒コンピュータに対する深い理解 ● アルゴリズムとデータ構造 ● プログラミング経験

Slide 31

Slide 31 text

必要最低限の記述に留め、 残りは面接で判断? ( ポジションの責務を記述するのに 各社ページのボリュームを割いている様子 )

Slide 32

Slide 32 text

では、何を評価すべきか

Slide 33

Slide 33 text

「Hiring SREs」 by Andrew Fong, Dropbox https://www.youtube.com/watch?v=ucCSRY-KOCI

Slide 34

Slide 34 text

SRE に必要な能力 ● Software Skills ● Systems & Networks ○ General “Linux” Skills ○ Low Level Systems Knowledge ○ Do you know how staff is put together ● Architecture ○ Tradeoffs ● Troubleshooting ○ Logical Thinking ○ Depth of knowledge ● Soft skills ○ Customer Service ○ Priorization

Slide 35

Slide 35 text

SRE に必要な能力 ● Software Skills ● Systems & Networks ○ General “Linux” Skills ○ Low Level Systems Knowledge ○ Do you know how staff is put together ● Architecture ○ Tradeoffs ● Troubleshooting ○ Logical Thinking ○ Depth of knowledge ● Soft skills ○ Customer Service ○ Priorization 個人的には、納得感ある分類

Slide 36

Slide 36 text

どうやって面接で評価するか 面接の全体像(Funnel)は、ここでは触れない

Slide 37

Slide 37 text

Onsite Interview ● 業務内容から業務を深掘りし、状況質問する ○ ◯◯の時、なぜその判断をしたか ■ 選択肢としては、A やB もあったのでは? ● システムの振る舞いをホワイトボードに 記述してもらう ○ 個別の技術要素も質問する ● 自社カルチャーとの相性もこの時に見る

Slide 38

Slide 38 text

Onsite Interview ● 業務内容から業務を深掘りし、状況質問する ○ ◯◯の時、なぜその判断をしたか ■ 選択肢としては、A やB もあったのでは? ● システムの振る舞いをホワイトボードに 記述してもらう ○ 個別の技術要素も質問する ● 自社カルチャーとの相性もこの時に見る 構造化面接など、面接精度を上げる 取り組みはこれから整備

Slide 39

Slide 39 text

オススメ  Interviewing  Site Reliability Engineers  by Andrew Fong, Dropbox

Slide 40

Slide 40 text

SRE の育成

Slide 41

Slide 41 text

Onboarding

Slide 42

Slide 42 text

Onboarding: 1 month ● ランチ設定 ● キャリアポートフォリオ策定 ● SRE にとって大事なマインド共有 ● 輪読: SRE 本、インフラエンジニアの教科書2 ● サービス研修: Teachme Biz のプロダクト価値を知る

Slide 43

Slide 43 text

Onboarding: 1 month ● 開発ツール研修: Teachme Biz を動かす ● プロダクト研修: Teachme Biz システムのドメイン知識 ● CRE 研修: 顧客要望や問い合わせ内容の例を知る ● AWS 研修 ● Teachme Biz 構築研修: AWS に同じ構成を再現する ● Onboarding 報告会 ● Onboarding おつかれさま会: 振り返りと今後の意識共有

Slide 44

Slide 44 text

No content

Slide 45

Slide 45 text

自分は何が得意か、何をやりたいか 何をやっている時に意味を感じるか →未来につなげる

Slide 46

Slide 46 text

SRE にとって大事な マインド共有 約1,800 文字のドキュメント 後ほど一部紹介

Slide 47

Slide 47 text

輪読の前に やる意義を共有 事前提示したテーマに関し、 書籍から学んだ内容を、 最終日に発表

Slide 48

Slide 48 text

No content

Slide 49

Slide 49 text

サービス研修 ● 営業チームがお客様に Teachme Biz を説明する場に同席してもらう ● SREも、製品や機能の価値を深く知ることは重要 ○ 機能の顧客影響を想像しやすくなる ○ トラフィック量からは分からない情報を ドメイン知識としてInput しておく

Slide 50

Slide 50 text

これから

Slide 51

Slide 51 text

大事だと思っていること ● 本人の意志 × チームとして目指すべき方向性 をすり合わせていく ● 1on1 でフィードバックサイクルを細かく回す ● 輪読など、チームで目線をそろえる必要がある 技術トピックの学習も並行して行う

Slide 52

Slide 52 text

その他: やっていること ● AWS オンデマンドセミナーを見る会 ○ 隔週でランチ食べながら見る ● 週次ミーティングで、新しい技術トピックや、 勉強会参加した情報の共有 ● 雑談で気になる技術トピックを先出し

Slide 53

Slide 53 text

SRE の評価

Slide 54

Slide 54 text

採用・育成とくれば評価だが… ● 大事な価値観があり、 それに沿った行動が評価されるべきという考え ● もちろん、スキルによる評価も必要

Slide 55

Slide 55 text

SRE として大事な価値観

Slide 56

Slide 56 text

信頼されるために ● 技術者倫理を高く持つ ● 公明正大であること ○ 公明正大でないと、障害原因調査が難しい ● 人を責めない ○ 公明正大の維持に必要 ● 腕を磨く: 気合ではサービスの信頼性は守れない

Slide 57

Slide 57 text

スケールするか ● 常にスケールすることを意識する必要はないが、 SRE は、スケールの観点は常に持つべき ● ソフトウェアと思想は、スケールする ○ ウェブオペレーションは、 技芸であり科学ではない by 『ウェブオペレーション』

Slide 58

Slide 58 text

チームで成果を出す ● SRE の業務範囲は多岐にわたるので、 細分化して専任を置いたほうが 短期の開発速度は向上する ○ しかし、特定人員が欠けると 一気に開発速度が落ちる ○ また、変化に弱い ● チームで成果を出すことを重視

Slide 59

Slide 59 text

Agenda [後半] ● スキルマップ ● SRE の採用と育成 ○ SRE として大事な価値観 ● スタディストSRE チームが目指す方向性

Slide 60

Slide 60 text

スタディストSRE が 目指す方向性

Slide 61

Slide 61 text

短期(今期) ● 10+ Deploys Per Day へ ○ デプロイにまつわる意思決定のツール化 ■ 安全なDB migration をツールで担保する ○ インフラ/ミドルウェア変更修正の 反映リードタイムの高速化

Slide 62

Slide 62 text

短期(今期) ● More Monitoring ○ 監視の網目の細かさが足りていない箇所の補強 ■ バックグラウンドジョブ ○ より正しい監視をつくる ■ [前半] で、お話したSLI計測システムなど

Slide 63

Slide 63 text

中長期で見据えるコンセプト ▶ Self-Service Is More Than A Button

Slide 64

Slide 64 text

Envoy 開発者Matt のDevOps 定義 DevOps is the practice of developers being responsible for operating their services in production, 24/7. This includes development using shared infrastructure primitives, testing, on-call, reliability engineering, disaster recovery, defining SLOs, monitoring setup and alarming, debugging and performance analysis, incident root cause analysis, provisioning and deployment, etc. 「The human scalability of “DevOps”」 https://medium.com/@mattklein123/the-human-scalability-of-devops-e36c37d3db6a

Slide 65

Slide 65 text

Self-Service Is More Than A Button ● OaaS ( Operation as a Service ) ○ 必要なオペレーションは、 Self-Service で扱えるように ● SRE チームがどうなるかはまだ見えていない ○ OaaS のPlatform をつくるチームと、 OaaS 周辺の問題解決に専門性を持つチーム に大きく分かれる?

Slide 66

Slide 66 text

スタディストSRE は、 まだ はじまったばかり・・・

Slide 67

Slide 67 text

Copyright (C) 2018 Studist Corporation. All Rights Reserved 67 #devsumiE 自己紹介 We are hiring!! スタディストでは、 いっしょに闘ってくれるSRE を募集中