「サイボウズのKubernetes基盤 Cybozu Tech Meetup #11」でお話した資料です https://cybozu.connpass.com/event/206151/
ストレージチーム spin-off!2021/03/18サイボウズ株式会社Cloud Storage Agency深⾕ 敏邦
View Slide
21. スケーラビリティがない2. アプリチームの本番アクセス権限がない今のcybozu.comのストレージに関する問題点
3• 現在は顧客をシャーディングして管理• 顧客環境が増えるに従い管理対象が増えて負担が増す• 顧客の活⽤度が⾼まると性能や容量が不⾜するスケーラビリティがない…😢😊😊😊 😊😊😊 😊😊😊😊😊😊管理ストレージシャードテナント
4• インフラを提供しているのはSREチーム• デプロイを含め本番に触れるのはSREチームのみ• アプリ開発者は障害時に⼀時的な対応や緩和策を実施できない• アプリ固有の監視を⾏うのが難しいアプリチームの本番アクセス権限がない
51. 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による管理者とユーザーの分離管理者はユーザーのニーズを把握できるのか?ユーザーは道具をうまく使えるのか?新たな課題
91. 使うものに責任を持つ2. アプリチームとの協⼒専任チームの意義
10• Rookはまだまだ若いソフトウェア• まだまだ不具合はたくさんある• ⾃分たちに必要な機能がないこともある• 必要ならupstreamにて対応• Cephでさえ検証するとドキュメントと異なる挙動が⾒つかる使うものに責任を持つ
11• 利⽤者が必要としているものを提供する• 書き込みよりも読み込みが重要かもしれない• バーストできるよりもフェアネスが重要かもしれない• 利⽤者が正しい⽅向に⾏けるようにサポートする• パフォーマンスの出る使い⽅を案内する• これからのやっていき!アプリチームとの協⼒
12• 現⾏ストレージの問題点• スケーラビリティが低い• 開発者の本番アクセス権限がない• Necoでのストレージ• スケーラビリティの確保• 権限の分離• 専任チームの意義• 提供物に責任を持つ• 協⼒体制の構築まとめ