Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
ソフトウェアの内製化に継続性を〜CI/CDとCircleCI
Search
Masahiko Funaki(舟木 将彦)
July 28, 2021
Technology
46
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
290
自動化したのに回らない テスト運用の壁―AI時代の品質責任と生産性
mfunaki
0
840
自動化したのに回らないテスト運用の壁ーAI時代の品質責任と生産性
mfunaki
1
210
202605-進化し続けるUIに追従.pdf
mfunaki
0
66
mablの要素選択を完全理解〜壊れないテストを作るための技術選択
mfunaki
0
88
知って得するmabl活用Tips〜「こんな時どうする?」実践機能ガイド
mfunaki
0
110
20260422-mablで変わるテスト自動化_品質_速さ_コストの三角形を崩す5つのアプローチ.pdf
mfunaki
0
140
手順(プロンプト)だけで テストを自動作成~テスト作成エージェントを使いこなすための 実践プロンプト術
mfunaki
0
230
「見た目」と「意味」をAIが判定 ~ビジュアルアサーションで変わる テストの守備範囲~
mfunaki
0
110
Other Decks in Technology
See All in Technology
WasmをRustにする
sansantech
PRO
0
250
Gemini Intelligence 入門 ― AppFunctions と Gemini Nano
takuroabe
0
250
継続的なAIコスト最適化
bgpat
1
340
DWH の限界突破! AI エージェント向け爆速リアルタイムデータ基盤 ClickHouse
jozono
1
470
パスキーの自動テストはどこまでいけるのか
teamlab
PRO
0
220
AI コーディングと人間の認知スループット / CTO Night & Day 2026 Morning Session / AI Coding and Human Cognitive Throughput
prog893
4
1.1k
AI駆動開発の時代になったのでトヨタ生産方式から見直す
terurou
7
6k
日本語に強いオープンな大規模言語モデル「LLM-jp」
odashi
4
1.1k
ストレスなくAIと付き合いたい!こんなときどうしてる?
namiki64
3
520
Code for Security プロジェクト紹介 2026年10月
yu23ki14
0
110
DevelopersIO 2026 知識の地図を描く ─ オントロジーとは何か?
ishikawa_satoru
1
1.7k
V8のArray.prototype.flatを最大約20倍速くするまでと、巨大OSSへの大規模コミットの道のり
riyaamemiya
0
290
Featured
See All Featured
Believing is Seeing
oripsolob
1
240
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.9k
Chasing Engaging Ingredients in Design
codingconduct
0
360
Optimising Largest Contentful Paint
csswizardry
37
4k
Making the Leap to Tech Lead
cromwellryan
135
10k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
Documentation Writing (for coders)
carmenintech
77
5.6k
The Invisible Side of Design
smashingmag
301
52k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
330
The SEO identity crisis: Don't let AI make you average
varn
0
590
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 現行ビジネス「平時に問題なく動いている仕組みを、非常時にも 継続的にお届け」 + 新規ビジネス「適材適所でどんなメンバーでも貢献でき、 随時参加するの際の障壁が低い」 (やっていることの見える化、やり方の標準化 )ことによる継続性が重要