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
Stream_PipelineのSelf_Service化の心得共有.pdf
Search
Siyuan Liu
January 29, 2025
Programming
0
28
Stream_PipelineのSelf_Service化の心得共有.pdf
Siyuan Liu
January 29, 2025
Tweet
Share
Other Decks in Programming
See All in Programming
CSC307 Lecture 05
javiergs
PRO
0
500
責任感のあるCloudWatchアラームを設計しよう
akihisaikeda
3
180
Raku Raku Notion 20260128
hareyakayuruyaka
0
370
コマンドとリード間の連携に対する脅威分析フレームワーク
pandayumi
1
470
React 19でつくる「気持ちいいUI」- 楽観的UIのすすめ
himorishige
11
7.5k
dchart: charts from deck markup
ajstarks
3
1k
余白を設計しフロントエンド開発を 加速させる
tsukuha
7
2.1k
なぜSQLはAIぽく見えるのか/why does SQL look AI like
florets1
0
480
AI Schema Enrichment for your Oracle AI Database
thatjeffsmith
0
330
React Native × React Router v7 API通信の共通化で考えるべきこと
suguruooki
0
100
インターン生でもAuth0で認証基盤刷新が出来るのか
taku271
0
190
今こそ知るべき耐量子計算機暗号(PQC)入門 / PQC: What You Need to Know Now
mackey0225
3
390
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
200
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
53
The agentic SEO stack - context over prompts
schlessera
0
650
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.4k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
110
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
90
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
100
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
72
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.6k
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
Transcript
1 Confidential Stream PipelineのSelf Service化の心得共有 - Data Platform - 2025/01/24
@siyuan.liu
2 Confidential 自己紹介 氏名:Liu Siyuan ニックネーム: シエン 出身:中国北京 趣味:ジムでの筋トレ、アウトドアスポーツ(最近あまり動かない)
経歴: • 前職ではAirflowを利用し、 分析システムのバックエンド開発を経験した。 • 2023年5月メルカリに入社し、 CDC PipelineのViewのコードリメーク、 Stream Pipelineのコスト削減、 Stream PipelineのSelf-Service化など を経験した
3 Confidential Agenda • 背景と課題 ◦ Stream Pipelineの過去の状況
◦ 過去の状況における課題 ◦ Stream PipelineのSelf Service化とは • 解決方法 ◦ 課題1の解決方法 ◦ 課題2の解決方法 • プロジェクトの効果 • 今後の作業
4 Confidential Stream Pipelineの過去の状況 これまで、Stream Pipelineの構築と管理はData Platformチームによって中央管理方式で行わ れていて、これらのアプリケーションは主にData Platformチームが管理するNamespaceで稼働 しています。
5 Confidential 過去の状況における課題 課題1:リソース集中による管理者の負担増 課題2:手作業による管理者の負担増 • リソースはData Platformチームが管理している Namespaceに集中しています。そのため、他のチームが リソースを管理する際には、Data
Platformチームを介さ なければなりません。これにより、Data Platformチーム の負担が大きくなっています。 • Data Platformチームは、他のチームからのリクエストに 対して手動で設定を行う必要があるため、作業負担が 大きくなっています。 • さらに、事業の拡大に伴いリクエストの数が増え続けて おり、それに伴ってData Platformチームの作業量も増 加し続けています。 Stream PipelineのSelf Service化による課題解決
6 Confidential Stream PipelineのSelf Service化とは Stream Pipelineを構築、管理、運営するプロセスを、プラットフォームエンジニアに依存せずに、 各事業部のエンジニアなど、技術的な専門知識がなくても行えるようにする取り組みを指しま す。
一般的に、Self Serviceには以下の要素が必要です: 1. アーキテクチャーの分散設計とリソースの分散管理 2. 自動化ツールにより環境やインフラの構築の自動化 3. 利用者向けの関連ドキュメントの整備
7 Confidential 課題1(リソース集中による管理者の負担増 )の解決方法 — 過去のシステムのアーキテクチャー
8 Confidential 課題1(リソース集中による管理者の負担増 )の解決方法 リソースを各チームが管理するNamespaceにマイグレーションすることで、Data Platformチームの負担が減少しています。
9 Confidential 課題2(手作業による管理者の負担増 )の解決方法 — 方法1:Terraform Moduleによる自動化 これまで、Stream Pipelineを構築するためには、以下のリソースを手動で各マイ クロサービスに設定しなければなりませんでした。
• Service Account Permissions ◦ Secret Manager Access Permission ◦ Bucket Access Permission • GCS Bucket Resources ◦ Flink Checkpoint, Savepoint, HA Bucket • SecretManager ◦ Datadog Api Key ◦ Confluent Schema Registry Key
10 Confidential 課題2(手作業による管理者の負担増 )の解決方法 — 方法1:Terraform Moduleによる自動化 Terraform Moduleの開発により、Terraform ModuleをImportするだけで、全ての
リソースが自動的に作成できるようになりました。使い方は以下の通りです。
11 Confidential 例えば、 過去には、10チームからリクエストがあった場合、設定回数は10 x 5 = 50 回
現在では、10 x 1 = 10回にまで減少し、以前と比べて5倍の減少となっていま す。 課題2(手作業による管理者の負担増 )の解決方法 — 方法1:Terraform Moduleによる自動化
12 Confidential 課題2(手作業による管理者の負担増 )の解決方法 — 方法2:Github Action UIによる自動化 これまで、Stream Pipelineを構築するすためには、十数個の設定ファイルを手動
で作成する必要がありましたが、自動化ツールの開発により、全てのファイルを Github ActionのUIを通じて自動的に作成できるようになっています。
13 Confidential 課題2(手作業による管理者の負担増 )の解決方法 — 方法2:Github Action UIによる自動化 十数個の設定ファイル 自動生成
14 Confidential 課題2(手作業による管理者の負担増 )の解決方法 — 方法3:ドキュメント整備による Self Service化 これまで、Data Platformチームの担当者はリクエスト対して、自ら手動で設定を
行う必要がありましたが、
15 Confidential 課題2(手作業による管理者の負担増 )の解決方法 — 方法3:ドキュメント整備による Self Service化 ドキュメント整備により、このドキュメントに参照するとことで、誰でも自分で設定 を行えるようになっています。
16 Confidential プロジェクトの効果 1. Stream Pipelineの構築依頼に関して、Data Platformチームの作業が不要 になりした。 2.
各チームは自らStream Pipelineの設定を変更ができ、リリースも自分で行う ことができます。 3. リソースが分散管理できるようになるため、各チームのNamespaceでリソー スの使用量や費用の確認も簡単になります。
17 Confidential 今後の作業 • 既存のPipelineを引き続きSelf Serviceの環境に移行します。 • 自動化率をさらに上げます。
◦ Schemaの自動Import ◦ Platform Client Version自動更新 ◦ sbt releaseプロセスの改善
18 Confidential ご清聴ありがとうございました 2025/01/24 @siyuan.liu