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
23
【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
3.9k
Other Decks in Technology
See All in Technology
入門 バックアップ
ryuichi1208
18
7.3k
パートナー企業のテクニカルサポートエンジニアとして気になる、より良い AWS サポートの利活用について
kazzpapa3
0
120
地域DXにおけるGrafana活用事例
wacky
0
290
I tried the newly introduced certification "Applied Skills" on Microsoft Learn
mappie_kochi
0
280
Do you know “Environment Variables” ?
akimiya
0
120
小さな勉強会の始め方、広げ方、あるいは友達の作り方 / How to Start, Grow, and Build Connections with Small Study Groups
ar_tama
6
3.1k
不要なリソースを自動で定期的に整理する方法 ~Sandboxアカウントのコストを削減しよう!~
amixedcolor
3
150
What a Good Platform Looks Like and How to Get There @ Large Financial Organization, Oct 2024
mfpais
PRO
0
110
UE5の雑多なテク
ryuichikawano
0
460
シェルとPerlの使い分け、 そういった思考の道具は、どこから来て、どこへゆくのか?v1.1.0
fmlorg
0
580
【㈱アイモバイル】エンジニア向け会社説明資料
imobile
0
480
LINEヤフー新卒採用 コーディングテスト解説 実装問題編
lycorp_recruit_jp
1
13k
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Practical Orchestrator
shlominoach
186
10k
The Pragmatic Product Professional
lauravandoore
31
6.2k
GitHub's CSS Performance
jonrohan
1030
450k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
The Invisible Side of Design
smashingmag
297
50k
Raft: Consensus for Rubyists
vanstee
136
6.6k
Thoughts on Productivity
jonyablonski
67
4.2k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
WebSockets: Embracing the real-time Web
robhawkes
59
7.4k
We Have a Design System, Now What?
morganepeng
50
7.2k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
240
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関連の課題