Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Go_SaaS CircleCI

Go_SaaS CircleCI

Noboru Kurumai

September 20, 2019
Tweet

More Decks by Noboru Kurumai

Other Decks in Programming

Transcript

  1. 1
    SaaSビジネスに必須の
    CI/CD
    2019.09.20
    Solutions Engineer, CircleCI
    車井 登
    Go_SaaS 三種の神器

    View full-size slide

  2. 3
    自己紹介
    名前:車井 登 / Noboru Kurumai
    ポジション:Solutions Engineer
    経歴:パッケージソフト開発
       クラウドサービスエンジニア

    View full-size slide

  3. 4
    DevOpsの歴史
    2001
    Agile Software Development
    開発対象を厳格に扱うことで変化を管理するの
    ではなく、アジャイル方法論は変化を許容する。
    リスクは完璧な計画によって減少できるもので
    はなく、プロジェクトを小さく分割しつつ、それら
    を素早く結合させることによって減らすことがで
    きる。
    2008
    Continuous Delivery & Deployment
    継続的デリバリーは継続的インテグレーションの拡張として登場。
    ソフトウェアが常にデプロイ可能な状態を保つというプラクティスで
    ある。
    責務(とリスク)を開発者と運用者の間で共有すること - DevOpsカ
    ルチャーの登場。
    チームはテストの自動化だけではなく、テストをパスした際のデプ
    ロイの自動化を目指す。
    1970
    Waterfall
    開発プロセス全体がいくつかのフェーズから構成
    されていて、次のフェーズに進むためには前の
    フェーズを終えていなければならない。
    ただし、隣接するフェーズ間の小さなイテレーショ
    ンは例外的に実施する場合がある。
    (ハードウェアの開発方法論に似ている)
    1994
    Automated Testing & Continuous Integration (Inception & Evolution: 1994-2008)
    開発者は、失敗をより快適なものとして捉え、それが受け入れられないものではなく、む
    しろ自信をつけるものになってきた。 JUnitやCucumberなどのテスティングフレームワー
    クの登場がそれを反映している。
    マイクロプロセスの要求によって登場した継続的インテグレーション (CI)は、開発者が数
    多くの内部リリースを行うことを可能にした。
    すなわち、継続的インテグレーションは常に少量のコードをマージするための方法論で
    あり、開発の最終フェーズで競合を発生させるような巨大なコードのコミットを防ぐ
    2010 - Present

    View full-size slide

  4. 5
    DevOpsの歴史
    2001
    Agile Software Development
    開発対象を厳格に扱うことで変化を管理するの
    ではなく、アジャイル方法論は変化を許容する。
    リスクは完璧な計画によって減少できるもので
    はなく、プロジェクトを小さく分割しつつ、それら
    を素早く結合させることによって減らすことがで
    きる。
    2008
    Continuous Delivery & Deployment
    継続的デリバリーは継続的インテグレーションの拡張として登場。
    ソフトウェアが常にデプロイ可能な状態を保つというプラクティスで
    ある。
    責務(とリスク)を開発者と運用者の間で共有すること - DevOpsカ
    ルチャーの登場。
    チームはテストの自動化だけではなく、テストをパスした際のデプ
    ロイの自動化を目指す。
    1970
    Waterfall
    開発プロセス全体がいくつかのフェーズから構成
    されていて、次のフェーズに進むためには前の
    フェーズを終えていなければならない。
    ただし、隣接するフェーズ間の小さなイテレーショ
    ンは例外的に実施する場合がある。
    (ハードウェアの開発方法論に似ている)
    1994
    Automated Testing & Continuous Integration (Inception & Evolution: 1994-2008)
    開発者は、失敗をより快適なものとして捉え、それが受け入れられないものではなく、む
    しろ自信をつけるものになってきた。 JUnitやCucumberなどのテスティングフレームワー
    クの登場がそれを反映している。
    マイクロプロセスの要求によって登場した継続的インテグレーション (CI)は、開発者が数
    多くの内部リリースを行うことを可能にした。
    すなわち、継続的インテグレーションは常に少量のコードをマージするための方法論で
    あり、開発の最終フェーズで競合を発生させるような巨大なコードのコミットを防ぐ
    2010 - Present
    ←50年前!

    View full-size slide

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

    View full-size slide

  6. 7
    DevOps と CI/CD
    DevOps
    CI/CD

    View full-size slide

  7. 8
    なぜ DevOps と CI/CD が重要なのか
    こんなことありませんか?
    ● 機能追加のリリースは半年に1回
    ● 追加する機能を決めてから実装までに半年
    ● システム変更時に障害が起こることが多い
    ● 人的ミスが要因の障害が多い
    ● 障害が起きてもすぐに修正できない。その間、サービス停止。

    View full-size slide

  8. 9
    なぜ DevOps と CI/CD が重要なのか
    Source: 2018 State of DevOps Report
    コードをデプロイする
    頻度
    コードコミットから
    デプロイまでのスピード
    変更時の
    トラブル
    インシデントの
    リカバリータイム
    マーケットの声を素早く
    反映し、サービスを修正
    アイデアからリリースまでのス
    ピードが飛躍的に向上競合
    優位性を保つ
    変更に起因する
    トラブルを削減
    障害が起きても
    素早く解決

    View full-size slide

  9. 10
    なぜ DevOps と CI/CD が重要なのか
    Source: 2018 State of DevOps Report
    46 倍
    多い
    2,555 倍
    速い
    7 倍
    少ない
    2,604 倍
    速い
    コードをデプロイする
    頻度
    コードコミットから
    デプロイまでのスピード
    変更時の
    トラブル
    インシデントの
    リカバリータイム

    View full-size slide

  10. 11
    なぜ DevOps と CI/CD が重要なのか
    Source: 2018 State of DevOps Report
    毎日、何度も 即時にリリース トラブル減少 すぐにリカバリー
    コードをデプロイする
    頻度
    コードコミットから
    デプロイまでのスピード
    変更時の
    トラブル
    インシデントの
    リカバリータイム

    View full-size slide

  11. CircleCI
    ● 世界最大規模のクラウド CI/CD サービス (継続的インテグレーション/継続的デリバリー )
    ● より良いコードをより速く、簡単にリリースすることを可能に
    ● 2011年設立、サンフランシスコ本社
    ● 250人以上の社員、5大陸に在籍
    ● 18年1月 3,100万ドルのシリーズCを実施、合計5,950万ドルを調達
    Representative Customers

    View full-size slide

  12. 13
    CircleCIの利用実績

    View full-size slide

  13. 14
    SaaS企業など、多くのユーザーが利用

    View full-size slide

  14. 15
    コード変更からリリースまでのすべてを自動化
    Continuous
    Delivery
    コード変更
    コラボレーション
    ビルド
    テスト
    リリース
    実行環境
    CircleCIは、
    CI/CD (継続的インテグレーション/継
    続的デリバリー) サービスを提供
    Cloud On-premise

    View full-size slide

  15. 16
    CI/CD を使っていても
    こんなことありませんか?
    ● CI/CD 環境の維持に、専任の管理・運用者が複数在籍
    ● インフラの利用・変更依頼に時間がかかり、その間、開発が止まる
    ● 社内の知らないところに、CI/CD環境が構築されてしまっている
    ● 開発時にエンジニアの待ち時間が多い

    View full-size slide

  16. 17
    CircleCI ユーザーの声
    ビルド時間を 75% 削減
    「インフラのことを気にする必要がなくなったため、価値の高いことに集
    中することができた。それが CircleCI を利用開始して得ることができた
    大きな恩恵の1つだ。」
    Eric Nakagawa, Head of Open Source at Facebook
    メンテナンス時間を 50% 削減
    Developer のスループットが 20% 向上
    「弊社の一番重要な資産の1つは優秀なエンジニアです。遅くて使いに
    くいツールを提供するのではなく、セルフサービスのワークフローを提
    供して、エンジニアの好きな方法で、好きな時間にそれらを利用可能
    にすることを決めました。それが、私達が CircleCI へ移行した理由で
    す。」
    Rob Witoff Former Director at Coinbase
    コストを 40% 削減
    ビルド時間を 75% 削減
    「CircleCIはテストをシンプルにしてくれます。今まで利用したどの CI
    ツールよりも簡単です。SSHを利用してテストを走らせたときに、
    CircleCI 内のコンテナに簡単に入ることができるのが気に入ってます。
    この機能は、テストのデバッグをする時にとても助かっています。」
    Steve Persch at Agency and Community Engineer at Pantheon

    View full-size slide

  17. 18
    Jenkinsからの移行
    CircleCIでは、
    ● 自前サーバーの購入、インストール、設定、運
    用が不要
    ● 各サーバーに対するセキュリティ対策が不要
    ● ビルド毎に環境を構築するので、いつでもクリー
    ンビルドが可能
    ● 大量のプラグイン管理が不要
    ● 設定ベースの機能追加で3rdベンダーツールと
    連携可能(Orbs)
    ● YAML形式で設定するため学習コストが低い

    View full-size slide

  18. 19
    CircleCI 機能や特徴
    ● 運用チームや自社環境の構築が不要(オンプレ版は必要)
    ● .circleci/config.ymlでテスト環境の統一
    ● Dockerサポートにより、高速にビルド環境を立上げ
    ● SSHデバッグ機能でビルドエラーの迅速な解決
    ● パラレルジョブ・マルチコンテナでキュー(待ち時間)を解消
    ● 複数のキャッシュ機能でビルドを高速化
    ● パイプラインでジョブを連結
    ● Orbs (config のパッケージ) を使って、簡単にビルド・テスト・デプロイが可能

    View full-size slide

  19. 20
    2018年6月 CircleCI Japan誕生

    View full-size slide

  20. 21
    CircleCIが日本に進出した理由
    Support + Community
    日本時間 + 日本語
    日本現地での対応
    ユーザーフィードバック
    ユーザーエンゲージメントとコ
    ミュニティミートアップ
    Hiring
    ワールドクラスのエンジニア
    日本 + グローバルチーム
    Localization
    ドキュメント
    テクニカル Q&A
    製品情報

    View full-size slide

  21. 22
    日本のコミュニティとマーケットをサポート
    日本語
    サポート
    日本語
    ドキュメント
    日本語
    製品紹介
    ユーザー
    コミュニティ

    View full-size slide

  22. 23
    料金プラン
    ● 2,500クレジット/週までは無料
    で利用が可能
    ぜひお試し下さい!

    View full-size slide

  23. 24
    CircleCIウェビナーのご案内
    10月4日(金)に「はじめてのCircleCI
    ウェビナー」を開催いたします。是非
    ご参加ください。
    https://circleci.connpass.com/event/146152/
    本会場内にもスタッフがいますの
    で、ご不明な点は何でも気軽にお
    声がけください!!

    View full-size slide

  24. 25
    CircleCIユーザコミュニティーイベント
    10月1日(火)に「ユーザコミュニティ
    ミートアップ」を開催いたします。
    https://circleci.connpass.com/event/147712/
    本会場内にもスタッフがいますの
    で、ご不明な点は何でも気軽にお
    声がけください!!

    View full-size slide

  25. 26
    CircleCI ユーザーコミュニティー
    @CircleCIJapan
    https://www.facebook.com/grou
    ps/2180735222207131/

    View full-size slide

  26. Thank you.
    27

    View full-size slide