Slide 1

Slide 1 text

Continuous Delivery for Declarative Kubernetes, Serverless and Infrastructure Applications Developer Productivity Div, CyberAgent, Inc. Presents

Slide 2

Slide 2 text

Continuous Delivery(CD)は何故重要か? 2 Commit Changes Build Test Staging Production 継続的インテグレーション(CI) 継続的デリバリー(CD) CD リリースの完全自動化 開発者体験の向上 迅速なリリース 優れたデリバリプロセスにより もたらされるもの

Slide 3

Slide 3 text

CDの成熟度 3 ● デプロイが十分に手順化されていない ● デプロイが手動で行われている Crawl 這う ● デプロイが手順化されている ● スクリプトやUIにより、簡単にデプロイできる Walk 歩く ● デプロイデータがVersioningされている ● Sensitive Dataが秘匿化されている ● パイプラインが整備され、一連のデリバリプロ セスが完全に自動化されている Run 走る ● より安全にデプロイできる ● 迅速なロールバックができる ● デプロイのモニタリング、分析ができる Fly 飛ぶ CDの習熟が高まれば、より開発者は本質に集中でき、リリースのリスクも小さくできる

Slide 4

Slide 4 text

CDの成熟がもたらす効果 4 従来型の リリースサイクル Coding Build/Delivery QA/Test Production/Verify 洗練された リリースサイクル デリバリ時間だけではなく、リリースプロセス全般の効率化が期待できる リードタイムの短さと、リリース回数がソフトウェア開発の競争力のひとつ

Slide 5

Slide 5 text

より洗練されたデリバリプロセスが必要 ● 複雑化するアーキテクチャに対応できる柔軟性 ○ コンテナオーケストレーション、Service Mesh ○ サーバレスアーキテクチャ ● リリース安全性 ○ Approve ○ Canary Release, Blue-Green Deployment, etc... ● セキュア ○ ユーザーが管理するネットワーク内で完結するCD ○ 秘匿性 ● 低コスト ○ シンプルな概念やUIがもたらす低い学習コスト ○ 安価なランニングコスト 5

Slide 6

Slide 6 text

6

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

Self-hosted Runnerモデル 9 デプロイはクラスタに配置するpipedにより行われ、 アプリケーションのクレデンシャルが外部に漏れることがない メンテナンス性にも優れており、安価に運用が可能

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

今後対応予定のデプロイメント種別 12 Cloud Run AWS Lambda [Alpha] [Alpha] [Incubating] Beta: ドキュメント化されて利用可能 Alpha: デモ・動作可能だが、下位互換性は保証しない Incubating: プロトタイプ計画・開発中でまだ利用できない Amazon Elastic Container Service(ECS) [Incubating] [Incubating] ※2020/10/06 時点の開発状況です 最新の状態は Feature Status をご覧下さい

Slide 13

Slide 13 text

Control Planeのコア機能 ● [Beta] Web UIでのDeploymentのSyncやCancel ● SSO ○ [Beta] GitHub & GitHub Enterprise SSO ○ [Incubating] Google, BitBucket ● Control Planeのセルフホスティング ○ [Beta] GCPベース(GKE + Firestore + GCS) ○ [Incubating] AWSベース(EKS + DynamoDB + S3) ○ [Alpha] カスタム環境(カスタムk8sクラスタ + MongoDB+ MinIO etc) ● 通知 ○ [Beta] Slack ○ [Incubating] Webhook ● [Incubating] ImageWatcher 13 Beta: ドキュメント化されて利用可能 Alpha: デモ・動作可能だが、下位互換性は保証しない Incubating: プロトタイプ計画・開発中でまだ利用できない ※2020/10/06 時点の開発状況です 最新の状態は Feature Status をご覧下さい

Slide 14

Slide 14 text

すぐに体験できます 14 https://pipecd.dev/docs/quickstart/ ※CAグループの方は社内にマネージド環境を用意しているの で、クイックスタートの構築も不要です

Slide 15

Slide 15 text

pipe-cd/pipe @pipecd_dev 15 https://pipecd.dev/