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
ACES Meet におけるリリース作業改善の取り組み
Search
Masashi Fukuzawa
October 02, 2024
Programming
0
360
ACES Meet におけるリリース作業改善の取り組み
Presenting at the following event on October 2, 2024
https://cybozu.connpass.com/event/328524/
Masashi Fukuzawa
October 02, 2024
Tweet
Share
More Decks by Masashi Fukuzawa
See All by Masashi Fukuzawa
AIに任せる範囲を安全に広げるためにやっていること
fukucheee
0
130
ACES Meet の「2025年」を振り返る
fukucheee
0
60
Other Decks in Programming
See All in Programming
PJのドキュメントを全部Git管理にしたら、一番喜んだのはAIだった
nanaism
0
250
社内規程RAGの精度を73.3% → 100%に改善した話
oharu121
13
7.9k
どんと来い、データベース信頼性エンジニアリング / Introduction to DBRE
nnaka2992
1
270
エラーログのマスキングの仕組みづくりに役立ったASTの話
kumoichi
0
170
maplibre-gl-layers - 地図に移動体たくさん表示したい
kekyo
PRO
0
240
猫の手も借りたい!ので AIエージェント猫を作って社内に放した話 Claude Code × Container Lambda の Slack Bot "DevNeko"
naramomi7
0
260
クライアントワークでSREをするということ。あるいは事業会社におけるSREと同じこと・違うこと
nnaka2992
1
330
15年目のiOSアプリを1から作り直す技術
teakun
1
620
GC言語のWasm化とComponent Modelサポートの実践と課題 - Scalaの場合
tanishiking
0
100
TipKitTips
ktcryomm
0
160
AHC061解説
shun_pi
0
350
Docコメントで始める簡単ガードレール
keisukeikeda
1
110
Featured
See All Featured
Accessibility Awareness
sabderemane
0
76
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
210
Marketing to machines
jonoalderson
1
5k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
280
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.8k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
210
Information Architects: The Missing Link in Design Systems
soysaucechin
0
820
First, design no harm
axbom
PRO
2
1.1k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.5k
Raft: Consensus for Rubyists
vanstee
141
7.3k
Transcript
ACES, Inc. AI ソフトウェア事業部 福澤 将史 ACES Meet における リリース作業改善の取り組み
2 CONFIDENTIAL 自己紹介 福澤 将史 Masashi Fukuzawa 所属: 株式会社ACES /
AIソフトウェア事業部 ポジション: サーバーサイドエンジニア / テックリード 出身: 福岡 好きなラーメン屋: 一九ラーメン (粕屋店) その他: 社会人学生としてCSを学び直し中
3 CONFIDENTIAL 会社紹介 / サービス紹介
4 CONFIDENTIAL AI研究と社会実装をリードする東大松尾研究室メンバーを中心に創業。 AIアルゴリズムという独自の視点から事業を創出 東大松尾研AIベンチャー …
5 CONFIDENTIAL 活用が困難だったお客様とのやり取りをデータベース化し、 営業力を強化する活動に活用できる営業支援AIツールです。 ACES Meetとは お客様とのやり取り お客様とのやり取りをDB化・活用する 営業支援AIツール 営業力の強化
DB スキルアップ・育成 商談記録・引継ぎ 勝ちパターン 活用
6 CONFIDENTIAL ACES Meet におけるリリース作業改善の取り組み
7 CONFIDENTIAL ACES Meet はまだプロダクトマーケットフィット (PMF) したとは言えない 高速にリリースを回し、フィードバックをもらう機会を増やすことが重要 前提: ACES
Meet の プロダクト状況について 出典: https://knowledge-bridge.info/marketing/2038/
8 CONFIDENTIAL PMF に向けてリリース頻度を上げていきたいが、リリース前準備が煩雑 リリース頻度が増えるとその分リリース作業に時間が奪われ、開発生産性が低下 リリース作業に関する課題感
9 CONFIDENTIAL 手作業で実施している リリース作業 様々な歴史的経緯で複雑化した運用を簡易化・効率化したいと考え、黄色の ハイライト箇所から改善に取り組み始めた ▪ デプロイ前 - リリース時の注意事項のリストアップ・確認
- PR 一覧の抽出 & 貼り付け => 改善1 - DB マイグレーションの有無 & 対象テーブルのレコード数の確認 => 改善2 - リポジトリ間のリリース順の確認 - AIのモデルアップデートの有無 - etc... ▪ デプロイ - 手動タグ打ち & Push による CI/CD のトリガー => 改善3 - Slack でデプロイ開始報告 => 改善3 ▪ デプロイ後 - リリース内容の共有 => 改善3
10 CONFIDENTIAL ▪ デプロイ前 - リリース時の注意事項のリストアップ・確認 - PR 一覧の抽出 &
貼り付け => 改善1 - DB マイグレーションの有無 & 対象テーブルのレコード数の確認 => 改善2 - リポジトリ間のリリース順の確認 - AIのモデルアップデートの有無 - etc... ▪ デプロイ - 手動タグ打ち & Push による CI/CD のトリガー => 改善3 - Slack でデプロイ開始報告 => 改善3 ▪ デプロイ後 - リリース内容の共有 => 改善3 手作業で実施している リリース作業 様々な歴史的経緯で複雑化した運用を簡易化・効率化したいと考え、黄色の ハイライト箇所から改善に取り組み始めた
11 CONFIDENTIAL 改善1: PR の洗い出し作業の 簡易化 Squash merge を強制 &
デプロイ用の PR を作成する運用に変更することで、リ リース対象を正しく・自動的にリストアップできるようにし、余計な作業を削減 before after
12 CONFIDENTIAL ▪ デプロイ前 - リリース時の注意事項のリストアップ・確認 - PR 一覧の抽出 &
貼り付け => 改善1 - DB マイグレーションの有無 & 対象テーブルのレコード数の確認 => 改善2 - リポジトリ間のリリース順の確認 - AIのモデルアップデートの有無 - etc... ▪ デプロイ - 手動タグ打ち & Push による CI/CD のトリガー => 改善3 - Slack でデプロイ開始報告 => 改善3 ▪ デプロイ後 - リリース内容の共有 => 改善3 手作業で実施している リリース作業 様々な歴史的経緯で複雑化した運用を簡易化・効率化したいと考え、黄色の ハイライト箇所から改善に取り組み始めた
13 CONFIDENTIAL 改善2: DB マイグレーションの 事前検知 元々、ALTER 文実行時のトラブル (*) を未然に防ぐために、変更対象のテーブルの
リストアップおよびデータ容量・レコード数を手動で確認していた デプロイ用 PR 作成時に、アラートコメントが自動生成されるようにした (*) 例えば、MySQL では ALTER 文を実行する時、テーブルのコピーが作られるが、この仕組みを知らずにデータ容量の多いテーブルに ALTER 文を実行してしまうと、 DB のストレージを一時的に枯渇させる危険がある。
14 CONFIDENTIAL 手作業で実施している リリース作業 様々な歴史的経緯で複雑化した運用を簡易化・効率化したいと考え、黄色の ハイライト箇所から改善に取り組み始めた ▪ デプロイ前 - リリース時の注意事項のリストアップ・確認
- PR 一覧の抽出 & 貼り付け => 改善1 - DB マイグレーションの有無 & 対象テーブルのレコード数の確認 => 改善2 - リポジトリ間のリリース順の確認 - AIのモデルアップデートの有無 - etc... ▪ デプロイ - 手動タグ打ち & Push による CI/CD のトリガー => 改善3 - Slack でデプロイ開始報告 => 改善3 ▪ デプロイ後 - リリース内容の共有 => 改善3
15 CONFIDENTIAL 改善3: CI/CD のアップデート デプロイ用 PR が特定のブランチにマージされたらタグ打ち・リリースノート生成・ デプロイ開始通知が実行される GitHub
Actions を実装 これにより、デプロイ自体の簡易化も実現
16 CONFIDENTIAL before / after まとめ リリース作業を簡易化することで作業時間を削減 リリース頻度が上がっても開発生産性を低下させないプロセスにアップデートできた
17 CONFIDENTIAL チームの反応 / 所感 ▪ チームの反応 (Slack / レトロスペクティブ)
▪ 所感 - 今回の改善を通じて、確認作業系は際限なくToDoを増やせるうえ、困ったときにはダブルチェックに逃げやすい性質が あることを改めて感じました。歴史を繰り返さないよう、今後は運用負荷を上げずに課題を解決できるアイデアを出し合 えるチームにしていきたいです。
None
19 CONFIDENTIAL (参考) テーブルのデータ容量・ レコード数を取得するSQL MySQL では information_schema.TABLES から各テーブルのメタデータの 取得が可能