Slide 1

Slide 1 text

1 AWS Graviton 環境への CI / CD パイプラインを CircleCI で実現しよう (AWS Fargate 編) CircleCI 合同会社 カスタマーエンジニアリング部 ソリューションズエンジニア 根本 征

Slide 2

Slide 2 text

2 ⾃⼰紹介 ● 名前︓根本 征 / Tadashi Nemoto ● ポジション︓Solutions Engineer ● 経歴 ○ フリマアプリ企業で Software Engineer in Test ○ AI スタートアップ企業で DevOps エンジニア

Slide 3

Slide 3 text

3 このセッションでは ● CircleCI の ARM コンピューティングサポートによる、 AWS Graviton 環境への CI/CD パイプラインの構築⽅法 をご紹介します ● OpenID Connect を使った、AWS へのセキュアな CI/CD パイプラインの構築⽅法をご紹介します ● その他、CircleCI を使った開発⽣産性の⾼い CI/CD の使い⽅についてご紹介します。

Slide 4

Slide 4 text

4 アジェンダ ● CircleCI について ● CircleCI の ARM サポート × AWS Graviton 環境への CI/CD パイプライン ● OpenID Connect による AWS へのセキュアな接続 ● CircleCI with AWS Graviton2(AWS Fargate) デモ ● まとめ

Slide 5

Slide 5 text

5 アジェンダ ● CircleCI について ● CircleCI の ARM サポート × AWS Graviton 環境への CI/CD パイプライン ● OpenID Connect による AWS へのセキュアな接続 ● CircleCI with AWS Graviton2(AWS Fargate) デモ ● まとめ

Slide 6

Slide 6 text

6 CircleCI について

Slide 7

Slide 7 text

7 CircleCIのミッションは 「世界中のだれもが、思い浮かんだア イデアをすぐにソフトウェアとして配 信できるように⽀援する」ことです

Slide 8

Slide 8 text

8 従業員数 600 ⼈以上 利⽤組織数 22万以上の組織 調達額 3億1,550万ドル 開発者ユーザー 170 万⼈以上 CircleCI の紹介 サンフランシスコ (アメリカ) デンバー(アメリカ) 東京(⽇本) トロント(カナダ) ボストン(アメリカ) ロンドン(イギリス)

Slide 9

Slide 9 text

9 ソフトウェア開発に「継続性」を取り⼊れられたお客様(⼀部)

Slide 10

Slide 10 text

10 開発 オーケストレーション 運⽤ コラボレーション ソースコード管理 + さまざまなパートナーとの インテグレーション ツールチェインにおけるCircleCIのポジション デリバリ ビルド • テスト • デリバリ 実⾏ モニタリング • 運⽤ 本番環境へのリリース コードコミット VCS⾮依存を今後サポート予定 (プレビュー)

Slide 11

Slide 11 text

11 ソフトウェアの変更を常にテストし ⾃動で本番環境にリリース可能な状態にしておく ソフトウェア開発の⼿法 CI/CD(継続的インテグレーション/継続的デリバリー)とは

Slide 12

Slide 12 text

12 Continuous Integration(継続的インテグレーション) ● コードの変更を迅速かつ安全 にマージできる ○ ビルド ○ コード解析 ○ ⾃動化されたテスト ○ 脆弱性チェック ● 効果 ○ ⼿戻りの防⽌ ○ リリース品質の向上 ○ ⻑期的なコスト削減

Slide 13

Slide 13 text

13 Continuous Delivery(継続的デリバリー) ● コードの変更を迅速かつ 安全に展開・配信する ● 効果 ○ ⼈⼿によるミスの防⽌ ○ 素早いユーザーへの 価値提供

Slide 14

Slide 14 text

14 CircleCI を選ぶべき3つの特徴 最速でデプロイできる プラットフォーム性能 競合サービスよりも ビルド〜デプロイ プロセスを素早く⾏い、 リードタイム を短縮できます 開発⽣産性を向上させる 強⼒な機能 SHHデバッグ機能など CircleCI の強⼒な機能を 活⽤して、開発⽣産性 を向上させることが できます データに基づく意思決定 を⾏えるインサイト機能 CircleCI は ⾼い可視性を 備えているため、 データを活かしてより 適切な判断ができるよう になります

Slide 15

Slide 15 text

15 最速でデプロイできるプラットフォーム性能 CircleCI なら、競合サービスよりもビルド〜デプロイ プロセスを素早く⾏い、リードタイムを短縮できます。 関連機能: ● 多種多様な実⾏環境とフリート (リソース クラスは今後さらに拡張予定) ● 同時実⾏と並列処理のスケーリング (同時実⾏数は最⼤ 80 件) により、組織の開発効率を⾼めビルド速度を向上 できる ● テスト分割によりビルド速度をさらに⾼められる 製品レベルの Web アプリを⽤いた⽐較テスト例

Slide 16

Slide 16 text

16 スピード・開発⽣産性・可視化を向上させる強⼒な機能 ● カスタムリソース ○ 最適なパフォーマンスを発揮し、 スピードを向上するリソースを選択できます (Docker, Linux, macOS, Windows など) ● テスト分割 ○ 複数のコンテナでテストを⾃動で分割し、 RSpec、Cucumber、Django、Node などの多 くのテストを実⾏できます ● SSH デバッグ ○ ビルドコンテナにSSH接続して、ログファイル、 実⾏中のプロセス、ディレクトリパスを表⽰します。 ● Insights ダッシュボード ○ 当社の豊富なデータを活かして、エンジニアリングについてよ り適切な判断ができるようになります。

Slide 17

Slide 17 text

17 CircleCI with AWS

Slide 18

Slide 18 text

