クラウドネイティブなチームづくりサイボウズ株式会社池添 明宏 @zoetroKubernetes Invitational Meetup Tokyo #42019/12/181
View Slide
Necoプロジェクトとは• ⾃社データセンターに1,000ノード規模のKubernetesクラスタを構築するプロジェクト• ほとんどの成果をOSSとして公開• 2018年• データセンター構築、プロビジョニングの⾃動化• 2019年• Kubernetesクラスタ構築の⾃動化• 2020年• Rook/Ceph, Elasticsearch, MySQLの構築2
Necoのやりかた• 品質とスコープは妥協しない• 歪んだ設計実装はダメ絶対 ⼤規模リファクタリングもしばしば• 開発業務の半分くらいの時間は⾃動テストに費やしている• 安定したOSSを使う。積極的にコントリビュートする• ないものは⾃分たちでつくる• Kubernetesクラスタ構築ツール: github.com/cybozu-go/cke• CNIプラグイン: github.com/cybozu-go/coil• CSIプラグイン: github.com/cybozu-go/topolvm3
猫の⼿も借りたい• 採⽤• チーム主導で採⽤活動を実施• ジョブディスクリプション型採⽤• ミートアップの開催• スキルチェックシート公開: https://git.io/neco-skills• 異動• 社内ジョブボード• 体験⼊部制度を活⽤• 開発者からのコンバート• 出向4
徐々に増えてきた2018年 6⼈2019年12⽉現在 11⼈体験⼊部を含めると9⼈くらい受け⼊れた。オンボーディングが⼤変!5
オンボーディング• 必要な知識が⾮常に多い• Kubernetesおよび、数⼗ものOSSの知識• プログラミング能⼒• Linux, ネットワーク、ストレージなどインフラの知識• どうするか• 社内勉強会、輪読会• 豊富な社内ドキュメント• モブプログラミング6
モブプログラミング• ⽇常のほとんどの作業を2〜3⼈でいっしょに実施。• プログラミングだけでなく、オペレーション、不具合調査、レビュー、PRの作成、プレゼン資料づくりなどなど。• Zoomを利⽤して画⾯共有。リモートメンバーとの境をなくす。• サボれないのでとても疲れる。• 2週間ごとにチームの⼊れ替え。特定の⼈物に知識が偏るのを防ぐ。7
英語• 舞台は世界へ• OSS活動に英語は⽋かせない• 英語ブログはじめました: https://blog.kintone.io/• KubeConでの発表⽬指す (2019はRejected, 2020 EU Proposal提出中)• 業務時間で英語レッスン• 講師を呼んでグループレッスン• カンファレンスのビデオを⾒てディスカッション• クラウドネイティブな話題で英語プレゼン8
チームとして圧倒的成⻑• Kubernetes完全に理解した 新メンバーがCKA/CKAD合格• ほとんどのメンバーがOSS開発未経験者だったが、最近は全員が当たり前のように有名OSSにコントリビュート• サイボウズのOSSポリシー: https://blog.cybozu.io/entry/oss-policy• Rookに関してはメンテナを⽬指している• KEPにも参戦9
クラウドネイティブなチーム• 知識の偏りを避けたことにより、メンバーが⼀時的に不在でもほとんど問題がない。メンバーの⼊れ替えもしやすい。• 受け⼊れ体制が整い、スケールアウトしやすくなった。10
2019年のNecoチームの登壇• 01/09 Cloud Native Meetup Tokyo #6• 02/19 Kubernetes Meetup Tokyo #16• 04/15-16 CloudNative Days Fukuoka 2019• 06/04 NoOps Meetup Tokyo #6• 07/07 サーバーサイドエンジニアオールスターズ in 関⻄!• 07/22-23 CloudNative Days Tokyo 2019• 09/27 Kubernetes Meetup Tokyo #23• 11/26 Bonfire Backend #4• 12/09 Japan Rook Meetup #111
2020年• クラウドネイティブ界隈を盛り上げていきたい!• Storage on Kubernetes やっていく!• OSSコミュニティにも引き続き貢献!(コントリビュート、登壇、スポンサー、寄付などなど)12