O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
Concourseで快適な
自動化の旅
KAZUTO KUSAMA
@jacopen
Solutions Architect @
https://cloudnativedays.jp/cndt2019/
知ってる人?
会場で質問してみました。大体半分くらいの人が手を上げ
てくれました。
ただ、今回はConcourse知らない人、名前だけ知ってる
人向けのスライドになってます。
DEMO
これがConcourseのWeb UIです。ごちゃごちゃしたメ
ニューは無く、稼働しているパイプラインが分かりやすく表
示されています。
パイプラインをクリックすると、その詳細が表示されます。
これまたシンプルな画面ですね。このパイプラインはGitリ
ポジトリをチェックしているので、変更をpushしてみます。
すると、自動でユニットテストが回り始めました。
ユニットテストが通ると、Cloud Foundryへのデプロイ
と、Dockerイメージ作成⇒Kubernetesにデプロイという
処理が並行で走るようになってます。
よくある、CIの後CDすると...
Concourseの特徴
Simple
Concourseの特徴として、まずシンプルであるという点が
挙げられます。
UIだけでなく、その設計思想に至るまでSimple is best
を突き詰めています。
Scalable
デモでは触れなかったのですが、スケーラブルな設計に
なっています。パイプラインが数百になろうとも、worker
の追加で対応できます。
Pipeline
そしてなにより、パイプライン。
最近はパイプラインを取り入れるCIツールが増え
てきましたが、Concourseは生まれたときから
パイプライン第一の設計です。
YAML
最近増えてきてますが、パイプラインはYAMLで
定義します。
コードで定義することで再利用性が高まるし、レ
ビューしやすいのです。
元々はCFの開発向けに作られたもの
複数のコンポーネントから成るアーキテクチャ
PaaSであるCloud Foundryは、複数のコンポーネントからな
る大規模なシステムです。
Buildpackによる複数の言語・FWサポート
PaaSとして、複数の言語やフレームワークを
動かすことができます。
BOSHによるIaaSの運用自動化
そしてCFそのものを構築するため
に、BOSHというライフサイクルマ
ネジメントのツールを使っていま
す。
このBOSHは、
AWS/Azure/GCP/vSphere/O
penStackなど様々なIaaS...
複数の
コンポーネント
複数の
言語・フレームワー
クサポート
複数の
IaaSサポート
⇒これらの組み合わせのテストをするとなると・・・
このプラットフォームをテストするとなると、まあ大変
だってのが分かりますよね
Why Concourse
● かつて、これほどの規模のCIを回していけるツールは無かった
● なので作った
● Cloud Foundryのような超大規模なプラットフォームを
作っていくために必須だったこと
○ パイプライン
○ YAMLでの...
実際にCFの開発で動いているパイプラインの一例
です。すっごい
Cloud Foundryに限らず汎用的に使えます
よく勘違いされますが、何にでも使えます。
リソース リソース リソース リソース
ジョブ
ジョブ
ジョブ
git git git k8s
Docker
image
PaaS
Gitから持ってきて
ユニットテスト
Gitから持ってきて
Cloud Foundryにデプロイ
Gitから持ってきて
イメージをビルド
GitからManifestを持っ
てきて
編集して
Kubernetesにapply
余談ですけど、Concourseのコンポーネントは
ATC(航空管制)とかTSA(運輸保安庁)とか、空港に
関わる名称が使われてます。
はじめようConcourse
Concourse Tutorial
How to
Install
Docker Compose
$ wget https://concourse-ci.org/docker-compose.yml
$ docker-compose up -d
一番かんたん
How to
Install
BOSH
Helmのstable/concourseにChartあり
Kubernetes
Standalone
本気で運用するなら
公式サイトのドキュメント参照
CLI fly
$ fly -t ci pipelines
name paused public
build-image no no
k8s-pipeline no no
blinker-ci yes no
lego-image-build no...
活用しようConcourse
DEMO
アプリ開発におけるCI/CD・・・だけでなく
TerraformでAzureの
プロビジョニング
OpsManagerの
初期設定
BOSH Directorの
設定 Pivotal Application
Serviceの設定
デプロイ
Pivotal Application Servi...
Pivotal Application Serviceの新バージョンがあるか
Pivotal Networkをチェックし、あれば自動で適用するパ
イプライン
https://github.com/pivotal-cf/pcf-pipelines...
Pivotal Application Serviceのバックアップを取り、S3
に保存するパイプライン
https://github.com/pivotal-cf/bbr-pcf-pipeline-tasks
Let’s Encryptで証明書を発行した後、pfx形式に変換、そし
てAzure Application Gatewayに適用するパイプライン。
これで3ヶ月に1回の更新作業も自動です。
https://github.com/jacopen...
NSX-Tのインストールも自動化
VMwareが配布している、NSX-Tのインストールを自動化す
るパイプライン
https://github.com/vmware/nsx-t-datacenter-ci-pipelines
そういえば技術書典6でこんな本出したんですが
BOOTHで電子版好評発売中!
https://showks.booth.pm/items/1318454
複数人執筆でもConcourse大活躍
原稿をGitHubにpushすると
PDFとePubが生成され
Slackに通知がくる
この自動化がなければ、共同執筆は無理で
した。CI重要なのはソフトウェア開発と一緒
ですね
そういえばこんなのがバズってました
https://github.com/greymd/ojichat
登壇した当日、こんなジェネレータが
Twitterでバズっていました。
ミートアップの休み時間に見つけて爆笑して
たんですが、これConco...
さくさくっとdocker buildして・・・
(タイムスタンプがミートアップの休み時間なのに注目)
さくさくっとyaml用意すると
おじさんがLINEやメールで送ってきそうな文がSlackに
送られてくる地獄のようなパイプラインが出来ました。
作るのにかかった時間は僅か数分。
Concourseによる『自動化の旅』とは
● 開発者にとって ”普通に使える” CIツール
● でも、開発だけでなく運用にも積極的に使うべき!
○ Toilを無くす便利ツールとして使える
○ Concourse自体の習得は簡単。むしろ活用のた...
Have a safe flight!
Concourseで快適な自動化の旅
Próximos SlideShares
Carregando em…5
×

