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
ストレージチーム spin-off! / Storage team spin-off!
Search
Cybozu
PRO
March 18, 2021
Technology
0
3.4k
ストレージチーム spin-off! / Storage team spin-off!
「サイボウズのKubernetes基盤 Cybozu Tech Meetup #11」でお話した資料です
https://cybozu.connpass.com/event/206151/
Cybozu
PRO
March 18, 2021
Tweet
Share
More Decks by Cybozu
See All by Cybozu
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
9
45k
テクニカルライティング
cybozuinsideout
PRO
4
300
サイボウズのアジャイルクオリティ2024
cybozuinsideout
PRO
3
270
モブに早く慣れたい人のためのガイド2024
cybozuinsideout
PRO
3
370
モバイル
cybozuinsideout
PRO
3
190
ソフトウェアライセンス
cybozuinsideout
PRO
4
160
ソフトウェアテスト
cybozuinsideout
PRO
3
260
自動テスト
cybozuinsideout
PRO
3
270
Docker入門2024
cybozuinsideout
PRO
3
460
Other Decks in Technology
See All in Technology
SREが投資するAIOps ~ペアーズにおけるLLM for Developerへの取り組み~
takumiogawa
2
500
テストコード品質を高めるためにMutation Testingライブラリ・Strykerを実戦導入してみた話
ysknsid25
7
2.7k
Next.jsとNuxtが混在? iframeでなんとかする!
ypresto
1
130
OCI Security サービス 概要
oracle4engineer
PRO
0
6.5k
Amplify Gen2 Deep Dive / バックエンドの型をいかにしてフロントエンドへ伝えるか #TSKaigi #TSKaigiKansai #AWSAmplifyJP
tacck
PRO
0
390
適材適所の技術選定 〜GraphQL・REST API・tRPC〜 / Optimal Technology Selection
kakehashi
1
710
The Rise of LLMOps
asei
9
1.8k
アプリエンジニアのためのGraphQL入門.pdf
spycwolf
0
110
FlutterアプリにおけるSLI/SLOを用いたユーザー体験の可視化と計測基盤構築
ostk0069
0
120
あなたの知らない Function.prototype.toString() の世界
mizdra
PRO
2
390
Mastering Quickfix
daisuzu
1
150
生成AIが変えるデータ分析の全体像
ishikawa_satoru
0
180
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
33
2.9k
Happy Clients
brianwarren
98
6.7k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
840
How to Ace a Technical Interview
jacobian
276
23k
Music & Morning Musume
bryan
46
6.2k
Unsuck your backbone
ammeep
668
57k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
Designing Experiences People Love
moore
138
23k
Designing for Performance
lara
604
68k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
Transcript
ストレージチーム spin-off! 2021/03/18 サイボウズ株式会社 Cloud Storage Agency 深⾕ 敏邦
2 1. スケーラビリティがない 2. アプリチームの本番アクセス権限がない 今のcybozu.comのストレージに関する問題点
3 • 現在は顧客をシャーディングして管理 • 顧客環境が増えるに従い管理対象が増えて負担が増す • 顧客の活⽤度が⾼まると性能や容量が不⾜する スケーラビリティがない … 😢
😊 😊 😊 😊 😊 😊 😊 😊 😊 😊 😊 😊 管理 ストレージシャード テナント
4 • インフラを提供しているのはSREチーム • デプロイを含め本番に触れるのはSREチームのみ • アプリ開発者は障害時に⼀時的な対応や緩和策を実施できない • アプリ固有の監視を⾏うのが難しい アプリチームの本番アクセス権限がない
5 1. Rook/Cephによるスケーラブルなストレージ 2. Kubernetesによる管理者とユーザーの分離 Necoによって得られるもの
6 • CephはOSSによるスケーラブルなSDS • ディスクを追加することで性能・容量をスケーラブルに増やせる • CERNでは2017年当時で数百PBのクラスターを運⽤ • RookはCephをKubernetes上で管理するためのoperator •
CRを通じて必要なデーモンを⾃動的にデプロイ • 故障したデーモンを⾃動的に再構築してくれる Rook/Cephによるスケーラブルなストレージ
7 • KubernetesはRBACによってユーザー権限を細かく設定可能 • ストレージに関するリソースが分離されている • 管理者がStorageClassによってストレージを提供 • ユーザーはPersistentVolumeClaimによってストレージを利⽤可能 •
アプリ開発者に強い権限を渡すことなく、本番にアクセスさせ ることができる Kubernetesによる管理者とユーザーの分離
8 • Rook/Cephによるスケーラブルなストレージ Rook/Ceph⾃体が壊れたら? • Kubernetesによる管理者とユーザーの分離 管理者はユーザーのニーズを把握できるのか? ユーザーは道具をうまく使えるのか? 新たな課題
9 1. 使うものに責任を持つ 2. アプリチームとの協⼒ 専任チームの意義
10 • Rookはまだまだ若いソフトウェア • まだまだ不具合はたくさんある • ⾃分たちに必要な機能がないこともある • 必要ならupstreamにて対応 •
Cephでさえ検証するとドキュメントと異なる挙動が⾒つかる 使うものに責任を持つ
11 • 利⽤者が必要としているものを提供する • 書き込みよりも読み込みが重要かもしれない • バーストできるよりもフェアネスが重要かもしれない • 利⽤者が正しい⽅向に⾏けるようにサポートする •
パフォーマンスの出る使い⽅を案内する • これからのやっていき! アプリチームとの協⼒
12 • 現⾏ストレージの問題点 • スケーラビリティが低い • 開発者の本番アクセス権限がない • Necoでのストレージ •
スケーラビリティの確保 • 権限の分離 • 専任チームの意義 • 提供物に責任を持つ • 協⼒体制の構築 まとめ