Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Stream_PipelineのSelf_Service化の心得共有.pdf

 Stream_PipelineのSelf_Service化の心得共有.pdf

Siyuan Liu

January 29, 2025
Tweet

Other Decks in Programming

Transcript

  1. 2 Confidential 自己紹介 氏名:Liu Siyuan
 ニックネーム: シエン
 出身:中国北京
 趣味:ジムでの筋トレ、アウトドアスポーツ(最近あまり動かない) 


    経歴:
 • 前職ではAirflowを利用し、
 分析システムのバックエンド開発を経験した。 
 • 2023年5月メルカリに入社し、
 CDC PipelineのViewのコードリメーク、 
 Stream Pipelineのコスト削減、
 Stream PipelineのSelf-Service化など 
 を経験した

  2. 3 Confidential Agenda • 背景と課題 
 ◦ Stream Pipelineの過去の状況 


    ◦ 過去の状況における課題 
 ◦ Stream PipelineのSelf Service化とは 
 • 解決方法
 ◦ 課題1の解決方法 
 ◦ 課題2の解決方法 
 • プロジェクトの効果 
 • 今後の作業 

  3. 5 Confidential 過去の状況における課題 課題1:リソース集中による管理者の負担増 課題2:手作業による管理者の負担増 • リソースはData Platformチームが管理している Namespaceに集中しています。そのため、他のチームが リソースを管理する際には、Data

    Platformチームを介さ なければなりません。これにより、Data Platformチーム の負担が大きくなっています。
 • Data Platformチームは、他のチームからのリクエストに 対して手動で設定を行う必要があるため、作業負担が 大きくなっています。
 
 • さらに、事業の拡大に伴いリクエストの数が増え続けて おり、それに伴ってData Platformチームの作業量も増 加し続けています。
 Stream PipelineのSelf Service化による課題解決
  4. 6 Confidential Stream PipelineのSelf Service化とは Stream Pipelineを構築、管理、運営するプロセスを、プラットフォームエンジニアに依存せずに、 各事業部のエンジニアなど、技術的な専門知識がなくても行えるようにする取り組みを指しま す。
 


    一般的に、Self Serviceには以下の要素が必要です: 
 1. アーキテクチャーの分散設計とリソースの分散管理 
 2. 自動化ツールにより環境やインフラの構築の自動化 
 3. 利用者向けの関連ドキュメントの整備 

  5. 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

  6. 11 Confidential 例えば、
 過去には、10チームからリクエストがあった場合、設定回数は10 x 5 = 50 回 


    
 現在では、10 x 1 = 10回にまで減少し、以前と比べて5倍の減少となっていま す。
 課題2(手作業による管理者の負担増 )の解決方法 — 方法1:Terraform Moduleによる自動化
  7. 12 Confidential 課題2(手作業による管理者の負担増 )の解決方法 — 方法2:Github Action UIによる自動化 これまで、Stream Pipelineを構築するすためには、十数個の設定ファイルを手動

    で作成する必要がありましたが、自動化ツールの開発により、全てのファイルを Github ActionのUIを通じて自動的に作成できるようになっています。 

  8. 16 Confidential プロジェクトの効果 1. Stream Pipelineの構築依頼に関して、Data Platformチームの作業が不要 になりした。 
 2.

    各チームは自らStream Pipelineの設定を変更ができ、リリースも自分で行う ことができます。 
 3. リソースが分散管理できるようになるため、各チームのNamespaceでリソー スの使用量や費用の確認も簡単になります。 
 

  9. 17 Confidential 今後の作業 • 既存のPipelineを引き続きSelf Serviceの環境に移行します。 
 • 自動化率をさらに上げます。 


    ◦ Schemaの自動Import 
 ◦ Platform Client Version自動更新 
 ◦ sbt releaseプロセスの改善