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
10分の自動化の導入からクラウドネイティブな開発を始める
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Masahiko Funaki(舟木 将彦)
September 14, 2022
Technology
41
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
10分の自動化の導入からクラウドネイティブな開発を始める
Masahiko Funaki(舟木 将彦)
September 14, 2022
More Decks by Masahiko Funaki(舟木 将彦)
See All by Masahiko Funaki(舟木 将彦)
202605-進化し続けるUIに追従.pdf
mfunaki
0
32
mablの要素選択を完全理解〜壊れないテストを作るための技術選択
mfunaki
0
52
知って得するmabl活用Tips〜「こんな時どうする?」実践機能ガイド
mfunaki
0
65
20260422-mablで変わるテスト自動化_品質_速さ_コストの三角形を崩す5つのアプローチ.pdf
mfunaki
0
110
手順(プロンプト)だけで テストを自動作成~テスト作成エージェントを使いこなすための 実践プロンプト術
mfunaki
0
170
「見た目」と「意味」をAIが判定 ~ビジュアルアサーションで変わる テストの守備範囲~
mfunaki
0
84
イントラネットの社内アプリからローカル開発環境まで〜mabl Linkで実現する閉域網アプリケーションのセキュアなテスト実行
mfunaki
0
59
フルスタックQAへの第一歩。Web UIとAPIテストを統合した品質保証戦略
mfunaki
0
120
mabl新機能解説:プロンプトによるテスト生成とローカル/クラウド実行のシームレスな統合
mfunaki
0
120
Other Decks in Technology
See All in Technology
DatabricksにおけるMCPソリューション
taka_aki
1
190
GuardrailからGovernanceへ~AIエージェント運用の次の課題~
sbspsy
1
260
AI時代のエンジニアキャリアについて今一度考える
sakamoto_582
2
1.5k
テスト設計の本質を改めて考えてみる~生成AIを活用する時代だからこそ、作ったテストの説明性を高めよう~
yamasaki696
1
460
インフラ寄りSREでも 開発に踏み出せる〜境界を越えてユーザー体験に向き合いたい〜
sansantech
PRO
2
3.4k
product engineering with qa
nealle
0
160
End-to-Endで考える信頼性 —LINEアプリにおけるクライアント開発×SRE連携の実践
maruloop
4
3.9k
オブザーバビリティ、本当に活用できてる? 〜API連携×生成AIで成熟度を自動評価〜
dmmsre
1
2.7k
SRE Next 2026 何でも屋からの脱却
bto
0
470
AI Driven AI Governance
pict3
0
320
AI Agent SaaS を支える自社仮想化基盤への挑戦と実運用 / ai-agent-saas-virtualization
flatt_security
2
3.6k
アカウントが増えてからでは遅い? ~ マルチアカウント統制の勘所 ~
kenichinakamura
0
220
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
The Pragmatic Product Professional
lauravandoore
37
7.4k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
890
Context Engineering - Making Every Token Count
addyosmani
9
1k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
320
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.6k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
600
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
230
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.6k
Building an army of robots
kneath
306
46k
Transcript
1 舟木 将彦 (@mfunaki) CircleCI 合同会社 Principal Developer Advocate 10分の自動化の導入から
クラウドネイティブな開発を始 める
CircleCIってどんな会社 • 世界最大規模のクラウドCI/CDサービス ◦ 22,000以上の組織の 100万以上の開発者が実行する 毎月7億以上のジョブを支えるサービス • ミッション: Manage
change So software teams can innovate faster (変化をマネージしよう、そうすれば ソフトウェアチームはより速くイノベーションできる ) • 2011年設立、サンフランシスコに本社 2021/05/11 にSeries Fで1億ドルを調達 (これまでに$315Mの投資、$1.7Bの企業価値) • 600+人の社員 (米国、日本、英国、オランダ、フランス+ リモートワーク)
3 ワークフロー実行回数順位 (CircleCIクラウド版) グローバル 1 米国 2 英国 3 日本
4 ドイツ 5 カナダ 6 オーストラリア 7 フランス 8 スウェーデン 9 ブラジル 10 イスラエル アジア・太平洋地域 1 日本 2 オーストラリア 3 シンガポール 4 香港 5 ニュージーランド 6 インド 7 韓国 8 マレーシア 9 タイ 10 インドネシア 2010/10~2011/09までの12か月にCircleCIクラウド版で実行されたワークフローより。 ただしサンプルやチュートリアルの実行等は除外している(カウントしていない)。
4 Agenda ソフトウェア開発を取り巻く環境 ソフトウェア開発の現況を数字で読み取り、改善する CircleCIが提供する自動化=高速化のための機能 終わりに 1 2 3 4
5 ソフトウェア開発を 取り巻く状況
6 ソフトウェアはモノからサービスに スマホに5年前入れたままのアプリを使っている人はいない →スマホ自身が2〜3年で買い換えられる中、機種変しても使われ続けるには? • モノの品質(企業であれば5年償却) 買った時点が一番価値が高く、競合の出現や市場の進化により価値が低下 → 数年に一度のモデルチェンジやバージョンアップ インフラ:オンプレ(ハードウェア耐用年数の間、同じソフトを継続利用)
開発手法:ウォーターフォール (作業の積み上げ or リリース日からの逆算) • サービスの品質 常に最高のサービスを使い続ける(その時点その時点で最高が異なる ) インフラ:クラウド(ソフトの機能アップ、ハードの性能アップ/コスト低減の 恩恵を受けながら継続利用) 開発手法:アジャイル (要件→設計→実装→テストを小さく回す) ウォーターフォールが進化してもアジャイルにはならない
7 サービスとしてのソフトウェア開発のプロセス ソフトウェアの 機能拡張 新技術を 取り込みつつ (Opsしやすい) 安定的な ソフトウェア 利用者の増加
安定的かつ (Devしやすい) 拡張性を備えた 責任範囲をオーバーラップさせる (サイロにしない) 忙しくなりすぎる、普通に考えたら無理 → できない理由ではなく、できるためにするには?
8 継続するビジネスを支えるソフトウェア開発を標準化 プラン コード ビルド テスト リリース デプ ロイ 運用
監視 継続的インテグレーション (CI) 継続的 デプロイ (CD) 自動化できない 非正常系は 自動化できない 自動化できる→継続的であるために自動化すべき ビジネスが継続する限り、ソフトウェアの進化は続く コード追加・修正時は 常にビルド・テスト (最後にまとめてやらな い→早く失敗すれば 早く品質が安定する) サービス停止せず常に リリース/デプロイ (失敗時にはクイックに 修正 / 前バージョンに 戻せる)しくみ 人にしかできない ことは、 細分化した上で できる人が 手を挙げてやる →誰でも見える、 参加できる状態 共有 リポジトリ上 で 常に作業 自動化できる ことは 作業手順の 定義を行い 自動実行させる →依頼しない、 抜け漏れしない 運用・監視しやすい 品質をコードに反映 (必要なデータの取得、 スケーラビリティの 確保)
9 ソフトウェア開発の現況を 数字で読み取り、改善する
10 自動化のレベル分け (Industrie 4.0や自動運転から) 操作する人の他に 動力を生み出す人が必要 (石炭→石油により負荷軽減) ※ 紡織の自動化(人が部材取替) 動力(電気)は外部から調達、
使用量に応じて課金 電線や電池で取り込み可能に ※ 問題時は自動停止(人対応) 人の代替の定型作業から 人の能力を超えた作業を より柔軟に(AI、データ活用) ※ 人の能力を制約にしない
11 ソフトウェア開発の現況 〜 今の立ち位置を知る ソースコードを GitHubなどの ソースコード 管理システムで管理 日時や週次で テストやビルドを
自動実行する コードが追加・修正 されるたび、 テストやビルドを 自動実行する ソースコードを 共有フォルダ等で 取りまとめる 動作する直近のバージョンが 失われる可能性がある Linux/Windows/iOS /Android/GPU環境 向けビルドを(クラウド で)一元管理 テスト時間を短縮す ることで、作った記憶 がホットなうちに修正 可能に 必要に応じた スペックのビルド環境を選 択可能(縦に伸ばす) 直列実行だけでなく、 並列実行が簡単に 設定可能(横に広げる) レベル1 コード 共有 + 手作業の 自動化 レベル2 コード 履歴共有 + 手作業の 自動化 (巻戻可) レベル3 スペックや多重度が 変化する自動化 (高速化= 速く気づき 速く直す)
12 ソフトウェアデリバリーに関わる4つの主要な指標 4つの指標 グローバルの CircleCIユーザー平均値 CircleCIが考える 目標値* スループット (ワークフロー実行回数) 1.43回/日
プルリクエストの数+ 自動実行数 実行時間 (ワークフロー実行時間) 3.7分 10分 (🙅10分以内) 平均リカバリ所要時間 73.6分 1時間以内 ワークフロー成功率 デフォルトブランチで 77% デフォルトブランチで 90%以上 手動・自動を問わず 現時点の値を踏まえた上で 世の中の平均にまずは 近い目標として到達し、 あるべき姿(目標値)を 実現を目指す取り組みを推進
13 ビルド〜デプロイを自動化し、現況を見える化する 実行回数 成功確率 実行時間 クレジット消 費量 復旧時間
14 CircleCIが提供する自動化+ 高速化(早く気づき、早く直す)の ための機能
15 縦に伸ばす(自動化実行環境のスペックを上げる) リソースクラスと消費クレジット Docker Executor クラス vCPUs RAM クレジット small
1 2GB 5クレジット/分 medium 2 4GB 10クレジット/分 medium+ 3 6GB 15クレジット/分 large 4 8GB 20クレジット/分 Freeプランでは30,000クレジット/月が無料で付与 (smallクラスなら6000分=100時間に相当) ※月20日換算で一日あたりのジョブ実行時間 5.0時間
16 横に広げる(並列化) 25並列でテストを実行
17 横に広げる(並列化) 1 5 50 5 45 40 100 60
1 0 30 20 100 1 5 50 60 20 1 0 45 40 30 5 100 50 1 0 45 1 5 60 20 5 40 30 1並列 3並列 5並列 1’44” 1’14” 1’09” 1’14” 1’15” 6:20 132クレジット (¢7.92相当) 2’09” 2’09” 2’09” 147クレジット (¢8.82相当) 161クレジット(¢ 9.66相当)
18 • テスト結果を インテリジェントに収集・可視化 ◦ ワークフローやジョブ別の内訳 ◦ 遅いテストワースト10 失敗するテストワースト10 ◦
成功・失敗が不安定なテストはどれか ◦ テスト実行時のCPU/RAM推移 テスト インサイト
19 10分の中で量(効率)だけでなく、質の向上をしっかり盛り込む
20 終わりに
21 • 自動化の適用で生み出した時間を、人による「開発」「運用」の強化+ α に使う • 自動化の適用で「開発現況」を数値データとして初めて見える化できる →「開発の仕組みや考え方、組織のあり方」を変え、効果を測定する上での メトリクス (ソースコードの行数やテストの数、印象ベースでの達成%に頼ることなく、
新機能やバグ修正がお客様にとって利用可能になるまでの時間を見積可能に) • 10分のワークフロー時間は、 ・ ソフトウェア開発時に生み出されたバグなどの問題を素早く直す ・ ソフトウェアの品質を向上する を両立するベストな時間であり、 自社のソフトウェアを競合と差別化する上で目指すべきスタートポイント まとめ
活用いただいているお客様+事例 https://discuss.circleci.com/t/advent-calendar-2021-circleci/42147
CircleCIをもっと知りたい!なら 最新の情報なら @CircleCIJapan をフォロー! #CircleCIJp タグつけて情報共有! イベント、セミナー、勉強会の情報なら connpassのCircleCIグループから! https://circleci.connpass.com/ 動画でCircleCIについて学ぶなら
CircleCIチャンネルを登録! (日本語プレイリストもあり )
Thank you. 24