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
820
【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.2k
Other Decks in Technology
See All in Technology
怖くない!ゼロから始めるPHPソースコードコンパイル入門
colopl
0
160
クレカ・銀行連携機能における “状態”との向き合い方 / SmartBank Engineer LT Event
smartbank
2
100
PHPerのための計算量入門/Complexity101 for PHPer
hanhan1978
5
660
AWS re:Invent 2024 ふりかえり勉強会
yhana
0
450
私なりのAIのご紹介 [2024年版]
qt_luigi
1
120
AWS re:Invent 2024で発表された コードを書く開発者向け機能について
maruto
0
210
新機能VPCリソースエンドポイント機能検証から得られた考察
duelist2020jp
0
230
サイバー攻撃を想定したセキュリティガイドライン 策定とASM及びCNAPPの活用方法
syoshie
3
1.4k
C++26 エラー性動作
faithandbrave
2
820
LINEヤフーのフロントエンド組織・体制の紹介【24年12月】
lycorp_recruit_jp
0
550
Server-Side Engineer of LINE Sukimani
lycorp_recruit_jp
0
360
NW-JAWS #14 re:Invent 2024(予選落ち含)で 発表された推しアップデートについて
nagisa53
0
280
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
Typedesign – Prime Four
hannesfritz
40
2.4k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
520
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
32
2.7k
Navigating Team Friction
lara
183
15k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
Speed Design
sergeychernyshev
25
670
KATA
mclloyd
29
14k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
26
1.9k
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関連の課題