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
1.4k
【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.9k
Other Decks in Technology
See All in Technology
SREのためのeBPF活用ステップアップガイド
egmc
1
210
AWS CDK 入門ガイド これだけは知っておきたいヒント集
anank
3
300
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
54
21k
関数型プログラミングで 「脳がバグる」を乗り越える
manabeai
2
210
スタートアップに選択肢を 〜生成AIを活用したセカンダリー事業への挑戦〜
nstock
0
260
SREの次のキャリアの道しるべ 〜SREがマネジメントレイヤーに挑戦して、 気づいたこととTips〜
coconala_engineer
1
160
【あのMCPって、どんな処理してるの?】 AWS CDKでの開発で便利なAWS MCP Servers特集
yoshimi0227
4
300
Lakebaseを使ったAIエージェントを実装してみる
kameitomohiro
0
160
freeeのアクセシビリティの現在地 / freee's Current Position on Accessibility
ymrl
2
240
TableauLangchainとは何か?
cielo1985
1
120
オフィスビルを監視しよう:フィジカル×デジタルにまたがるSLI/SLO設計と運用の難しさ / Monitoring Office Buildings: The Challenge of Physical-Digital SLI/SLO Design & Operation
bitkey
1
120
【LT会登壇資料】TROCCO新コネクタ「スマレジ」を活用した直営店データの分析
kazari0425
1
110
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
25
1.7k
Rails Girls Zürich Keynote
gr2m
95
14k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
980
Docker and Python
trallard
44
3.5k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
Mobile First: as difficult as doing things right
swwweet
223
9.7k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
Being A Developer After 40
akosma
90
590k
A Tale of Four Properties
chriscoyier
160
23k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.5k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
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関連の課題