$30 off During Our Annual Pro Sale. View Details »

ストレージチーム spin-off! / Storage team spin-off!

Cybozu
PRO
March 18, 2021

ストレージチーム spin-off! / Storage team spin-off!

「サイボウズのKubernetes基盤 Cybozu Tech Meetup #11」でお話した資料です
https://cybozu.connpass.com/event/206151/

Cybozu
PRO

March 18, 2021
Tweet

More Decks by Cybozu

Other Decks in Technology

Transcript

  1. ストレージチーム spin-off!
    2021/03/18
    サイボウズ株式会社
    Cloud Storage Agency
    深⾕ 敏邦

    View Slide

  2. 2
    1. スケーラビリティがない
    2. アプリチームの本番アクセス権限がない
    今のcybozu.comのストレージに関する問題点

    View Slide

  3. 3
    • 現在は顧客をシャーディングして管理
    • 顧客環境が増えるに従い管理対象が増えて負担が増す
    • 顧客の活⽤度が⾼まると性能や容量が不⾜する
    スケーラビリティがない

    😢
    😊
    😊
    😊 😊
    😊
    😊 😊
    😊
    😊
    😊
    😊
    😊
    管理
    ストレージシャード
    テナント

    View Slide

  4. 4
    • インフラを提供しているのはSREチーム
    • デプロイを含め本番に触れるのはSREチームのみ
    • アプリ開発者は障害時に⼀時的な対応や緩和策を実施できない
    • アプリ固有の監視を⾏うのが難しい
    アプリチームの本番アクセス権限がない

    View Slide

  5. 5
    1. Rook/Cephによるスケーラブルなストレージ
    2. Kubernetesによる管理者とユーザーの分離
    Necoによって得られるもの

    View Slide

  6. 6
    • CephはOSSによるスケーラブルなSDS
    • ディスクを追加することで性能・容量をスケーラブルに増やせる
    • CERNでは2017年当時で数百PBのクラスターを運⽤
    • RookはCephをKubernetes上で管理するためのoperator
    • CRを通じて必要なデーモンを⾃動的にデプロイ
    • 故障したデーモンを⾃動的に再構築してくれる
    Rook/Cephによるスケーラブルなストレージ

    View Slide

  7. 7
    • KubernetesはRBACによってユーザー権限を細かく設定可能
    • ストレージに関するリソースが分離されている
    • 管理者がStorageClassによってストレージを提供
    • ユーザーはPersistentVolumeClaimによってストレージを利⽤可能
    • アプリ開発者に強い権限を渡すことなく、本番にアクセスさせ
    ることができる
    Kubernetesによる管理者とユーザーの分離

    View Slide

  8. 8
    • Rook/Cephによるスケーラブルなストレージ
    Rook/Ceph⾃体が壊れたら?
    • Kubernetesによる管理者とユーザーの分離
    管理者はユーザーのニーズを把握できるのか?
    ユーザーは道具をうまく使えるのか?
    新たな課題

    View Slide

  9. 9
    1. 使うものに責任を持つ
    2. アプリチームとの協⼒
    専任チームの意義

    View Slide

  10. 10
    • Rookはまだまだ若いソフトウェア
    • まだまだ不具合はたくさんある
    • ⾃分たちに必要な機能がないこともある
    • 必要ならupstreamにて対応
    • Cephでさえ検証するとドキュメントと異なる挙動が⾒つかる
    使うものに責任を持つ

    View Slide

  11. 11
    • 利⽤者が必要としているものを提供する
    • 書き込みよりも読み込みが重要かもしれない
    • バーストできるよりもフェアネスが重要かもしれない
    • 利⽤者が正しい⽅向に⾏けるようにサポートする
    • パフォーマンスの出る使い⽅を案内する
    • これからのやっていき!
    アプリチームとの協⼒

    View Slide

  12. 12
    • 現⾏ストレージの問題点
    • スケーラビリティが低い
    • 開発者の本番アクセス権限がない
    • Necoでのストレージ
    • スケーラビリティの確保
    • 権限の分離
    • 専任チームの意義
    • 提供物に責任を持つ
    • 協⼒体制の構築
    まとめ

    View Slide