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
ビジネスの成長に貢献するソフトウェア開発効率化
Search
Masahiko Funaki(舟木 将彦)
January 08, 2021
Technology
0
3
ビジネスの成長に貢献するソフトウェア開発効率化
Digital Transformationを支えるCI/CD
Masahiko Funaki(舟木 将彦)
January 08, 2021
Tweet
Share
More Decks by Masahiko Funaki(舟木 将彦)
See All by Masahiko Funaki(舟木 将彦)
Harness the Power of Advanced LLM and CI/CD Practices
mfunaki
0
350
CircleCI によるソフトウェア開発の品質向上と効率化の実現
mfunaki
0
230
CircleCI と Argo Rollouts で 実現する Kubernetes 上の プログレッシブデリバリー
mfunaki
0
130
はじめてのCircleCI
mfunaki
0
35
CircleCIでChatGPTにエラーの解説を頼んでみた
mfunaki
0
580
自動化→部品化すると社内開発は楽しくなる
mfunaki
0
49
テストの自動化~簡単に始める、みんなで使う、現況を捉える
mfunaki
0
47
テストの自動化 〜 簡単に始める、みんなで使う、現況を捉える
mfunaki
0
28
CircleCIで実現できる「高速、安全なソフトウェア開発」
mfunaki
0
180
Other Decks in Technology
See All in Technology
AI Agent時代なのでAWSのLLMs.txtが欲しい!
watany
3
350
Apache Iceberg Case Study in LY Corporation
lycorptech_jp
PRO
0
350
IAMのマニアックな話2025
nrinetcom
PRO
6
1.4k
EDRの検知の仕組みと検知回避について
chayakonanaika
12
5.2k
Introduction to OpenSearch Project - Search Engineering Tech Talk 2025 Winter
tkykenmt
2
160
AIエージェント元年@日本生成AIユーザ会
shukob
1
250
Two Blades, One Journey: Engineering While Managing
ohbarye
4
2.4k
【内製開発Summit 2025】イオンスマートテクノロジーの内製化組織の作り方/In-house-development-summit-AST
aeonpeople
2
1.1k
AWSアカウントのセキュリティ自動化、どこまで進める? 最適な設計と実践ポイント
yuobayashi
7
990
株式会社Awarefy(アウェアファイ)会社説明資料 / Awarefy-Company-Deck
awarefy
3
11k
わたしがEMとして入社した「最初の100日」の過ごし方 / EMConfJp2025
daiksy
14
5.4k
2025/3/1 公共交通オープンデータデイ2025
morohoshi
0
100
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
21
2.5k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
Designing for humans not robots
tammielis
250
25k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
Visualization
eitanlees
146
15k
Writing Fast Ruby
sferik
628
61k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
BBQ
matthewcrist
87
9.5k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
Scaling GitHub
holman
459
140k
Transcript
1 ビジネスの成長に貢献する ソフトウェア開発効率化 ~Digital Transformationを支えるCI/CD~ CircleCI合同会社 マーケティング部 Developer Advocate 舟木
将彦 (@mfunaki) #CircleCIJp (2021/01/08)
Introduction to CircleCI • 世界最大規模のクラウド CI/CD サービス • より良いコードをより速く、簡単にリリースすることを可能に •
2011年設立、サンフランシスコ本社 • 300人の社員(米国、東京、英国にオフィス) • 20年4月 1億ドルのシリーズEを実施、合計2億1,500万ドルを調達 Representative Customers
DX(Digital Transformation)やれ って何やるの?
4 ファースト ステップ 1. ツールの導入や新技術のPoC 4 ツールの導入 Slack, Zoom, Microsoft
Teams • 同じ場所にいなくてもビデオでコミュニケー ション可能(場所の制約からの解放 ) • 同じ時間でなくてもチャットでコミュニケー ション可能(時間の制約からの解放 ) • 音声認識や文字認識によりデータをだれで も検索利用可能(媒体の制約からの解放 ) 新技術のPoC(コンセプト検証) IoT/AI/ML(機械学習) • 各種センサを使いデータ収集・共有可能 (場 所の制約や記憶の制約からの解放 ) • 品質検査(見落としや見過ごしなどのヒュー マンエラーからの解放 ) • 故障予兆やトレンド予測 (ノウハウの属人性 からの解放) 社内がつながる 技術が検証できる 顧客とつながる デジタルにより既存ビジネスの枠を超える
5 ファースト ステップ 2. ワークショップによる新規ビジネス創出 5 デザイン シンキング 課題解決ではなく真の課題を定義し直す •
顧客は誰で、抱えている課題 (実現したいこ と)は何かを観察と共感を通じて捉える • 現状のやり方(プロセス)の中で、何がブロッ カーになっているのかを捉える • ブロッカーを排除/乗り越えられない原因 (真の課題)を定義し直す(リフレーム) アイデアソン/ハッカソン 解決方法を探り、プロトを通じて検証する • さまざまな観点や技術をもとに解決方法を 量産する • クイックプロトタイプを作ることにより、解決 方法の実現可能性を検証する • クイックプロトタイプを使うことにより、効果 (課題解決の実効性)を評価する (既存・新規)顧客を理解する アイデアがプロトになる 顧客が自社を選ぶ理由ができる プロトが新製品/新サービスになる
6 3. DXに取り組み始めた→DXがビジネスをドライブへ 6 • 「PoCはやってみた」「アイデアは出してみた」から 「新製品/新サービス」をスピーディーに実現する • 「早くプロトできる、製品化/サービス化できる、 複製できる、バージョンアップできる」
Digitalの強み→ソフトウェアの強みをビジネスにつなげる 例) 地震計をリリースするには時間がかかるが、スマホで動作する 地震計アプリならクイックに大量リリース&バージョンアップ可能 →エコシステム(インフラ会社、医療、食品etc)の拡大 技術が検証できる デジタルにより既存ビジネスの枠を超える アイデアがプロトになる プロトが新製品/新サービスになる
スピーディーに ってどうするの?
8 CircleCIのビジョン 世界中のだれもが、思い浮かんだアイデアを すぐにソフトウェアとして配信できるように支援する Make it as easy as possible
to go from idea to delivery 8
日本はホワイトカラーの生産性は低いが、 製造業(ものづくり)の生産性は他国より優れている → 過去(2000年)までの常識 ただし、日本の生産性が下がっていたわけではない →ほぼ横ばい「何も変わってこなかった」 日本以外の各国は人力ではなく、デジタル・ ITを 活用することで生産性を高めてきた (ただし、アイルランドのように低税率の法人税で
多国籍企業を誘致し、ものづくりは他国で、売り上げは 自国でという現実には留意が必要 ) 9 日本の ものづくり生産性 出典: 日本生産性本部「労働生産性の国際比較 2019」
10 COVID-19を契機とした変化 生産性と品質を支える開発基盤 大チーム、SIer丸投げ→リモート前提の小チームでク イックリリース 標準化: どこででも通用する開発プロセス 差別化: しなやか(多様性)で燃え尽きないチーム ソフトウェア・ファースト
使われるプロダクトやサービスを開発・運用 差別化領域の「手の内化」≠何でも自前主義 標準化: どうデータを集め、運用するか(SoR) →あり物の活用 オーバーカスタマイズしないでそのまま使う ことで時代の進化(あり物のバージョンアッ プ)を自社ビジネスの標準化に取り込む 差別化: どうユーザー体験を提供するか(SoE) →自社を選ぶ理由(何がスゴいのか)作り 2019~20年 ソフトウェア開発は何が変わったか? 2020年に明らかになったことの1つは、「どれだけ綿密 に計画を立てていても、人生は思いどおりにはいかな い」「理想のチームの規模とは、人生で起こる不測の事 態を吸収できるほどの人手がある規模」
11 ソフトウェア開発・運用におけるペインポイント プラン コード ビルド テスト リリース デプロイ 運用 監視
機能や 動作環 境、 必要ス ペックや 予算 洗い出し (仮置き) エンジニ ア各自 が 自分の 環境で 開発 (しばし ば遅延) コードを 取りまと めて ビルド→ 問題あ れば エンジニ アに 確認・修 正 テスト ケース作 成・実行 (前工程 で遅延 すると、 十分な 時間が 取れな い) 取り まとめ + インス トール 手順等 作成 更新の 場合、 一定時 間サー ビス停止 し、プ レッ シャーの 中 更新 作業 コードに問題があって 動作しない、 アクセスが増えて スピード低下、 情報漏洩や外部からの 攻撃対策 で手一杯
12 顧客ニーズへの対応(変えること+変えないこと) プラン コード ビルド テスト リリース デプロイ 運用 監視
ビジネスが継続する限り、プロジェクトは続く 市場が求める+自社が打ち出したい新しい機能を盛り込み ユーザインタフェースを改善することで利用しやすくすることで ビジネスに貢献したい ダウンタイムや待ち時間を減らし、 常に変わらず使える状態を保つことで ビジネスに貢献したい
13 ビジネスの継続と開発・運用の継続をつなげる プラン コード ビルド テスト リリース デプロイ 運用 監視
継続的インテグレーション (CI) 継続的 デプロイ (CD) 自動化できない 完全自動化できない プルリクエスト(コードの追加・修正 )起点の自動化 ビジネスが継続する限り、プロジェクトは続く 共有リポ ジトリの 上で 常に 作業 コード追加・修正時には 常にビルド・テスト (最後にまとめてやらな い→早く失敗すれば 早く品質が安定する) サービス停止しないで 常にリリース、デプロイ (失敗時にはクイックに 修正 または 前バージョ ンに戻せる)仕組み 運用・監視しやすい 品質をコードに反映 (必要なデータの取得、 スケーラビリティの 確保)
14 ビジネスの継続と開発・運用の継続をつなげる プラン コード ビルド テスト リリース デプロイ 運用 監視
継続的インテグレーション (CI) 継続的 デプロイ (CD) 自動化できない 完全自動化できない プルリクエスト(コードの追加・修正 )起点の自動化 ビジネスが継続する限り、プロジェクトは続く 共有リポ ジトリの 上で 常に 作業 コード追加・修正時には 常にビルド・テスト (最後にまとめてやらな い→早く失敗すれば 早く品質が安定する) サービス停止しないで 常にリリース、デプロイ (失敗時にはクイックに 修正 または 前バージョ ンに戻せる)仕組み 運用・監視しやすい 品質をコードに反映 (必要なデータの取得、 スケーラビリティの 確保) 品質はCI/CD、監視、テストなどDevOpsプロセスの質によって 左右されるが、重要なのは人。
CI/CDの導入効果 を実例で知りたい
16 実データから見る自動化(CI/CD) 調査期間 2020/08/01~30 (2019年版は90日間) 調査対象 44,000組織 160,000プロジェクト 200万ジョブ/日
17 自動化における4つの評価ポイント • スループット 1日あたりのワークフロー(CI+CD)の平均実行数 • 実行時間 ワークフローの平均実行時間 • 平均復旧時間
ワークフロー失敗~成功の平均時間 • 成功率 ワークフロー成功数を実行数で割った商
18 CircleCIユーザーの 中央値(2020/08) ベンチマーク目標値 スループット ワークフローの平均実行数 0.7回/日 プルリクエストのマージごと いつでも(遠慮せずに)ビルド可能 実行時間
ワークフローの平均実行時間 4分以内 5~10分 自動化可能なことは全て任せる 平均復旧時間 ワークフローの失敗~成功の平均時 間 56分以内 60分以内 大きな失敗を最後にではなく、すぐ に復旧できる失敗を早期に 成功率 ワークフローの成功数/実行数 デフォルトブランチで 80% デフォルトブランチで 90%以上 自動化における4つの評価ポイント ここの数値を「近い目標」として ここの数値をベンチマーク対象にする
なぜCircleCIを選ぶべきなのか を知りたい
20 CI/CDマーケットにおけるCircleCIの位置づけ CircleCI https://www.g2.com/categories/continuous-integration?segment=mid-market#grid
21 CI/CDを簡単に定義するためのパーツ(Orbs)が充実 パートナー様製 Orbs CircleCI 製 Orbs
数多くのお客様のビジネスをCI/CDの面から支えている実績
日本語のウェブサイト・技術情報・情報発信
コミュニティ起点での豊富な情報とエンジニアの成長支援
教育やPoCレベル以上のリアルユースケース
雑誌・書籍・技術系同人誌が充実
ソフトウェア力を高め ビジネス貢献につなげていただきたい
28 Digital Transformationを実現するソフトウェア力を高め るには? 差別化観点では、 • CI/CDの自動化により、優れたエンジニアの「生産力」がプロダクトやサービスの 「競争力」にリアルタイムで連動するようにする • CI/CDの自動化により、「人には人でしかできない仕事」に注力してもらうことが、
他社よりも自社を選んでもらえるプロダクトやサービスを提供するうえで重要 標準化観点では、 • 開発・運用プロセス(DevOps)が自動化を中心に全社で標準化されることで、 エンジニアを社内の注力プロジェクトにアサイン、早期立ち上げ可能 ◦ 社内での「転職(転プロジェクト)機会」増加により成長のチャンスが増える ◦ 社外からの転職者が仕事に慣れるまでの時間も短縮化できる
29 Thank you.
30 ソフトウェア開発における自動化とは? 2011 2008 2007 2006 2009 2012 2015 2007
年2回の機能リリース データドリブン Infrastructure as Code (インフラの コード化) Out of the box→ Over the Air 最新コード + 履歴を クラウドに ビルドや テストの 自動化 コンテナに よる「器」 標準化 2013 コード~テスト~デプロイが自 動化で一気通貫 (リアルタイム) 今回のテーマではな い
31 紙をマグネットにした自動化が本質ではない 標本的ノウハウ 全数データを(力技で)チェック
どうしてスピーディーに できないの?
33 許せる自動化・許せない自動化・導入の文化的ハードル (川の水ならタダなのに ) 水道代がもったいない (まだ何回か洗えるのに ) 洗剤がもったいない (お湯なんか使って) ガス代がもったいない
自分は苦労したのに、 後の人が楽になるのは 許せない