18 アジェンダ ● CircleCI について ● CircleCI の ARM サポート × AWS Graviton 環境への CI/CD パイプライン ● OpenID Connect による AWS へのセキュアな接続 ● CircleCI with AWS Graviton2(AWS Fargate) デモ ● まとめ

Slide 19

Slide 19 text

19 CircleCI の ARM サポート × AWS Graviton 環境への CI/CD パイプライン

Slide 20

Slide 20 text

20 CircleCI の ARM コンピューティングサポート

Slide 21

Slide 21 text

21 CircleCI の ARM コンピューティングサポート

Slide 22

Slide 22 text

22 CircleCI の ARM コンピューティングサポート https://circleci.com/docs/ja/2.0/using-arm

Slide 23

Slide 23 text

23 CircleCI で ARM 開発を⾏うメリット ビジネスの未来につながる ARM の普及は急速に進んでいるの で、AWS Graviton プロセッサマシ ンでビルドを⾏うことにより、 次世代のデバイスに対応する準備を 整えられます。 パフォーマンスと効率を向上 AWS Graviton プロセッサなら、 消費電⼒もコストも抑えたまま パフォーマンスを⼤幅に向上 できます。 場所を問わず開発できる AWS Graviton2 などの ARM インフラストラクチャで、 開発したシステムのテストや デプロイが簡単に⾏えるように なります。

Slide 24

Slide 24 text

24 https://aws.amazon.com/jp/blogs/news/announcing-aws-graviton2-support-for- aws-fargate-get-up-to-40-better-price-performance-for-your-serverless-containers

Slide 25

Slide 25 text

25 https://aws.amazon.com/jp/blogs/news/announcing-aws-graviton2-support-for- aws-fargate-get-up-to-40-better-price-performance-for-your-serverless-containers

Slide 26

Slide 26 text

26 Amazon EC2 のコストパフォーマンスを40%向上させる AWS Graviton によるコスト最適化⼊⾨(AWS Summit 2022)

Slide 27

Slide 27 text

27 ARM コンピューティング環境で CI を実⾏可能

Slide 28

Slide 28 text

28 Amazon EC2 のコストパフォーマンスを40%向上させる AWS Graviton によるコスト最適化⼊⾨(AWS Summit 2022)

Slide 29

Slide 29 text

29 arm64 Docker イメージを簡潔にビルドすることが可能

Slide 30

Slide 30 text

30 CircleCI × AWS Graviton2 事例 AWS Gravtiton2 とCircleCI を採⽤することでコストの 50% 削減と パフォーマンス強化を両⽴できるというなら、もはや賭けではありません。 「採⽤しない理由」を探すのが⼤変です。 https://circleci.com/case-studies/honeycomb/

Slide 31

Slide 31 text

31 アジェンダ ● CircleCI について ● CircleCI の ARM サポート × AWS Graviton 環境への CI/CD パイプライン ● OpenID Connect による AWS へのセキュアな接続 ● CircleCI with AWS Graviton2(AWS Fargate) デモ ● まとめ

Slide 32

Slide 32 text

32 OpenID Connect による AWS へのセキュアな接続

Slide 33

Slide 33 text

33 これまでの AWS への認証⽅法

Slide 34

Slide 34 text

34 OpenID Connect による AWS への認証⽅法

Slide 35

Slide 35 text

35 OpenID Connect による AWS への認証⽅法

Slide 36

Slide 36 text

36 OpenID Connect による AWS への認証⽅法(CircleCI Orbs)

Slide 37

Slide 37 text

37 https://circleci.com/ja/blog/openid-connect-identity-tokens https://dev.classmethod.jp/articles/circleci- supported-oidc-so-i-tried-linking-it-with-aws/

Slide 38

Slide 38 text

38 アジェンダ ● CircleCI について ● CircleCI の ARM サポート × AWS Graviton 環境への CI/CD パイプライン ● OpenID Connect による AWS へのセキュアな接続 ● CircleCI with AWS Graviton2(AWS Fargate) デモ ● まとめ

Slide 39

Slide 39 text

39 CircleCI with AWS Graviton2 (AWS Fargate) デモ

Slide 40

Slide 40 text

40 デモの内容 ● https://github.com/tadashi0713/circleci-graviton-fargate-demo ● ARM VM 上で⾃動化されたテストの実⾏(継続的インテグレーション) ● CircleCI の ARM VM を使って、arm64 Docker イメージをビルド ● OpenID Connect を使った AWS への認証 ● arm64 Docker イメージを Amazon ECR に Push ● AWS Fargate(AWS Graviton2)の ECS タスク・サービスを更新 ● CircleCI の CI/CD における機能を紹介 ○ CircleCI Orbs、SSH デバッグ、Insights ダッシュボード

Slide 41

Slide 41 text

41 デモのアーキテクチャー

Slide 42

Slide 42 text

42 アジェンダ ● CircleCI について ● CircleCI の ARM サポート × AWS Graviton 環境への CI/CD パイプライン ● OpenID Connect による AWS へのセキュアな接続 ● CircleCI with AWS Graviton2(AWS Fargate) デモ ● まとめ

Slide 43

Slide 43 text

43 まとめ

Slide 44

Slide 44 text

44 このセッションのまとめ ● CircleCI の ARM コンピューティングサポートにより、 AWS Graviton 環境への CI/CD パイプラインを 簡潔に作成することが可能 ● OpenID Connect を使うことによって、 AWS への CI/CD パイプラインをセキュアにすることが可能 ● CircleCI の機能を活⽤して、CI/CD における スピード・⽣産性を向上することが可能 ○ CircleCI Orbs、SSH デバッグ、Insights ダッシュボード

Slide 45

Slide 45 text

45 Thank you!