$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
信頼性とアジリティの両輪で進むスタートアップSRE
Search
Nealle
July 09, 2024
Programming
0
130
信頼性とアジリティの両輪で進むスタートアップSRE
StREの会 #1
スタートアップ企業のSREに立ちはだかる壁と乗り越え方
https://stre.connpass.com/event/322288/
Nealle
July 09, 2024
Tweet
Share
More Decks by Nealle
See All by Nealle
事業成長を爆速で進めてきたプロダクトエンジニアたちの成功談・失敗談
nealle
3
1.3k
Nealle Company Deck
nealle
7
110k
AllStarSaaS_BootCamp2024_nealle
nealle
1
150
AI活用したくてもできなかった不動産SaaSの今とこれから
nealle
0
2.2k
feature環境をGitHub ActionsとCloudFormationでいい感じに管理する
nealle
2
500
DatadogでAPI毎のSQL発行数を可視化してN+1を改善した話
nealle
2
2.2k
Autify活用による高頻度リリースの実現
nealle
0
820
ニーリーエンジニア向け会社紹介資料
nealle
2
95k
Other Decks in Programming
See All in Programming
あれやってみてー駆動から成長を加速させる / areyattemite-driven
nashiusagi
1
160
これが俺の”自分戦略” プロセスを楽しんでいこう! - Developers CAREER Boost 2024
niftycorp
PRO
0
110
React への依存を最小にするフロントエンド設計
takonda
21
8.9k
Cursorでアプリケーションの追加開発や保守をどこまでできるか試したら得るものが多かった話
drumnistnakano
0
280
Missing parts when designing and implementing Android UI
ericksli
0
390
社内活動の取り組み紹介 ~ スリーシェイクでこんな取り組みしてます ~
bells17
0
390
聞き手から登壇者へ: RubyKaigi2024 LTでの初挑戦が 教えてくれた、可能性の星
mikik0
1
150
Criando Commits Incríveis no Git
marcelgsantos
2
150
Cognitoが大型アップデート!Managed Loginとパスワードレスログインを実際に使ってみた@しむそくRadio Special Day1
tmhirai
3
260
今からはじめるAndroidアプリ開発 2024 / DevFest 2024
star_zero
0
770
MoQとか勉強会#2 発表資料
yuki_uchida
2
620
DevTools extensions で 独自の DevTool を開発する | FlutterKaigi 2024
kokiyoshida
0
450
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.4k
VelocityConf: Rendering Performance Case Studies
addyosmani
326
24k
RailsConf 2023
tenderlove
29
920
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
Into the Great Unknown - MozCon
thekraken
33
1.5k
How GitHub (no longer) Works
holman
310
140k
Writing Fast Ruby
sferik
627
61k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Optimizing for Happiness
mojombo
376
70k
A better future with KSS
kneath
238
17k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
45
2.2k
Transcript
2024/07/10 StRE#1 スタートアップ企業のSREに立ちはだかる壁と乗り越え方 株式会社ニーリー プラットフォーム開発部 SREチーム 大木建人 NEALLE 信頼性とアジリティの両輪で進む スタートアップSRE
1
ことスタートアップのSREは スピード感を持って成長するプロダクトと伴走すること が多々あると思います。 そのようなプロダクトと向き合い、 どのようにして伴走するのかは 大きな課題だと思います。 その中で我々はどのように伴走してきたのか の話をしたいと思います。 1|会社概要 2
その中でテーマとして、 「信頼性とアジリティの両立」がありました。 1|会社概要 3
About Me 1|会社概要 4
5 氏名 所属 経歴 大木 建人 / Kento Ogi 株式会社ニーリー
プロダクト統括本部 プラットフォーム開発G SREチーム 趣味 夏はボルダリング🧗 冬はスノーボード🏂 2018-2020 大学で強化学習の研究 & インターンでAWSにハマる 2020-2023 新卒で合同会社DMM.comへ入社 SRE 2023- 株式会社ニーリー SRE 自己紹介 @2357gi @2357gi
6 プロダクト紹介
7 爆速成長中💪 プロダクト紹介
1|会社概要 8 最初は最速でローンチするためにオフショアで開発 AWS上にElastic Beanstalkで作成 運用でカバーする箇所は残ったが、 スピード感を持ってローンチすることができた 自社開発に移行 AWS環境の諸々を修正したり、 自社開発体制を整えたりしていた
1|会社概要 9 リリースは、隔週に一度の深夜に社員が持ち回りで行っていた。 月イチでリリース当番が回ってくる、なかなか辛い体制だった。 また、デプロイフローもscript手実行によるファイルばら撒き Elastic Beanstalkのお守りもなかなか大変!! リリース辛すぎる!!! 明確なペイン!!!!! SREingよりも先に、
インフラのブラッシュアップや最適化を優先して実施することに
10 ・Elastic Beanstalkの設定ファイルの肥大化 ・なんならEC2にRedisまで乗っている ・スケールアウトするとバッチが多重起動 ・SQLがボトルネックになりパフォーマンス問題が多発 などなど... Elastic Beanstalkのお守りが大変 を深ぼると...
11 ・Elastic Beanstalkの設定ファイルの肥大化 ・なんならEC2にRedisまで乗っている ・スケールアウトするとバッチが多重起動 ・SQLがボトルネックになりパフォーマンス問題が多発 などなど... → ドラスティックにアーキテクチャの変更を決定 ECSへとお引越し!
合わせてGithub ActionsによるCDも整備! Elastic Beanstalkのお守りが大変 を深ぼると...
1|会社概要 12 リリースタイミング ダウンタイム n年前 隔週の深夜 あり スタートアップ、ガンガンプロダクトアップデートさせたい 開発のフロー効率をあげたいという強い要望はあった CDは整備されても、リリースは隔週に一度の深夜だった
例えば、当時SEO対策のためにwebページの修正が頻繁に行われており、 その反映が隔週に一回なのはかなりしんどかった
1|会社概要 13 リリースタイミング ダウンタイム n年前 隔週の深夜 あり 新しいリリース方式 いつでも なし
デプロイフローの整備も実施 リリース内容によっては、 いつでもダウンタイムなしで リリースできるように! リリース回数グラフ 青が深夜リリース方式、赤が新しいリリース方式
14 ECS化によりscript手実行でのデプロイも Github ActionsによるCDへ進化 デプロイ作業が楽になった また、デプロイフローの信頼性も向上した 明確なペイン!!!!!の解消!!!
15 デプロイフローの信頼性も向上したし、 アーキテクチャも綺麗になったし、 フロー効率あげるぞ!アジリティの向上に繋げるぞ!!
16 デプロイフローの信頼性も向上したし、 アーキテクチャも綺麗になったし、 フロー効率あげるぞ!アジリティの向上に繋げるぞ!! 開発サイクルを早くして! フロー効率向上!アジリティ向上!!
1|会社概要 17 しかし... リリースには魔物が潜んでいる ゴゴゴゴゴ....
1|会社概要 18 リリースで障害を起こしちゃった経験がある人いますか? リリースで障害を起こしちゃった人を見たことがある人いますか? ゴゴゴゴゴ....
1|会社概要 19 リリースで障害を起こしちゃった人を 見たことがない人いますか? ゴゴゴゴゴ....
1|会社概要 20 どれだけ信頼性が高いリリースフローであれど、 どれだけテストをすれど、 リリースをする限り魔の手からは逃れられない ゴゴゴゴゴ....
1|会社概要 21 どれだけ信頼性が高いリリースフローであれど、 どれだけテストをすれど、 リリースをする限り魔の手からは逃れられない アジリティを高くすると信頼性が侵される.....? ゴゴゴゴゴ....
1|会社概要 22 Q.アジリティを高くすると信頼性が侵される.....? A. 確かにリリースによってメトリクスの悪化が引き起こされる ことがあった →信頼性の低下に繋がっている ゴゴゴゴゴ....
1|会社概要 23 信頼性 アジリティ 信頼性とアジリティは事業のフェーズによって重要度が変わる 我々の場合はまずアジリティの向上が重要だった デプロイフローのテコ入れを行い、 アジリティの向上に繋げることができた
1|会社概要 24 信頼性 アジリティ しかし、 デプロイ回数が増えたことにより、 リリースによるレイテンシの悪化などが増加した
1|会社概要 25 信頼性 アジリティ しかし、 デプロイ回数が増えたことにより、 リリースによるレイテンシの悪化などが増加した 信頼性にも向き合い、バランスを取る時が来た
1|会社概要 26 アジリティはわかりやすい ・デプロイ回数 ・リードタイムモニタリング アジリティ
1|会社概要 27 信頼性の定量的指標って何? 変更障害率? メトリクスの悪化? 選ばれたのは... 信頼性
1|会社概要 28 信頼性の定量的指標って何? 変更障害率? メトリクスの悪化? 選ばれたのは... SLI/SLO 信頼性
SLIを設定するときに 最初はCUJで策定することを考えた しかし、BtoBtoCサービスは CUJが複雑になってしまい、策定に難航した 1|会社概要 29 信頼性
そこで、一旦ALBのメトリクスでのみSLIを設定した まずはスモールスタートでのSLI運用を開始した 1|会社概要 30 信頼性 SLIを設定するときに 最初はCUJで策定することを考えた しかし、BtoBtoCサービスは CUJが複雑になってしまい、策定に難航した SLIを決める
SLI: バックエンドALBの可用性 5xx系の割合 1|会社概要 31 信頼性
SLI: バックエンドALBの可用性 5xx系の割合 SLO: 現状の値を元に策定 理想の値を設定せず、 まずは運用できるものを目指した 1|会社概要 32 信頼性
SLI/SLO、そして各種システムメトリクスが纏まったダッシュボードを作成し、 1.毎朝ダッシュボードを確認する 2.違和感があったら調査を行う といった運用を回すことができた 1|会社概要 33 SLI/SLOの運用
SLI/SLOの運用として、 SLI/SLO、そして各種システムメトリクスが纏まったダッシュボードを作成し、 1.毎朝ダッシュボードを確認する 2.違和感があったら調査を行う といった運用を回すことができた デプロイに伴うレイテンシの悪化などにも 素早く気づき対応を行うことができた 1|会社概要 34
数ヶ月後... SLI/SLOを施行し、何回かの見直しも実施した 運用もこなれてきたので、 CUJを元にしたSLIを設定することに。 1|会社概要 35
私たちがサービスを提供する相手は ・不動産管理会社さん ・借主さん ・ニーリー社員 の3方向なので、それぞれに対するCUJを設定。 1|会社概要 36
・借主さん 駐車場を探し、契約を行うことが目的 その目的を達成するUJをCUJとする ・不動産管理会社さん 駐車場と契約者を管理することが目的 その目的を達成するUJをCUJとする ・ニーリー社員 部署も幅広く、また機能も多いため悩ましい 1|会社概要 37
・ニーリー社員 部署も幅広く、また機能も多いため悩ましい 全ての機能を見ると大変、重要なものだけ絞りたい 機能一覧 x 部署一覧 のマトリクスを作成 複数の部署で使用している機能を クリティカルな機能だと判断 それを我々にとってのCUJと定義
1|会社概要 38
・不動産管理会社さん ・借主さん ・ニーリー社員 3方向に対してCUJを設定することを実現! 現在CUJベースのSLI/SLOを絶賛運用中 1|会社概要 39
1|会社概要 40 SREとして信頼性とアジリティの向上の両方が求められる バランスを取るための信頼性の定量的指標としてのSLI/SLO SLI/SLOも最初から全てCUJで設定するのではなく、 スモールスタートで運用していくのがおすすめ スタートアップは特にアジリティが求められる SREとしては信頼性、アジリティ両方に向き合いながら いい感じにやっていこうね まとめ
おしまい
1|会社概要 41 おしまい テックブログ/Noteに深ぼった話があるので 合わせてぜひ読んでみてください