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
【PIXIV DEV MEETUP 2024】AirflowのKubernetes移行 ~ K...
Search
Kashira
October 14, 2024
Technology
0
670
【PIXIV DEV MEETUP 2024】AirflowのKubernetes移行 ~ Kubernetesで運用するのは思ったより難しくない ~
PIXIV DEV MEETUP 2024の発表資料です。
https://conference.pixiv.co.jp/2024/dev-meetup
Kashira
October 14, 2024
Tweet
Share
More Decks by Kashira
See All by Kashira
【PIXIV MEETUP 2023】ピクシブのデータインフラと組織構造
kashira
1
4.1k
Other Decks in Technology
See All in Technology
【LT】ソフトウェア産業は進化しているのか? #Agilejapan
takabow
0
100
FlutterアプリにおけるSLI/SLOを用いたユーザー体験の可視化と計測基盤構築
ostk0069
0
120
【Startup CTO of the Year 2024 / Audience Award】アセンド取締役CTO 丹羽健
niwatakeru
0
1.4k
ドメインの本質を掴む / Get the essence of the domain
sinsoku
2
160
Lexical Analysis
shigashiyama
1
150
Oracle Cloud Infrastructureデータベース・クラウド:各バージョンのサポート期間
oracle4engineer
PRO
29
13k
複雑なState管理からの脱却
sansantech
PRO
1
160
The Role of Developer Relations in AI Product Success.
giftojabu1
1
150
Amazon CloudWatch Network Monitor のススメ
yuki_ink
1
210
データプロダクトの定義からはじめる、データコントラクト駆動なデータ基盤
chanyou0311
2
350
OCI Vault 概要
oracle4engineer
PRO
0
9.7k
テストコード品質を高めるためにMutation Testingライブラリ・Strykerを実戦導入してみた話
ysknsid25
7
2.7k
Featured
See All Featured
Music & Morning Musume
bryan
46
6.2k
Optimizing for Happiness
mojombo
376
70k
10 Git Anti Patterns You Should be Aware of
lemiorhan
655
59k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
430
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
380
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Visualization
eitanlees
145
15k
BBQ
matthewcrist
85
9.3k
How to Think Like a Performance Engineer
csswizardry
20
1.1k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
Designing for humans not robots
tammielis
250
25k
Transcript
Airflowの Kubernetes移行 kashira ~ Kubernetesで運用するのは 思ったより難しくない 〜
全社のデータインフラ・データマ ネジメントを担当しています kashira
このLTで話さないこと • 全社Airflowの運用の工夫・残っている課題 • 移行での苦しみ • インフラ構成の細かい話 Ask the Speakerで話しましょう
みなさん Airflowを運用していますか?
データパイプラインの基盤として利用
なおさら、Kubernetes(k8s)での運用なん てやばくない? Airflowは運用が大変と よく聞きませんか?
大変です... けど思ったより簡単でした (ピクシブの場合)
なぜ簡単だと思ったのか? これについて話します
移行前の構成
移行前は課題がいっぱい(抜粋) • これ以上垂直スケール出来ないと言われた • サーバーがインフラの管理なので手が出しにくい • チームAのタスクが問題でチームBのタスクが遅延する
根本解決には 大規模な構成の変更が必要
でもデータエンジニアには 難しそう...
とりあえずインフラチームに相談 • Google CloudのCloud Composerに乗せる ◦ オンプレのDBとの接続がネック • (採用) オンプレk8sの上にHelm管理で入れる
◦ 一から全部作るの難しそう 解決策
解決策がまとまったので やってみる!💪
移行後の構成
Templateに従うだけで 完成度の高いリソース構成 が出来た
あれ、思ったより簡単?
簡単だと思った要因 • 社内のインフラチームに聞けば大抵解決する • Argo CDなどのk8s運用で便利な仕組みが整っている • Helmを使ってパラメータをいじるだけでほぼ完成する ◦ 構成の完成度も高い
安心してください(?) 辛いところもありました
辛いところ • 社内共用のk8sクラスタに乗るので制約がある • やっぱり学習コストは重い ◦ Kubernetesの基礎 ◦ Helmの基礎 ◦
Argo CDの基礎 ◦ Airflowの深い理解
制約による課題 • Airflow(バッチ)の特性上、特定の時間に負荷が集まる ◦ 何も考えずに一気に移行すると他のサービスに影響を与える 可能性が高い • リソース消費の激しい処理は事前に調整が必要 • ストレージ周りの運用で細かい調整が必要だった
◦ テンプレートをそのまま使えない
移行には一工夫した 移行は気合いで乗り切った • 全チームの約200個のDAGを数個ずつ、インフラと調整 しつつ、6ヶ月かけて1人で移行した ◦ 合わせて、ピーク時間の調整・平滑化を行った • Airflow起因で他サービスに影響を与えることはなかった
苦労したけど、 移行して良かった!!
移行前より確実に運用しやすい • Airflowの変更がデータ基盤チームで完結する • 学習コストは高いけど、Argo CDやk8sクラスタの運用は 無いので十分に運用できる • 水平スケール出来る・タスクリソースの分離が可能
データ基盤チームとインフラチームは部が違う 2024年9月6日時点
Before After
運用すべきものは実は少ない インフラ管理 データ基盤管理 責務が分離されていれば Airflowのみに集中できる
Airflowをk8sで運用するのは 思ったより簡単
k8sに詳しい仲間と 相乗りできるk8s基盤があれば
一番大変で重要なことは Airflowを深く理解すること
Ask the Speakerで!! • 全社Airflowを運用する上での工夫 • Airflowを深く理解していなくて苦労した話 • Airflowのベストプラクティス •
インフラ構成の細かい話 • 社内に残っているAirflow関連の課題