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
19
Stream_PipelineのSelf_Service化の心得共有.pdf
Siyuan Liu
January 29, 2025
Tweet
Share
Other Decks in Programming
See All in Programming
“あなた” の開発を支援する AI エージェント Bedrock Engineer / introducing-bedrock-engineer
gawa
11
1.9k
Pythonでもちょっとリッチな見た目のアプリを設計してみる
ueponx
1
530
SpringBoot3.4の構造化ログ #kanjava
irof
2
980
[Fin-JAWS 第38回 ~re:Invent 2024 金融re:Cap~]FaultInjectionServiceアップデート@pre:Invent2024
shintaro_fukatsu
0
410
動作確認やテストで漏れがちな観点3選
starfish719
6
1k
Rails アプリ地図考 Flush Cut
makicamel
1
110
個人アプリを2年ぶりにアプデしたから褒めて / I just updated my personal app, praise me!
lovee
0
340
Domain-Driven Transformation
hschwentner
2
1.9k
プログラミング言語学習のススメ / why-do-i-learn-programming-language
yashi8484
0
130
Pulsar2 を雰囲気で使ってみよう
anoken
0
230
GAEログのコスト削減
mot_techtalk
0
120
最近のVS Codeで気になるニュース 2025/01
74th
1
260
Featured
See All Featured
GraphQLとの向き合い方2022年版
quramy
44
13k
BBQ
matthewcrist
86
9.5k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.5k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
29
2.2k
Raft: Consensus for Rubyists
vanstee
137
6.8k
Building Better People: How to give real-time feedback that sticks.
wjessup
366
19k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Optimising Largest Contentful Paint
csswizardry
34
3.1k
Making Projects Easy
brettharned
116
6k
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