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
有志で組織横串に挑む - GitLab CI Runnerカイゼン -
Search
bbrfkr
October 10, 2021
Technology
0
260
有志で組織横串に挑む - GitLab CI Runnerカイゼン -
bbrfkr
October 10, 2021
Tweet
Share
More Decks by bbrfkr
See All by bbrfkr
アプリエンジニアを救え! AWS CDKで実現するインフラCI・CD
bbrfkr
2
1.3k
[July Tech Festa 2019] Kubernetes on OpenStack におけるハマりどころ
bbrfkr
5
1.5k
OpenShiftでKubeVirtを試してみた
bbrfkr
1
1.1k
Kubernetes x スマートスピーカ ~ Kubernetesで実現するFaaS ~
bbrfkr
1
260
Virtual Kubelet + Fargate + EKSでノードレス Kubernetes を夢見た話
bbrfkr
5
2.3k
怖くない!コンテナ初心者に送るやさしいKubernetes入門
bbrfkr
20
6k
Other Decks in Technology
See All in Technology
TUNA Camp 2026 京都Stage ヒューリスティックアルゴリズム入門
terryu16
0
330
Datadog で実現するセキュリティ対策 ~オブザーバビリティとセキュリティを 一緒にやると何がいいのか~
a2ush
0
120
Phase04_ターミナル基礎
overflowinc
0
2.3k
20260320_JaSST26_Tokyo_登壇資料.pdf
mura_shin
0
120
FastMCP OAuth Proxy with Cognito
hironobuiga
3
190
君はジョシュアツリーを知っているか?名前をつけて事象を正しく認識しよう / Do you know Joshua Tree?
ykanoh
4
120
Embeddings : Symfony AI en pratique
lyrixx
0
250
_Architecture_Modernization_から学ぶ現状理解から設計への道のり.pdf
satohjohn
2
760
スピンアウト講座02_ファイル管理
overflowinc
0
1.3k
PostgreSQL 18のNOT ENFORCEDな制約とDEFERRABLEの関係
yahonda
0
120
AIエージェント勉強会第3回 エージェンティックAIの時代がやってきた
ymiya55
0
120
20年以上続く PHP 大規模プロダクトを Kubernetes へ ── クラウド基盤刷新プロジェクトの4年間
oogfranz
PRO
0
180
Featured
See All Featured
sira's awesome portfolio website redesign presentation
elsirapls
0
200
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
180
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
390
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
310
Rails Girls Zürich Keynote
gr2m
96
14k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
230
The agentic SEO stack - context over prompts
schlessera
0
710
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.9k
Deep Space Network (abreviated)
tonyrice
0
96
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.2k
Transcript
有志で組織横串に挑む - GitLab CI Runnerカイゼン - 株式会社アイリッジ 斎藤辰徳
斎藤辰徳 (HN: bbrfkr) Hello! 2 所属:株式会社アイリッジ ミッション • OMOモバイルアプリ実行基盤開発 ◦
バックエンド ◦ クラウドインフラ (主にAWS)
自キー沼のご紹介 3
? ◉ 事業 ◦ OMO(Online Merges with Offline)ソリューション開発 ◦ OMOアプリの企画・開発
◉ 技術 ◦ インフラ開発・運用 → AWS × コンテナ がメイン ◦ Managed Serviceを積極活用したCloud Architecture ◦ ECS CLI v1 の国内トップレベルでの利用 AWS Fargate 4 Amazon ECS Amazon ECR Amazon Aurora Amazon Cognito AWS Lambda
Agenda 5 ◉ 弊社GitLabおよびCI環境の課題 ◉ 有志で構成された横串プロジェクトのご紹介 ◉ GitLab Runnerカイゼン ◉
弊社GitLabの今後の展望 ◉ まとめ
弊社GitLabおよびCI環境の課題 6
All in One問題 7 ◉ ほぼ全てのコンポーネントが一つのVMに?! gitaly gitlab-rails sidekiq static-data
nginx postgresql redis 何故かredisだけ 外出し?!
Runner非効率問題 8 ◉ 社内共有Runnerの管理者が不在
◉ 各PJで大小様々な、固有Group Runnerが乱立 共有Runner Runner非効率問題 9 A PJ B PJ
X PJ Y PJ
◉ All in One問題 ◉ Runner非効率問題 弊社GitLabおよびCI環境の課題 10 今回はこちらに対応した話
有志で構成された 横串プロジェクトのご紹介 11
Development Crossover PJ 12 ◉ 課題感 ◦ 担当案件の知見を社内での共有知に中々ならない ◦ 共有資産の責任所在と管理主体が曖昧になりがち
組織横断の課題に 開発者として挑む!
DC PJでやってきたこと 13 ◉ PM陣へ向けた技術資料作成 ◦ Slackインテグレーションの設定と仕組み解説 ◦ CloudWatchの分析ノウハウまとめ ◉
OpenAPI仕様準拠のモックサーバテンプレート ◉ 社内共有GitLab Runnerの集中管理・ビルド速度改善
GitLab Runnerカイゼン 14
解決したい課題とやったこと 15 ◉ 課題 ◦ 社内共有Runnerの管理者不在 ◦ PJ固有Group Runnerの乱立 ◉
やったこと ◦ 社内共有Runnerの運用・管理簡素化 ◦ 社内共有Runnerの管理主体のコミットメント
具体的には。。。 16
工夫したところ 17 ◉ コスト最適化 ◉ Runnerの障害検出 ◉ Runner破棄の事前処理 ◉ Docker
Storageの性能最適化
コスト最適化 18 ◉ 地味だけど大事なこと ◦ Spot Instanceの利用とリタイア対応 ◦ 営業日以外の縮退スケジュール (EventBridge)
Runnerの障害検出 19 ◉ Docker Storageが一杯になるとRunnerが無応答に... ◦ Root VolumeにDocker Storageを割り当てない ◉
Disk容量が一杯になりjobを捌けなくなる... ◦ RunnerにStorageのメトリクスを送らせる ◦ 容量が一定割合を超えたらRunner破棄 ◦ 一定期間メトリクスが来なかったらRunner破棄
Runner破棄の事前処理 20 ◉ Runnerはお行儀よく死ぬ必要がある ◦ 自分に対応するCloudWatchアラームの削除 ◦ 自分をGitLab上から登録解除 ◦ Slackに生きた証を残す
Docker Storageの性能最適化 21 ◉ インスタンスストアの活用 ◦ お高いインスタンスじゃないと容量が足りない... ◦ もう、普通にEBSでよくないかと思い始めた...
弊社GitLabの今後の展望 22
SaaSに移行したい 23
健全運用可能な状態を作る 24 ◉ 構成図の作成 ◉ 運用タスクの洗い出し ◦ version upなど ◉
運用タスクのドキュメンテーション
データサーバの分離 25 ◉ Aurora for PostgreSQL使いたい...けど...
GKE化 26 ◉ gitlab-railsなどの可用性担保 ◉ Kubernetes Executer
まとめ 27
まとめ 28 ◉ 弊社のGitLab、CIで考えていることのご共有 ◦ 横串Projectの存在 ◦ VM Runnerカイゼン(VM辛い... ◦
今後のGitLabの展望 ◉ もっとこうすれば...? というご意見お待ちしてます!
ご質問はお気軽にどうぞ ! ◉ twitter: bbrfkr ◉ mail:
[email protected]
Thanks! 29