Concourseで快適な自動化の旅

1.484 visualizações

Publicada em

Rancher Meetup Tokyo #19で発表した資料です。
Concourseの紹介と活用例についてお話しました。

Publicada em: Tecnologia
  • Seja o primeiro a comentar

Concourseで快適な自動化の旅

  1. 1. Concourseで快適な 自動化の旅
  2. 2. KAZUTO KUSAMA @jacopen Solutions Architect @
  3. 3. https://cloudnativedays.jp/cndt2019/
  4. 4. 知ってる人? 会場で質問してみました。大体半分くらいの人が手を上げ てくれました。 ただ、今回はConcourse知らない人、名前だけ知ってる 人向けのスライドになってます。
  5. 5. DEMO
  6. 6. これがConcourseのWeb UIです。ごちゃごちゃしたメ ニューは無く、稼働しているパイプラインが分かりやすく表 示されています。
  7. 7. パイプラインをクリックすると、その詳細が表示されます。 これまたシンプルな画面ですね。このパイプラインはGitリ ポジトリをチェックしているので、変更をpushしてみます。
  8. 8. すると、自動でユニットテストが回り始めました。 ユニットテストが通ると、Cloud Foundryへのデプロイ と、Dockerイメージ作成⇒Kubernetesにデプロイという 処理が並行で走るようになってます。 よくある、CIの後CDするというデモでした。
  9. 9. Concourseの特徴
  10. 10. Simple Concourseの特徴として、まずシンプルであるという点が 挙げられます。 UIだけでなく、その設計思想に至るまでSimple is best を突き詰めています。
  11. 11. Scalable デモでは触れなかったのですが、スケーラブルな設計に なっています。パイプラインが数百になろうとも、worker の追加で対応できます。
  12. 12. Pipeline そしてなにより、パイプライン。 最近はパイプラインを取り入れるCIツールが増え てきましたが、Concourseは生まれたときから パイプライン第一の設計です。
  13. 13. YAML 最近増えてきてますが、パイプラインはYAMLで 定義します。 コードで定義することで再利用性が高まるし、レ ビューしやすいのです。
  14. 14. 元々はCFの開発向けに作られたもの
  15. 15. 複数のコンポーネントから成るアーキテクチャ PaaSであるCloud Foundryは、複数のコンポーネントからな る大規模なシステムです。
  16. 16. Buildpackによる複数の言語・FWサポート PaaSとして、複数の言語やフレームワークを 動かすことができます。
  17. 17. BOSHによるIaaSの運用自動化 そしてCFそのものを構築するため に、BOSHというライフサイクルマ ネジメントのツールを使っていま す。 このBOSHは、 AWS/Azure/GCP/vSphere/O penStackなど様々なIaaSの自動 化ができる強力なツールです。
  18. 18. 複数の コンポーネント 複数の 言語・フレームワー クサポート 複数の IaaSサポート ⇒これらの組み合わせのテストをするとなると・・・ このプラットフォームをテストするとなると、まあ大変 だってのが分かりますよね
  19. 19. Why Concourse ● かつて、これほどの規模のCIを回していけるツールは無かった ● なので作った ● Cloud Foundryのような超大規模なプラットフォームを 作っていくために必須だったこと ○ パイプライン ○ YAMLでの記述 ■ 再利用性を高められる ○ 視認性の高いシンプルな UI
  20. 20. 実際にCFの開発で動いているパイプラインの一例 です。すっごい
  21. 21. Cloud Foundryに限らず汎用的に使えます よく勘違いされますが、何にでも使えます。
  22. 22. リソース リソース リソース リソース ジョブ ジョブ ジョブ
  23. 23. git git git k8s Docker image PaaS
  24. 24. Gitから持ってきて ユニットテスト Gitから持ってきて Cloud Foundryにデプロイ Gitから持ってきて イメージをビルド GitからManifestを持っ てきて 編集して Kubernetesにapply
  25. 25. 余談ですけど、Concourseのコンポーネントは ATC(航空管制)とかTSA(運輸保安庁)とか、空港に 関わる名称が使われてます。
  26. 26. はじめようConcourse
  27. 27. Concourse Tutorial
  28. 28. How to Install Docker Compose $ wget https://concourse-ci.org/docker-compose.yml $ docker-compose up -d 一番かんたん
  29. 29. How to Install BOSH Helmのstable/concourseにChartあり Kubernetes Standalone 本気で運用するなら 公式サイトのドキュメント参照
  30. 30. CLI fly $ fly -t ci pipelines name paused public build-image no no k8s-pipeline no no blinker-ci yes no lego-image-build no no azure-ag-autoupdate no no setup-azure no no test-pipeline no no combined-pipeline no no nsxt yes no ConcourseのUIから ダウンロード可能
  31. 31. 活用しようConcourse
  32. 32. DEMO
  33. 33. アプリ開発におけるCI/CD・・・だけでなく
  34. 34. TerraformでAzureの プロビジョニング OpsManagerの 初期設定 BOSH Directorの 設定 Pivotal Application Serviceの設定 デプロイ Pivotal Application Serviceのデプロイ自動化。IaaSプロビジョニン グからPASのコンフィグ、デプロイまで全部やっちゃいます。 https://github.com/making/pas-pipeline-azure
  35. 35. Pivotal Application Serviceの新バージョンがあるか Pivotal Networkをチェックし、あれば自動で適用するパ イプライン https://github.com/pivotal-cf/pcf-pipelines (※注: 現在はdeprecated)
  36. 36. Pivotal Application Serviceのバックアップを取り、S3 に保存するパイプライン https://github.com/pivotal-cf/bbr-pcf-pipeline-tasks
  37. 37. Let’s Encryptで証明書を発行した後、pfx形式に変換、そし てAzure Application Gatewayに適用するパイプライン。 これで3ヶ月に1回の更新作業も自動です。 https://github.com/jacopen/azure-ag-autoupdate
  38. 38. NSX-Tのインストールも自動化 VMwareが配布している、NSX-Tのインストールを自動化す るパイプライン https://github.com/vmware/nsx-t-datacenter-ci-pipelines
  39. 39. そういえば技術書典6でこんな本出したんですが BOOTHで電子版好評発売中! https://showks.booth.pm/items/1318454
  40. 40. 複数人執筆でもConcourse大活躍
  41. 41. 原稿をGitHubにpushすると PDFとePubが生成され Slackに通知がくる この自動化がなければ、共同執筆は無理で した。CI重要なのはソフトウェア開発と一緒 ですね
  42. 42. そういえばこんなのがバズってました https://github.com/greymd/ojichat 登壇した当日、こんなジェネレータが Twitterでバズっていました。 ミートアップの休み時間に見つけて爆笑して たんですが、これConcourseで動かせるん じゃね?と
  43. 43. さくさくっとdocker buildして・・・ (タイムスタンプがミートアップの休み時間なのに注目)
  44. 44. さくさくっとyaml用意すると
  45. 45. おじさんがLINEやメールで送ってきそうな文がSlackに 送られてくる地獄のようなパイプラインが出来ました。 作るのにかかった時間は僅か数分。
  46. 46. Concourseによる『自動化の旅』とは ● 開発者にとって ”普通に使える” CIツール ● でも、開発だけでなく運用にも積極的に使うべき! ○ Toilを無くす便利ツールとして使える ○ Concourse自体の習得は簡単。むしろ活用のためには シェル力のほうが必要かも ● みんな自動化して快適に仕事しよう
  47. 47. Have a safe flight!

×