2人のチームでどうやって開発者をkubernetes開発に巻き込んでいくか

 2人のチームでどうやって開発者をkubernetes開発に巻き込んでいくか

A093c82d1ffb09f8a023c757ffa7419d?s=128

yuzujoe

July 25, 2020
Tweet

Transcript

  1. 2人のチームでどうやって開発者を
 kubernetes開発に巻き込もうとしているか 2020/7/25 (Sat)

  2. name: “大平 譲”
 company: “bellFace inc.”
 job: “software engineer”
 twitter:

    “@joe_yuzupi”
 info: “エンジニアリングより野球が得意” 自己紹介
  3. ・bellfaceについて ・kubernetesの導入 ・kubernetesの運用 ・自動化 ・開発者を巻き込み始めた ・microservice ・まとめ AGENDA 


  4. None
  5. ・bellfaceについて ・kubernetesの導入 ・kubernetesの運用 ・自動化 ・開発者を巻き込み始めた ・microservice ・まとめ

  6. ・リリースして5年経つシステム
 ・そろそろ古いコードも目立つようになってきた 
   → リプレイス
 ・インフラにkubernetes(EKS)を採用
 ※ Fargateを使っているので興味ある人は別で色々話しましょう

  7. ・bellfaceについて ・kubernetesの導入 ・kubernetesの運用 ・自動化 ・開発者を巻き込み始めた ・microservice ・まとめ

  8. 2020年2月入社 バックエンドエンジニア エンジニア2.5年 Go, Typescript, Node.js 2020年1月入社 バックエンドエンジニア エンジニア5年以上 Go,

    DevOps
  9. ・bellfaceについて ・kubernetesの導入 ・kubernetesの運用 ・自動化 ・開発者を巻き込み始めた ・microservice ・まとめ

  10. ・2人じゃとてもじゃないけど回らない。。。
 
 ・開発陣(アプリケーションデベロッパー)の協力が必要。
 
 ・アレルギーが強い人も(責任範囲が違う)
 - デプロイフローが複雑になってきていた
 
 ・シンプルな自動化フローの仕組みを作る


  11. Terraform Cloudやargocdで行うGitOpsの導入 
 https://argoproj.github.io/argo-cd/ https://www.terraform.io/docs/cloud/index.html

  12. ・bellfaceについて ・kubernetesの導入 ・kubernetesの運用 ・自動化 ・開発者を巻き込み始めた ・microservice ・まとめ

  13. 本番環境がまだGitOpsに移行できていない
 旧環境 新環境 旧環境側で変更があった際は新 環境に取り込む必要がある

  14. 変更
 連絡
 反映
 PR
 適用
 開発者がそのままPRしてもらっ た方が早い
 変更 反映 PR


    適用
  15. ・bellfaceについて ・kubernetesの導入 ・kubernetesの運用 ・自動化 ・開発者を巻き込み始めた ・microservice ・まとめ

  16. 機能A 機能B 機能D 機能C 機能D 機能E レガシー
 機能A 機能B 機能C

    リプレイス

  17. 機能A 機能B 機能D 機能C 機能D 機能E レガシー
 機能A 機能D 機能C

    機能B 機能F 機能E 機能G
  18. 機能A 機能D 機能C 機能B 機能F 機能E 機能G spec: containers: -

    name: app-a-container image: nginx:1.17.8 ports: - containerPort: 80 spec: containers: - name: app-b-container image: nginx:1.17.8 ports: - containerPort: 80 spec: containers: - name: app-g-container image: nginx:1.17.8 ports: - containerPort: 80 spec: containers: - name: app-f-container image: nginx:1.17.8 ports: - containerPort: 80 spec: containers: - name: app-e-container image: nginx:1.17.8 ports: - containerPort: 80 spec: containers: - name: app-c-container image: nginx:1.17.8 ports: - containerPort: 80 spec: containers: - name: app-d-container image: nginx:1.17.8 ports: - containerPort: 80
  19. ・作られていくmicroserviceの数に追いつかない
 ・構築後の保守作業もかなりのコスト
 ・microservice開発チームの1人をインフラ構築を任せた
 自分がバックエンド開発からできる様 
 なったのでサポートがあればできるはず 


  20. ・bellfaceについて ・kubernetesの導入 ・kubernetesの運用 ・自動化 ・開発者を巻き込み始めた ・microservice ・まとめ

  21. ・2名で回していくには限界がある
 ・できる部分は自動化していく
 ・人数が少ない場合開発者と協力して取り組んでいくことが大事
 ・他のチームのやりとりにアンテナ貼っておく
 ・互いの領域に興味を持ってコミュニケーション取るのが大事
 


  22. kubernetesでエンジニア人生がとても豊かになった