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

スタートアップにおけるデータ基盤のパッチワークフローの変遷

 スタートアップにおけるデータ基盤のパッチワークフローの変遷

AWS startup 202106

kakehashi

June 11, 2021
Tweet

More Decks by kakehashi

Other Decks in Technology

Transcript

  1. 自己紹介
 福田 貴之
 株式会社カケハシ データ基盤 ProductOwner 兼 エンジニア
 経歴
 •

    某Y!2007年新卒でモバイル向けサービス開発運用 
 • ソーシャルゲーム会社でログ基盤を約6年くらいみてた 
 • あとはベンチャーをいくつか...(HR Saasとか) 
 • 2020年より現職
 好きなAWSサービス: ECSFargate
 

  2. 何故ワークフローエンジンを使うか • cron(CloudWatchEventsなど)では駄目なのか?
 ◦ 依存関係のない単発のJOBがある程度ならこちらの方が楽 
 • バッチを運用してると困ってくること
 ◦ ジョブごとの依存関係をコードで管理したい....

    
 ◦ retry処理や成否通知処理をそれぞれのJobに実装したくない... 
 ◦ どこまで終わっているのか状態管理をしてほしい... 
 ◦ どの部分にどれくらい時間がかかっているのか観測したい... 
 ◦ 失敗時にそこから再集計しやすいようにしたい... 
 • 最初からワークフローを導入するのはオーバースペックな場合も

  3. バッチワークフロー比較 OSSはいくつかあるけれど、、マネージドでやりたい
 • (OSS)Airflow
 ◦ Airbnb社
 • (OSS)Digdag
 ◦ TreasureData社


    • (OSS)Argo Workflow 
 ◦ k8sネイティブ
 • (OSS)Luigi
 ◦ Spotify社OSS
 • AWS StepFunctions
 • AWS Glue Workflow
 • Amazon Managed Workflows for Apache Airflow

  4. AWSマネージドワークフロー所感
 • Glue Workflow
 ◦ Glue Job/Glue Crawlerだけのワークフローなら作るのは一番ラク 
 ◦

    S3をGlueJobでETL処理してAthenaで見るみたいな用途だとマッチするのでは 
 ◦ コンソールのジョブの一覧性がちょっと... 
 • StepFunctions
 ◦ GlueWorkflowよりは多少めんどくさいが自由度もある 
 ◦ 豊富なAWSサービスとの連携 
 ◦ 思想としてコードを書かずにワークフローが作れる 
 • MWAA(Airflow)
 ◦ Airflowをマネージドで運用してくれる 
 ◦ ワークフローがコードで管理できる(=かなり書く必要があるが...) 
 ◦ 拡張性もある(boto3でコードを書けになりがちだが...) 
 ◦ UIがわかりやすく再集計などがやりやすい 

  5. MWAA(Airflow)実際に運用するにあたって辛いかもな点
 • わりと(かなり)コード書く必要があるかも
 ◦ 再利用は可能だし通知やretry処理を作り込む必要がないとはいえ... 
 ◦ 一部はOperatorsなど用意されているものもあるが(ECSなど) 
 ▪

    https://airflow.apache.org/docs/apache-airflow-providers-amazon/stable/operators/index. html
 ◦ GlueJobをワークフロー(DAG)から呼ぶときなどboto3で実装必要 
 
 
 
 ◦ AssumeRoleが1時間で切れるのでそのあたりの実装も必要 
 • [MWAA] plugin化したファイルの反映にAirflowの再起動が必要(30分くらいかか る...)
 def exec_gluejob(**kwargs): client = boto3.client("glue") res = client.start_job_run( JobName=job_name, Arguments=job_args, )
  6. カケハシは絶賛採用実施中です!! カジュアル面談からでも!! • サーバサイドエンジニア • フロントエンドエンジニア • SRE • データエンジニア

    • プロダクトマネジャー • 開発ディレクター(スクラムマ スター) https://herp.careers/v1/kakehashi