Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥

Go_SaaS CircleCI

Go_SaaS CircleCI

Avatar for Noboru Kurumai

Noboru Kurumai

September 20, 2019
Tweet

More Decks by Noboru Kurumai

Other Decks in Programming

Transcript

  1. 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
  2. 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幎前
  3. 8 なぜ DevOps ず CI/CD が重芁なのか こんなこずありたせんか • 機胜远加のリリヌスは半幎に1回 •

    远加する機胜を決めおから実装たでに半幎 • システム倉曎時に障害が起こるこずが倚い • 人的ミスが芁因の障害が倚い • 障害が起きおもすぐに修正できない。その間、サヌビス停止。
  4. 9 なぜ DevOps ず CI/CD が重芁なのか Source: 2018 State of

    DevOps Report コヌドをデプロむする 頻床 コヌドコミットから デプロむたでのスピヌド 倉曎時の トラブル むンシデントの リカバリヌタむム マヌケットの声を玠早く 反映し、サヌビスを修正 アむデアからリリヌスたでのス ピヌドが飛躍的に向䞊競合 優䜍性を保぀ 倉曎に起因する トラブルを削枛 障害が起きおも 玠早く解決
  5. 10 なぜ DevOps ず CI/CD が重芁なのか Source: 2018 State of

    DevOps Report 46 倍 倚い 2,555 倍 速い 7 倍 少ない 2,604 倍 速い コヌドをデプロむする 頻床 コヌドコミットから デプロむたでのスピヌド 倉曎時の トラブル むンシデントの リカバリヌタむム
  6. 11 なぜ DevOps ず CI/CD が重芁なのか Source: 2018 State of

    DevOps Report 毎日、䜕床も 即時にリリヌス トラブル枛少 すぐにリカバリヌ コヌドをデプロむする 頻床 コヌドコミットから デプロむたでのスピヌド 倉曎時の トラブル むンシデントの リカバリヌタむム
  7. CircleCI • 䞖界最倧芏暡のクラりド CI/CD サヌビス (継続的むンテグレヌション継続的デリバリヌ ) • より良いコヌドをより速く、簡単にリリヌスするこずを可胜に •

    2011幎蚭立、サンフランシスコ本瀟 • 250人以䞊の瀟員、5倧陞に圚籍 • 18幎1月 3,100䞇ドルのシリヌズCを実斜、合蚈5,950䞇ドルを調達 Representative Customers
  8. 15 コヌド倉曎からリリヌスたでのすべおを自動化 Continuous Delivery コヌド倉曎 コラボレヌション ビルド テスト リリヌス 実行環境

    CircleCIは、 CI/CD (継続的むンテグレヌション継 続的デリバリヌ) サヌビスを提䟛 Cloud On-premise
  9. 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
  10. 18 Jenkinsからの移行 CircleCIでは、 • 自前サヌバヌの賌入、むンストヌル、蚭定、運 甚が䞍芁 • 各サヌバヌに察するセキュリティ察策が䞍芁 • ビルド毎に環境を構築するので、い぀でもクリヌ

    ンビルドが可胜 • 倧量のプラグむン管理が䞍芁 • 蚭定ベヌスの機胜远加で3rdベンダヌツヌルず 連携可胜Orbs • YAML圢匏で蚭定するため孊習コストが䜎い
  11. 19 CircleCI 機胜や特城 • 運甚チヌムや自瀟環境の構築が䞍芁オンプレ版は必芁 • .circleci/config.ymlでテスト環境の統䞀 • Dockerサポヌトにより、高速にビルド環境を立䞊げ •

    SSHデバッグ機胜でビルド゚ラヌの迅速な解決 • パラレルゞョブ・マルチコンテナでキュヌ埅ち時間を解消 • 耇数のキャッシュ機胜でビルドを高速化 • パむプラむンでゞョブを連結 • Orbs (config のパッケヌゞ) を䜿っお、簡単にビルド・テスト・デプロむが可胜
  12. 21 CircleCIが日本に進出した理由 Support + Community 日本時間 + 日本語 日本珟地での察応 ナヌザヌフィヌドバック

    ナヌザヌ゚ンゲヌゞメントずコ ミュニティミヌトアップ Hiring ワヌルドクラスの゚ンゞニア 日本 + グロヌバルチヌム Localization ドキュメント テクニカル Q&A 補品情報