Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

name: “大平 譲”
 company: “bellFace inc.”
 job: “software engineer”
 twitter: “@joe_yuzupi”
 info: “エンジニアリングより野球が得意” 自己紹介

Slide 3

Slide 3 text

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


Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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


Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

機能A 機能B 機能D 機能C 機能D 機能E レガシー
 機能A 機能B 機能C リプレイス


Slide 17

Slide 17 text

機能A 機能B 機能D 機能C 機能D 機能E レガシー
 機能A 機能D 機能C 機能B 機能F 機能E 機能G

Slide 18

Slide 18 text

機能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

Slide 19

Slide 19 text

・作られていくmicroserviceの数に追いつかない
 ・構築後の保守作業もかなりのコスト
 ・microservice開発チームの1人をインフラ構築を任せた
 自分がバックエンド開発からできる様 
 なったのでサポートがあればできるはず 


Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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


Slide 22

Slide 22 text

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