Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ソフトウェアの内製化に継続性を〜CI/CDとCircleCI
Search
Masahiko Funaki(舟木 将彦)
July 28, 2021
Technology
40
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ソフトウェアの内製化に継続性を〜CI/CDとCircleCI
Masahiko Funaki(舟木 将彦)
July 28, 2021
More Decks by Masahiko Funaki(舟木 将彦)
See All by Masahiko Funaki(舟木 将彦)
「つくるAI」だけではバグは見つからない ~テストに必要な「見つけるAI」を分離させる戦略~
mfunaki
0
170
自動化したのに回らない テスト運用の壁―AI時代の品質責任と生産性
mfunaki
0
470
自動化したのに回らないテスト運用の壁ーAI時代の品質責任と生産性
mfunaki
1
150
202605-進化し続けるUIに追従.pdf
mfunaki
0
52
mablの要素選択を完全理解〜壊れないテストを作るための技術選択
mfunaki
0
75
知って得するmabl活用Tips〜「こんな時どうする?」実践機能ガイド
mfunaki
0
83
20260422-mablで変わるテスト自動化_品質_速さ_コストの三角形を崩す5つのアプローチ.pdf
mfunaki
0
130
手順(プロンプト)だけで テストを自動作成~テスト作成エージェントを使いこなすための 実践プロンプト術
mfunaki
0
200
「見た目」と「意味」をAIが判定 ~ビジュアルアサーションで変わる テストの守備範囲~
mfunaki
0
100
Other Decks in Technology
See All in Technology
コミュニティから始まった農業IoTとの7年間 ——人との関わりが教えてくれたこと
peacemaker07
0
110
Data Hubグループ 紹介資料
sansan33
PRO
0
3.2k
マイナンバーカード本人確認の実装比較(OAuth/OIDC Numa (Immersion) Workshop 2026) / 20260825 numa-12
oidfj
PRO
0
200
現場回帰したデータエンジニアが考える AI 時代のキャリア開発 / Career Development in the Age of AI Perspectives from a Hands-on Data Engineer
medley
0
330
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1.2k
研究開発部の紹介 / Sansan R&D Profile
sansan33
PRO
4
24k
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.5k
dbt と Snowflake と tag
kevinrobot34
1
240
長期運営で肥大化したExcelマスターデータの解消に向けた移行事例
gree_tech
PRO
0
470
AI時代の「OAuth認証」にどう物申すか?(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
200
カーネルまで探検して理解するふたつの自動計装
sumiyae
0
300
What's new in Go 1.27?
ciarana
0
440
Featured
See All Featured
So, you think you're a good person
axbom
PRO
2
2.1k
Designing for Performance
lara
611
70k
Skip the Path - Find Your Career Trail
mkilby
1
190
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.2k
A designer walks into a library…
pauljervisheath
211
24k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
The Cost Of JavaScript in 2023
addyosmani
55
10k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
390
Building Adaptive Systems
keathley
44
3.2k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
480
Context Engineering - Making Every Token Count
addyosmani
9
1.1k
Side Projects
sachag
455
43k
Transcript
1 ソフトウェアの内製化に継続性を 〜CI/CDとCircleCI CircleCI合同会社 Developer Advocate 舟木 将彦 (@mfunaki)
2 Agenda 1. CircleCI企業概要 2. 顧客との繋がり〜企業の抱える課題とその根源 3. ソフトウェア開発手法の変化 4. なぜCircleCI
3 1. CircleCI企業概要
CircleCIってどんな会社 • 世界最大規模のクラウドCI/CD (継続的インテグレーション/継続的デプロイ)サービス • ミッション:「世界中のだれもが、思い浮かんだアイデアを すぐにソフトウェアとして配信できるように支援する」 • 2011年設立、サンフランシスコに本社 以来、10年間でユーザベース10万社
2021/05/11 にSeries Fで1億ドルを調達 • 600+人の社員(米国、東京、英国、蘭にオフィス)
5 ソフトウェア開発に「継続性」を取り入れられたお客様(一部)
6 2. 顧客との繋がり〜 企業の抱える課題とその根源
デジタル活用:ビジネスを変えるための道具立て Digital Transformation 〜 デジタルを活用することで、お客様との繋がり方を変える (Customer Engagement) + 儲け方を変える (Business
Model) 基盤技術 ・ビッグデータ(お客様の行動+サプライチェーンがデジタルデータに ) + IoT ・AI/Deep Learning…: データが多すぎて「意味」を把握しきれない ・セキュリティ:コピーコスト ゼロだからこその危険性 → 要は、5感:スマホ、IoT、脳みそ:クラウド→行動変容が重要
デジタル活用:一人で変わるか、みんなで変わるか Digital Transformation 〜 デジタルを活用することで、お客様との繋がり方を変える (Customer Engagement) + 儲け方を変える (Business
Model) クイックウィン 電源カフェを アプリで検索 課題 スマホを 充電したい 協業モデル1 カフェとコラボ →長居はイヤ 協業モデル2 +バッテリー 企業とコラボ 協業モデル3 再生可能エネ を販売 ベンチャー:早く行きたければ一人で進め 大企業:遠くまで行きたければみんなで進め 参入障壁 (マネしやすさ) ベンチャーも大企業も それぞれの持ち場でソフトウェアが「コラボ」することで強みを発揮 カフェの場所を 管理 バッテリーの 位置・残量を管理 発電効率・コスト・ 需給を管理 ソフトウェアの ビジネス貢献
9 3. ソフトウェア開発手法の変化
ソフトウェアは開発と進化を繰り返す クイックウィン 電源カフェを アプリで検索 課題 スマホを 充電したい 協業モデル1 カフェとコラボ →長居はイヤ
協業モデル2 +バッテリー 企業とコラボ 協業モデル3 再生可能エネ を販売 ベンチャー:早く行きたければ一人で進め 大企業:遠くまで行きたければみんなで進め カフェの場所を 管理 バッテリーの 位置・残量を管理 発電効率・コスト・ 需給を管理 ソフトウェアの ビジネス貢献 最初から ここは無理 ビジネスの成長+フィードバックを反映させながら開発、進化
ソフトウェア開発:過去と現在、これから 開発プロセスを、仕様が決まり社内で承認後 1年~数年で1回回し、 リリース(デプロイ)時に 新機能の数を誇るのではなく 開発プロセスを、プロトタイピングの時点から 1日~数週間ごとに1回回し、 短いペースで新機能や不具合の修正を 提供していく。 ・新機能とはいうものの、何を
今更感が強い(世の中ではそれ が当たり前で「新」ではない ) ・自分の求めていた機能がリリースされる と、機能追加に対して感謝+他の人も実 は求めていたんだという共感が強まる 過去 現在、これから
12 使われない機能の実装に投資しつづけない 開発プロセスを、プロトタイピングの時点から 1日~数週間ごとに1回回し、 短いペースで新機能や不具合の修正を 提供していく。 ・自分の求めていた機能がリリースされると、 機能追加に対して感謝+他の人も実は求めて いたんだという共感が強まる 新機能を一度にたくさん提供しても、
『Chaos Report、Standish Group、2000』
13 DevOps + Biz + Sec(urity)が重要 • 顧客のニーズに 答える機能を 素早く実装
• サービスを安定 提供し続けられる 仕組みの構築 マーケットニーズの創出・早期反映 + セキュリティ/コンプライアンスの保証
14 継続するビジネスを支えるソフトウェア開発を標準化 プラン コード ビルド テスト リリース デプ ロイ 運用
監視 継続的インテグレーション (CI) 継続的 デプロイ (CD) 自動化できない 非正常系は 自動化できない 自動化できる→継続的であるために自動化すべき ビジネスが継続する限り、プロジェクトは続く コード追加・修正時は 常にビルド・テスト (最後にまとめてやらな い→早く失敗すれば 早く品質が安定する) サービス停止せず常に リリース/デプロイ (失敗時にはクイックに 修正 / 前バージョンに 戻せる)しくみ 共有 リポジトリ上 で 常に作業 運用・監視しやすい 品質をコードに反映 (必要なデータの取得、 スケーラビリティの 確保)
15 4. なぜCircleCI
ソフトウェア開発:過去と現在、これから 開発プロセスを、仕様が決まり社内で承認後 1年~数年で1回回し、 リリース(デプロイ)時に 新機能の数を誇るのではなく 開発プロセスを、プロトタイピングの時点から 1日~数週間ごとに1回回し、 短いペースで新機能や不具合の修正を 提供していく。 ・新機能とはいうものの、何を
今更感が強い(世の中ではそれ が当たり前で「新」ではない ) ・自分の求めていた機能がリリースされる と、機能追加に対して感謝+他の人も実 は求めていたんだという共感が強まる 過去 現在、これから プラン コード ビルド テスト リリース スケジュールをリリースから逆算して テスト、ビルド、コードスケジュールを作るのではな く いつでもリリースできるよう、 常にテストされた+リリース可能な状態にしておく
「モノづくり」でも左側で品質を作りこんでいる デジタルの波は「モノづくり」においても、シフトレフトという言い方こそしないものの、 左側で品質を作りこんでいる • 製造業:CAD + シミュレーション … 少品種大量生産 ◦
模型や実物を使ったテストは時間・費用がかかり、取得可能なデータ(の精度)に限りがある ◦ 設計データ(デジタルデータ)+シミュレーションでできるテストを切り分けて早期実施 • 建設業:BIM + フロントローディング … 少品種少量生産 ◦ 従来は紙や2次元CADの上で意匠・構造・設備間で個別に設計→現場力で柱や配管を「合わせこみ」 ◦ 3次元データ(BIM)を工程間で共有して進める→施主に対しても完成イメージで握ることが可能に • アパレル:3次元CAD + グレーディング … 多品種大量生産 ◦ 3次元のイラスト+2次元の型紙から服を作るのではなく、工程の初期から3次元CADを使って、 製品イメージ+製造図面を時間差なく一致させる ◦ サイズやプロポーションの違いによる図面の引き直しの自動化が可能に(最終チェックは人)
18 CircleCI最大の競合製品 今どき、人手でやっていませんか? 自分で仕組みから作ろうとしていませんか? ビルド、テスト、リリース、デプロイ
19 そのビジネスを分解したら「モード2」はどこか? ITの世界では価値・貢献観点から業務全体をモード1/モード2に分ける Digital Transformationにおいてもモード2を見定め、スピードアップすることが重要 モード1 変化が少なく、 確実性・安定性を 重視 モード2
開発や改善スピー ド、利便性を重視 ゴール 差別化→ 利益拡大 効率化→ コスト削減 手段 DevOpsによる 内製 (現場ニーズ 迅速に反映) 既製品を そのまま使う (自動更新) 適用業務 顧客との 関係性が 必要な領域 会計 人事 生産管理... (ERP領域) モード2を クイックに 内製化する
20 Why CircleCI? CI/CD専業の商用ツールベンダーとして、 - さまざまな環境(クラウド、オンプレ、および組み合わせ )でビルド~デプロイ自動化の恩恵 - CI/CDを早く実行する(=開発者を待たせない )ための仕組み
- キャッシュ、ワークスペース - Docker Layer Cache - インメモリのデータベースイメージの提供 - CI/CDで必要なオープンソースや様々なベンダー社様のツールやコンポーネントとの連携 (Orbs) - 単に「ビルド」~「デプロイ」が自動化できるという所にとどまらず、 開発の状況、問題、課題の見える化の仕組み (Insights)
21 お客様のインフラで CircleCIを実行 ご要望に合わせた利用形態をご提供 • フルコントール. お客様のインフラ 上で実行し、お客様の計画でアッ プデート •
セキュリティ. お客様のVCP内で実 行。LDAP連携もサポート • 低オーバーヘッド. AWS上に構築 することでオートスケーリンググ ループを構成 • カスタマイズ. カスタムマシンイメー ジ、リソースクラス、データストアの 外部化など • ハイブリッド. お客様自身の環境上 でビルドを実行。UIやInsightsなど のプラットフォームはCircleCIがす べて管理 • セキュリティ. クラウドからデータを 安全に引き出し、結果をクラウドに 返却 • カスタマイズ. さまざまな実行環境 上で動作。ニーズに合わせてカス タマイズ可能 • フルマネージド. アプリケーションとビ ルドエージェントのすべてをCircleCI が管理・アップデート • スケーラブル. 最大80並列での実行。 年間契約でさらに並列度を上げること が可能 • フレキシブル. すべての主要なOSを サポート。カスタムDockerイメージも 利用可能 • セキュリティ. FedRAMP, SOC2 Type II, Privacy Shield compliantを取得済 み お客様のパイプラインに応じてスケール 両者の良いところを組み合わせ Cloud Server Runner
22 Orbs - 効率化+品質/セキュリティ/コンプライアンス 効率化 セキュリティ/ コンプライアンス 効率化 品質 品質/
コンプライアンス 効率化
23 実データから見る自動化(CI/CD) 調査期間 2020/08/01~30 (2019年版は90日間) 調査対象 44,000組織 160,000プロジェクト 200万ジョブ/日 https://circleci.com/ja/resources/2020-state-of-software-delivery/
24 CircleCIユーザーの 中央値(2020/08) ベンチマーク目標値 スループット ワークフローの実行数 0.7回/日 プルリクエストのマージごと いつでも(遠慮せずに)ビルド可能 実行時間
ワークフローの実行時間 4分以内 5~10分 自動化可能なことは全て任せる 復旧時間 ワークフローの失敗~成功の時間 56分以内 60分以内 大きな失敗を最後にではなく、すぐ に復旧できる失敗を早期に 成功率 ワークフローの成功数/実行数 デフォルトブランチで 80% デフォルトブランチで 90%以上 自動化における4つの評価ポイント ここの数値に「近い目標」として まずは追いつき ここの数値を「あるべき姿」として 目指す 現時点での数値を「課題」として 把握した上で
25 • ワークフローのメトリクスをインテリジェントに収 集・可視化 ◦ ワークフローやジョブ別の内訳 ◦ どのプロジェクト、ワークフロー、ジョブが失 敗し、最もクレジットを消費しているのか •
API を使用してきめ細かいデータを収集。外部 サービスにエクスポート • CSV出力 • 追加のデータやより詳細なデータ収集は 続々と開発進行中(プレビュー版を随時 公開し、フィードバックを収集) Insights
26 現行ビジネス「平時に問題なく動いている仕組みを、非常時にも 継続的にお届け」 + 新規ビジネス「適材適所でどんなメンバーでも貢献でき、 随時参加するの際の障壁が低い」 (やっていることの見える化、やり方の標準化 )ことによる継続性が重要