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
240
有志で組織横串に挑む - GitLab CI Runnerカイゼン -
bbrfkr
October 10, 2021
Tweet
Share
More Decks by bbrfkr
See All by bbrfkr
アプリエンジニアを救え! AWS CDKで実現するインフラCI・CD
bbrfkr
2
1.2k
[July Tech Festa 2019] Kubernetes on OpenStack におけるハマりどころ
bbrfkr
5
1.4k
OpenShiftでKubeVirtを試してみた
bbrfkr
1
1.1k
Kubernetes x スマートスピーカ ~ Kubernetesで実現するFaaS ~
bbrfkr
1
250
Virtual Kubelet + Fargate + EKSでノードレス Kubernetes を夢見た話
bbrfkr
5
2.2k
怖くない!コンテナ初心者に送るやさしいKubernetes入門
bbrfkr
20
5.9k
Other Decks in Technology
See All in Technology
なぜAI時代に 「イベント」を中心に考えるのか? / Why focus on "events" in the age of AI?
ytake
2
800
Snowflake のアーキテクチャは本当に筋がよかったのか / Data Engineering Study #30
indigo13love
0
280
生成AIによる情報システムへのインパクト
taka_aki
1
200
AI時代の知識創造 ─GeminiとSECIモデルで読み解く “暗黙知”と創造の境界線
nyagasan
0
160
分散トレーシングによる コネクティッドカーのデータ処理見える化の試み
thatsdone
0
270
robocopy の怖い話/scary-story-about-robocopy
emiki
0
400
Kiro Hookを Terraformで検証
ao_inoue
0
140
今日からあなたもGeminiを好きになる
subaruhello
1
650
AIに全任せしないコーディングとマネジメント思考
kikuchikakeru
0
270
激動の時代、新卒エンジニアはAIツールにどう向き合うか。 [LayerX Bet AI Day Countdown LT Day1 ツールの選択]
tak848
0
610
スプリントレビューを効果的にするために
miholovesq
9
1.7k
alecthomas/kong はいいぞ
fujiwara3
6
1.1k
Featured
See All Featured
Building Applications with DynamoDB
mza
95
6.5k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1k
Being A Developer After 40
akosma
90
590k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Bash Introduction
62gerente
613
210k
A Tale of Four Properties
chriscoyier
160
23k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Art, The Web, and Tiny UX
lynnandtonic
301
21k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Docker and Python
trallard
45
3.5k
Fireside Chat
paigeccino
37
3.5k
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