SRE NEXT 2020参加記
ブログを書くまでがSRE NEXT
ということで、SRE NEXT 2020に参加してきたのでブログを書くことにする
SRE NEXT 2020とは
公式サイトによると
SRE によるコミュニティベースのカンファレンスです。 同じくコミュニティベースのSRE勉強会である「SRE Lounge」のメンバーが中心となり運営・開催されます。
だそうです。
SREとは
じゃあそもそもSREとはなんぞやって話なんですが、こちらもサイトに書いてあるので抜粋
Googleにより提唱された、システム管理とサービス運用における考え方または方法論であり、それらを実践するエンジニアを指します。 SREは、サービスやインフラの信頼性をソフトウェアエンジニアリングによって実現することを目指します。 サービスの信頼性を重視する多くの企業において取り入れられており、近年ますますその広がりを見せています。
会社や個人によって解釈は違うと思いますが、要は開発を加速させつつ、既存のサービス提供に対しても責任を持とうねという話。(だと個人的に理解している)
0次会
とりあえず会場が豊洲って事で朝活してきた。
講演
気合を取り直して会場に行ったら早期入場特典としてエンジニア向けヨガやってた
めっちゃ僕写ってるツイート見つけたので拝借。
ヨガ体験!!🧘♂️🧘♀️#srenext pic.twitter.com/qcaj7eWZvo
— iganari (@iganari_) 2020年1月25日
そしていよいよ講演だったけど全部上げるとキリがないので特に印象に残ったものを抽出して書く
基調講演 : 分散アプリケーションの信頼性観測技術に関する研究
- さくらインターネット研究所の方が基調講演をしていた
最後のトレーシング技術に関しては、データセンタまで考えているさくらだからこその発想という感じがあった。
個人的にも最近低レイヤーやオンプレの勉強をしているのでこの考え方は面白かった。
絶え間なく変化するメルカリ・メルペイにおけるSREの組織と成長
さくらインターネットの石狩とGKEの東京リージョンでレイテンシが問題になるのでライブラリを作った
学生個人だとこのレベルで通信や3way handshakeを気にすることがない…笑
- またメルカリではスケールしたときにSREがボトルネックになってはいけないということで組織改編でSREを3チームに分けた
- Core : Database, Mail, etc
- Edge: CDN, Load balancer, etc
- Advocacy : 開発チームの一員
どの組織でもSREがボトルネックにならないようにそれぞれのアプローチで組織改編などで対応しているイメージがあった
freeeのエンジニアは障害から何を学び、どう改善しているのか?
- 障害が起きたときの初動対応を改善
- 障害が起きたときにslackbotで誰を呼んで誰が何をするかのドキュメントが自動生成される
- 後のNewRelicのセッションでも同じようなことをしていた
- 物理的に1箇所に集まるのも効率的
- 障害が起きたときにslackbotで誰を呼んで誰が何をするかのドキュメントが自動生成される
- 割れ窓理論で普段から対応する文化を作っていく
New ReilcのSREに学ぶSREのためのNew Relic活用法
- NewRelicでは最低でも四半期に一度Game Dayと言われるイベントを設けて、自分たちで攻守のチームに別れて攻撃 & 障害対応を行う
- NewRelicのSREがどの様な業務をやっているのかもブログが公開されていたので是非
- ちなみにNewRelicが扱うデータは 20億リクエスト / 分。クエリ対象は1兆イベント超。
ZOZO MLOpsのチームリーディングとSRE@sonots
このセッションでは割とチームマネジメント的な話をされていた。
個人的にはSREに限らずエンジニアの組織として上に立つ人がこんな人だったら働きやすいんだろうなと凄く共感した。
KPTもやっているが、実際にActionまで持って行けてなかったり、調整ごとが先延ばしされて他の作業に支障が出たりする事もよくある。これらを解決出来る環境をチームとして作れればより個人でプロ意識を持つの事にも繋がると思う。
そして、個人的には最後の技術力でぶん殴るがツボ。
エンジニアなんだから最後はソースコードを見て自分で理解・改善していくのが仕事である。まさにその通り。
SRE Practices in Mercari Microservices
- サービスチーム > SREチーム > プラットフォームチーム
- SREはサービスチームが自分たちでサービスをコントロール出来る様にプラットフォームとの間に入って手助けをする。なるほどなぁと言う感じ。
- アラートは意味のあるアラートに
RED(Rate, Error, Duration)
でアラートに、USE(Utilization, Saturation, Error)
で調査- 顧客に影響のあるものだけをアラートに設定する
- Actionableなアラート設定
- アラートが鳴ったときに誰が何をすればいいかを明確にしておくべき
- 他のセッションでも言っていたがアラートがオオカミ少年になるのが1番危険
- アラートは冬休みの午前3時に起こされても自分が許せるかどうか
改めてSREと言う概念を色々な会社から聞けたのも今回SRE NEXTに来て良かったなと思った。
Webサービスを1日10回デプロイするための取り組み
- 誰でもいつでもデプロイ出来る環境に
- コマンドを叩くだけでデプロイ出来るように
- デプロイを記録・可視化したい
- 履歴をGoogleカレンダーとmackerelに記録する
- ロールバックに備える
- リバート→CI→デプロイは時間がかかるのでデプロイ時に使用しているtarボールをばら撒く機構を作った
前のセッションでも言われてたが、まさにサービスチームがサービスに責任を持てるための橋渡しをするためのSREチームというような仕事内容だった。
余談だが、Elastic Transcoderで毎月家が立つくらいコストかかっていた はまじで衝撃。
最後に
- 流石に1日10セッションを休みなしで聞くと疲れる。帰って9時前には爆睡してた
- 最近のカンファレンスは生中継したり後で資料公開されていたりするから行かなくてもいいかぁと思うこともあるけど、やっぱり現地に行って話を聞くことでモチベーション上げれたり出来るので個人的には出来る限り参加したい
- 次はDevelopers Summit行きます
- 今年は自腹でGoogleIOかAmazon re:Invent行こうと画策中…
- せめてチケット手に入らないかな…
- SREとかに興味のある学生ってどれくらいいるのかな?
- 今回のイベント行っても思ったんだけどSREってあんまり学生いないイメージ
- 今回の発表資料はQiitaにまとまっていたので気になる人は是非