Serverlessconf Tokyo 2018

The Design for Serverless ETL Pipeline

Serverlessconf Tokyo 2018に登壇しました

こんにちは。分析基盤エンジニアの秋本です。

先日9月29日に行われたServerlessconf Tokyo 2018(以下、サーバレスカンファ)に登壇し、弊社の サーバレスETL(Extract Transform Load)基盤 に関して発表を行いました。

また、サーバレスカンファに出展した弊社ブースでは、 サーバレスとビッグデータに関するクイズ大会 を開き、多くの方に参加して頂きました。

本エントリでは、発表したサーバレスETL基盤の内容と、弊社ブースの内容をお伝えしたいと思います。

サーバレスETL基盤の概要

背景

私たちは2013年から分析基盤を運用し続けており、社内からの分析要望に応える形で、現在までシステムのアップデートを重ねてきました。しかし直近、下記のような問題が顕在化するようになりました。

  • シェルスクリプトで書かれたレガシーなコードの開発および保守が困難
  • 複数システムを連携させるスケジュール実行ではテーブル単位でのロードができず非効率
  • オンプレサーバが複雑化しすぎて開発に必要なパッケージを導入できない

このようなシステム上の困難を解消するために、私たちはサーバレスを用いたETL基盤を構築することに決めました。

アーキテクチャ設計思想

今回のサーバレスETL基盤を設計するにあたり、私たちは下記の5つを目標としました。

  • サーバー管理が極力少ないパイプラインと実行環境
  • イベントドリブン & 疎結合なアーキテクチャ
  • スケーラビリティと処理の並列数の管理
  • イベント(データ)のステータス管理と活用
  • 運用が楽になるロギング・モニタリング

また全体のアーキテクチャ構成は下図のようになっております。

Architecture

サーバレスでの設計は、スケーラブルで疎結合なアーキテクチャが作りやすいという利点がありますが、一方でそれをETL基盤に適用する際には、DWH(Data Warehouse)といった スケールが困難なコンポーネントに対する並列数をしっかりと制御する必要があります。

また、サーバレスではログがそれぞれのコンポーネントに分散しますので、本番での運用につなげるためには、 ログを一元的に管理するDatadogのような仕組みが必要となります。

その他設計の詳細は上記のスライドに記載しておりますので、ぜひご覧ください。

発表の様子

wide

akimoto_shirotori

yamada

数百人の参加があったサーバレスカンファですが、その会場は大きく、 48:9のスライドサイズでの発表 となりました。このスライドサイズでの発表は、全員にとって初めてのことでしたが、良い経験となりました。

実際の発表では、分析基盤の概要に関するパートは山田、そして設計に関する部分は白鳥と秋本が担当しました。

二人の発表では、いわゆる「漫談形式」で既存システムの悩みや、サーバレスな設計・実装ポイントを紹介しました。途中笑いが起きながらも、悩みの部分では「うんうん」と頷いて頂くことが多く、同じ問題を抱えていることが共有できたかと思います。また、サーバレスな設計・実装ポイントに関しても、発表後に同じような悩みを抱える方から「とても参考になった」との感想を頂き、我々としても良い発表ができたのではないかと感じています。

出展ブースの紹介

QuizAppExec

登壇と同日に行われたブースでの出展では、サーバレスとビッグデータに関するクイズ大会を開きました。

来場者にはスマートフォンからクイズ用のURLにアクセスしてもらい、全8問の四択クイズに参加してもらいました。

実はこちらのクイズアプリ、分析基盤チーム内のハッカソンで作成したものとなります。 下図のようにサーバレスで構成されており、またランキングの集計機能も実装しました。

多くの参加者が、少しでも上の順位を目指すため、熱心に問題に取り組んでおりました。

QuizApp

最後に

今回サーバレスカンファに参加していて気づいたのは「サーバレスを使ってみた」ではなく 「どのようにサーバレスを使うか」に焦点が当たった発表が多かったことです。

例えば、サーバレスを用いた場合の構成管理やログ管理に関する発表が多く、 サーバレスに取り組んでいる私たちのチームにとって、非常に参考になる内容でした。

このような素晴らしい機会を与えてくださったサーバレスカンファのスタッフの皆様には 改めて御礼を申し上げます。

来年も機会があれば、ぜひ参加したいと思います。

Everyone

一緒に分析基盤を作りませんか?

私たちのチームでは一緒に分析基盤を作る仲間を募集しています。

この記事を読んでご興味を持った方は、下記のWantedly、フッターから飛べる中途採用ページのいずれかからご連絡ください。お待ちしております。

秋本 大樹

(データマネジメント2グループ)

最近はフロントエンドの学習をしています。世の中に存在するデータを収集し、機械学習や分かりやすいビジュアルを用いてデータをカスタマーに分かりやすく提供し、ビジネスのお役に立てたらと思います。趣味は将棋観戦です。

NEXT