Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
SREの異動と働き方 〜はてなブログ編〜 / Hatena Engineer Seminar...
Search
cohalz
February 05, 2020
Technology
0
2.3k
SREの異動と働き方 〜はてなブログ編〜 / Hatena Engineer Seminar #13
Hatena Engineer Seminar #13
https://hatena.connpass.com/event/164042/
の発表資料です
cohalz
February 05, 2020
Tweet
Share
More Decks by cohalz
See All by cohalz
はてなのSRE組織2024 / Road to SRE NEXT@福岡
cohalz
2
1.5k
SREのキャリア、 あるいは生態 / #ya8
cohalz
11
1.5k
カンファレンスのボランティアスタッフって何やるの? / DAIMYO Meetup #4
cohalz
0
120
小さなものでも Step Functions / Serverless Meetup Fukuoka Re:boot
cohalz
0
160
ECSのCI/CD改善と標準化の取り組み / JAWS FESTA 2023 in Kyushu
cohalz
8
6.5k
ecspressoへの貢献を振り返る / JAWS-UG コンテナ支部 #24 ecspresso MeetUp
cohalz
1
6k
はてなフォトライフをECSに移行した話 / Hatena Engineer Seminar #20
cohalz
1
19k
Envoy.なんか / Kyoto.なんか #5
cohalz
1
180
CDKを用いたモダンなECSクラスタの構築と運用 / AWS Cloud Development Kit -CDK- Meetup
cohalz
6
3.2k
Other Decks in Technology
See All in Technology
20241220_S3 tablesの使い方を検証してみた
handy
3
250
非機能品質を作り込むための実践アーキテクチャ
knih
3
740
多領域インシデントマネジメントへの挑戦:ハードウェアとソフトウェアの融合が生む課題/Challenge to multidisciplinary incident management: Issues created by the fusion of hardware and software
bitkey
PRO
2
100
GitHub Copilot のテクニック集/GitHub Copilot Techniques
rayuron
24
11k
Amazon VPC Lattice 最新アップデート紹介 - PrivateLink も似たようなアップデートあったけど違いとは
bigmuramura
0
190
【re:Invent 2024 アプデ】 Prompt Routing の紹介
champ
0
140
DevOps視点でAWS re:invent2024の新サービス・アプデを振り返ってみた
oshanqq
0
180
kargoの魅力について伝える
magisystem0408
0
200
社外コミュニティで学び社内に活かす共に学ぶプロジェクトの実践/backlogworld2024
nishiuma
0
250
Oracle Cloudの生成AIサービスって実際どこまで使えるの? エンジニア目線で試してみた
minorun365
PRO
4
280
成果を出しながら成長する、アウトプット駆動のキャッチアップ術 / Output-driven catch-up techniques to grow while producing results
aiandrox
0
180
alecthomas/kong はいいぞ / kamakura.go#7
fujiwara3
1
300
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
229
18k
How To Stay Up To Date on Web Technology
chriscoyier
789
250k
How to train your dragon (web standard)
notwaldorf
88
5.7k
Raft: Consensus for Rubyists
vanstee
137
6.7k
Facilitating Awesome Meetings
lara
50
6.1k
Building Applications with DynamoDB
mza
91
6.1k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
Become a Pro
speakerdeck
PRO
26
5k
Being A Developer After 40
akosma
87
590k
Producing Creativity
orderedlist
PRO
341
39k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Transcript
SREの異動と働き方 〜はてなブログ編〜 Hatena Engineer Seminar #13 id:cohalz
自己紹介 ・id:cohalz / @cohalz ・株式会社はてな SRE (2018年新卒) ・SREチーム (~ 2019/08)
・ブログチーム SRE(2019/08 ~)
話すこと ・SREチームとブログチームについて ・異動 ・難しかったこと ・意識したこと ・改善したこと
SRE (Site Reliability Engineer)の仕事 ・サービス開発時の構築 ・各サービスの運用支援 ・安定稼働のための冗長化・キャパシティプランニング ・全社基盤の開発・運用 ・ミドルウェアやマネージドサービスの検証 これらを組織横断的に行うチームが社内に部として存在している
SREチームでの主な成果 https://developer.hatenastaff.com/archive/author/cohalz
最近のSREチーム http://slides.hokkai7go.jp/jtf2019-hatena-sre-scrum.pdf
そんな中 ブログチームへの異動を勧められる
はてなにおける異動 ・ユーザ向けサービスの他に受託開発など様々なチームがある ・個人の成長促進やチーム自体を改善するために異動を推奨している ・大体チーム配属から1年〜3年で異動することが多い
ブログチームへの異動(チームの事情) ・はてなブログという大きなプロダクトが抱える課題 ・インフラ周りの改善を継続的に行いたいが... ・DevとOpsが分離している状態ではなかなか進みにくい ・チーム付SREingという取り組みがうまく回っていたタイミング ・Mackerelやブックマークなど ・はてなブログタグのリリースが近い
DevとOpsの分離による課題 ・開発チーム側: ・SREチームにお願いする形になる ・コミュニケーションコストの増加 ・チームに運用知識が中々貯まっていかない ・SREチーム側 ・サービスの運用に時間を割き、本来の改善タスクが進まなくなる
ブログチームへの異動(個人の事情) ・キャリアの関係 ・SREチームはサービスを持っているわけではない ・ミドルウェア運用経験などが積みにくい ・MySQLやElasticsearchなど ・AWSのサービス知見を開発チームでも活用していきたい
異動することに
そうして はてなブログ初のSREが誕生
とはいえ大変なこともたくさん
異動によって起きた変化 ・コミュニケーション ・大きなシステムを運用する怖さ ・キャッチアップ
コミュニケーション ・チームメンバーが変わることによる難しさ ・SREチーム: 上司もチームメンバーもSREの分野に大きな理解があった ・ 今は逆にSREingに詳しい人があまりいない ・デザイナーやプランナーなど多職種に渡る
コミュニケーションで工夫した点 ・期初に行う1on1の他に、ディレクターの提案でドラッカー風 エクササイズを実施してもらった ・どういったことを期待されて、どういったことができるのかお互いに把握でき、 認識のズレが少なくなってとても良かった
コミュニケーションで工夫した点 ・別の職種の相手にも伝わるように、背景も充実させてコミュニケーションをす る ・後から他の人が見る際にも役に立つので損はない
大きなシステムを運用する怖さ ・2011年からサービス開始して、9年目のプロダクト ・関連システムも複数ある ・知識も経験もまだ未熟で、なにか障害を起こすかもしれない
意外とうまくやっていけている ・他の人も積極的に協力してくれる体制 ・はてなブログ自体の冗長性の高さ ・非難をせず、挑戦を応援する文化 異動時のSREチームからの相談
批判をせず、挑戦を応援する文化 ・障害を起こしたときもチームで役割分担して復旧に向かう ・その後、一緒に再発防止策を考える ・障害を起こした人を非難しない ・はてなのバリューズにも「挑戦が好き」がある ・https://hatenacorp.jp/recruit/values もちろん考えなしに無茶をやっていいというわけではない
キャッチアップ ・緊急度の低いオペレーションからやってみる ・PWG(Performance Working Group)の運営を行う ・パフォーマンスを確認する会 ・メトリクスやエラー数の変化からどういう状態か把握してく ・チームメンバーへタスクを渡す練習にもなる
緊急度の低いオペレーションをきっかけに ・EC2メンテナンス ・ペアオペ・ドキュメント化を徹底する
開発合宿への参加 ・オフィスを離れ、チームを組んで3日間作業する「開発合宿」という社内イベン トがあり参加した ・「ブログのパフォーマンス改善」というテーマで取り組んだ
開発合宿への参加その後 ・パフォーマンスの確認・改善だけでなく、知見の伝授にもなった ・開発合宿以後もスピード感を持ってパフォーマンス改善に取り組めるように
はてなブログ タグのリリース ・ミドルウェアの検証や運用のためのダッシュボードを作る ・ユーザに使われるサービスの構築・運用に慣れることができた
チームで運用を回していく ・はてなブログという大きなシステムを一人でどうにかできるのか ・=> No ・じゃあ、よりスケールする方向に ・チームでオペレーションできるようにドキュメントを整備 ・ミドルウェアの設定もチームでレビュー ・さらに自動化できないか考える
どのような改善を行ってきたか
主に改善していったところ ・ドキュメント化 ・自動化 ・健全化
ドキュメント化: Scrapboxの活用 ・手順がSREチーム側にあるものを、チームのScrapboxに移設 ・コピペするだけではなく実際に手を動かして作り、アップデートする ・新しく、誰でも作業できるようなドキュメントになった
健全化: アラートの整理 ・夜や土日にアラートが多く出るという問題があった ・サービスが落ちているのかわかりにくい ・起きたアラートを振り返り、どういったものだったか分類するように ・即時対応が不要であれば通知されないようにした ・サービスも大事だけどチームが健全に運用できるように
自動化: 証明書の更新 ・証明書の更新期限が近く更新する必要があった ・証明書の購買申請から配置までを行う必要があった ・過去に対応した人がいない、フローも変わっていて難しい ・検証環境ではまた違う手順を踏む必要があった ・これを自分以外でもやれるようにするかというと...?
自動化: 証明書の更新 ・SREチーム時代に作った自動更新システムを導入 ・検証環境と本番環境で同じ仕組みに統一 ・仕組みがおかしくなっても気付けるように ・PWGでメンバーに構成やドキュメントを紹介
まとめ
まとめ ・異動をきっかけに、コミュニケーション・知識を向上させていった ・難しいこともあるけれど、他の人も巻き込んでうまく回しています ・今後のはてなブログの改善にご期待ください