Slide 1

Slide 1 text

PipeCDで GitOpsやってみよう! Kenta Kozuka

Slide 2

Slide 2 text

@kentakozuka @kenta_kozuka CyberAgent PipeCD maintainer #DevOps, #DeveloperProductivity About me

Slide 3

Slide 3 text

3 GitOpsとは?

Slide 4

Slide 4 text

4

Slide 5

Slide 5 text

基本的なCI/CDの役割

Slide 6

Slide 6 text

gitops 6

Slide 7

Slide 7 text

GitOpsはCDの1つの手法

Slide 8

Slide 8 text

GitOpsのメリット ● 直接環境にアクセスしなくてよい ● 全ての構成変更はGit(PR)を通して行われる ● 今Gitで確認できる構成 == 今動いている構成 ○ Giterminism: What you Git is what you get! (werf) ● 全ての変更は追跡可能

Slide 9

Slide 9 text

9 PipeCDで GitOps やってみよう

Slide 10

Slide 10 text

10

Slide 11

Slide 11 text

PipeCD ● GitOpsスタイルのCD ● k8sだけでなくECS, Lambda, Cloud Run, Terraformなどを統一 したUXで管理できる

Slide 12

Slide 12 text

PipeCD

Slide 13

Slide 13 text

シンプルなUIと可視性 UIはアプリケーションの状態をリアルタイムで可視化し、 どのタイミングで何が発生したかが明示される

Slide 14

Slide 14 text

マルチクラウド & マルチテナント 様々なプラットフォーム、アプリケーション、テレメトリーに対応 マルチクラスタ・テナンシーでの運用が可能

Slide 15

Slide 15 text

Kubernetesエコシステムとのインテグレーション

Slide 16

Slide 16 text

高度な自動化 エラーレートに基づく 自動ロールバック 構成変更の自動検知

Slide 17

Slide 17 text

Control Plane & Agentモデル デプロイはクラスタに配置するpipedにより行われ、 アプリケーションのクレデンシャルが外部に漏れることがない

Slide 18

Slide 18 text

DevOps指標の可視化

Slide 19

Slide 19 text

Plan Preview

Slide 20

Slide 20 text

セキュリティ ● ビルトインのシークレット管理 ● RBAC ● SSO

Slide 21

Slide 21 text

EventWatcher UPDATE

Slide 22

Slide 22 text

22 実際に見てみよう! pipecd.dev

Slide 23

Slide 23 text

23 プログレッシブデリバリー もやってみよう

Slide 24

Slide 24 text

プログレッシブデリバリー ● 機能を段階的に公開していく ● ユーザーへの影響を細かく制御する ● 全てのプロセスを自動化 commit rollout analyze release deploy rollback

Slide 25

Slide 25 text

プログレッシブデリバリーのプロセス ● トラフィック制御(カナリアデプロイメント) ● 分析(カナリア分析) ● 自動化されたロールバック

Slide 26

Slide 26 text

分析 ● モニタリングシステムからメトリクス(ログ)を取得 ● 悪い状態を自動で検出する

Slide 27

Slide 27 text

27 PipeCDで どのように行うか

Slide 28

Slide 28 text

28 ADA

Slide 29

Slide 29 text

ADA ● Automated Deployment Analysis (ADA) という機能が分析を担う ● ユーザーのモニタリングシステムからメトリクスを取得 ● パイプラインの1つのステージとして設定に追加するだけ ● 追加コンポーネントは不要

Slide 30

Slide 30 text

ADAの有効化 ● Automated Deployment Analysis (ADA) という機能が分析を担う ● ユーザーのモニタリングシステムからメトリクスを取得 ● 追加コンポーネントは不要 ● パイプラインの1つのステージとして設定に追加するだけ

Slide 31

Slide 31 text

Configuration

Slide 32

Slide 32 text

Configuration ANALYSIS ステージへ →

Slide 33

Slide 33 text

Static Rules

Slide 34

Slide 34 text

Analysis

Slide 35

Slide 35 text

Analysis Template リポジトリ共通のADA設定をテンプレート化できる

Slide 36

Slide 36 text

Supported providers ● Prometheus ● Datadog Incubating ● CloudWatch ● NewRelic ● Google Cloud Monitoring 36

Slide 37

Slide 37 text

Deployment chain

Slide 38

Slide 38 text

Deployment chain 38 dev stg prd asia us europe

Slide 39

Slide 39 text

今やっていること

Slide 40

Slide 40 text

Custom Sync 40

Slide 41

Slide 41 text

pipe-cd/pipe @pipecd_dev https://pipecd.dev/ We always welcome your contributions!

Slide 42

Slide 42 text

CNCF Sandboxになりました!

Slide 43

Slide 43 text

さいごに Developer Productivity室では全方位でエンジニア募集中! #PipeCD #DevOps #開発生産性 #PipeCDのステッカー に興味があれば、 「Developer Productivity室」で検索か、 @kenta_kozukaまでDMください🙋

Slide 44

Slide 44 text

参考 ● https://opengitops.dev/ ● https://www.weave.works/blog/gitops-operations-by-pull-request 44