2024.12.19
システムの穴を運用でカバーしようとしてミス多発… バグが大量発生、決算が合わない状態から業務効率化を実現するまで
Startup Architecture Of The Year 2019 #3-7 株式会社スタメン(全1記事)
提供:アマゾン ウェブ サービス ジャパン株式会社
リンクをコピー
記事をブックマーク
松谷勇史朗氏(以下、松谷):こんにちは。スタメンの松谷です。今日は「TUNAG」のETL基盤、データの処理基板の話をしていきます。
まずサービスについてです。
僕らが運営している「TUNAG」というサービスは、会社と社員の間だったり、社員同士のエンゲージメントの向上、つまり、信頼関係の構築を目的とした企業向けのSNSです。
そこのTUNAGの中で蓄積したコミュニケーションなどのデータには、社員と会社との距離感が反映されています。そのデータを分析することで、エンゲージメントを定量的に分析することができます。今回構築したこのETL基盤も、データを扱う上ですごく重要な、ビジネス上で重要な鍵となっていました。
それではシステムアーキテクチャの説明に入っていきます。
全体像はこんな感じです。データの流れの順に説明していきます。
まず、Amazon S3にすべてのデータを集めるところから始めました。Webのサーバから流れてくるアプリケーションログだったり、Amazon Auroraに保存されているマスターデータを日ごとに抽出して、それをすべてまずAmazon S3に保存しています。
そうして、そのAmazon S3に対してAWS Glueというサービスでクローリングしてあげて、データのカタログを同期してあげます。
そして、そのクローラーの成功のイベントをフックして、Cloud Eventで次のStep Functionsでの集計処理のワークフローを実行しています。ここまですべてイベントドリブンです。
その集計の処理の中身では、AWS LambdaがAmazon Athenaに対して「CREATE TABLE AS」というクエリを実行して、Amazon S3に集計データを再配置しています。
そして、最後の集計データをエンドユーザーの方に使っていただくかたちをとっています。
また別に、集計のケースとしては、新しくKPIの指標を追加したくなったときや、過去分のすべての集計をやり直す必要があります。
そういったときにはAmazon SQSに日ごとのジョブをキューイングしてあげて、それをAWS Lambdaが受け取り、日別に集計を並列処理すればいいということになっています。
以前のETL基盤では、もちろんベストな設計ではなかったのですが、8時間ほど集計に時間がかかっていたのが、LambdaのAuto Scaleを利用することで、なんと20分に縮めることができました。
松谷:続いて、このアーキテクチャを採用している理由です。3つあります。
1つ目、先ほども言ったように、AWS Lambdaのようなスケールアウトだったり、Amazon S3のストレージのスケーラビリティを確保したいところがありました。これはTUNAGが順調に伸びていて、データがどんどん増えてきたからという理由です。
2点目です。今後TUNAGはデータを活用した事業の展開をしていきたいと思っています。なので、まずAmazon S3に置くことで、ほかのAWSのMLOps系のサービスとの親和性も高くなり、事業の拡張がしやすくなると考えました。
そして3つ目。僕はETL基盤のある程度の規模の構築をしたことがなかったのですが、今回、基盤のベストプラクティスを詰め込んだようなマネージドサービスを使うことで、短期間で構築できるのではないかということで進めていきました。
Well Architectedな2つのポイントです。
1つ目は「コストの最適化」というところと、2つ目は「運用上の優秀性」、それぞれ説明していきます。
まず、このシステムは、AWS GlueやAmazon Athena、AWS Lambdaなどの、マネージドサービスとサーバレスで組み立てて作っています。なので、運用上の人的コストはほぼ限りなくなくなりました。
続いて、特徴として、データ量に応じて従量課金なので、事前に予算をかけすぎたり、リソースが枯渇するみたいな心配から解放されました。
松谷:続いて、運用上の優秀性です。
僕らはこのシステムを作りっぱなしにはしていなくて、AWS SAMを使ってまずこのワークロード全体をコード化しています。そうすることで、デプロイの自動化に組み込みやすくなったり、プロダクションにデプロイする際に他のメンバーにレビューをしてもらえるなど、人的なリソースが確保できます。
そして次に、AWS Step Functionsを使っているので、どこでいったい集計の処理に失敗したかみたいなところも、一目瞭然でわかります。あとはStep Functionのエラー処理やTryの処理がすごい柔軟に設定できるので、あらかじめシステムの障害を見越した上での設計ができています。
最後、AWS X-Rayでパフォーマンスの問題を可視化できるので、いつでも診断ができて、どのクエリが遅いみたいなことが、今後データが増えたとしてもできるようになっています。
それではまとめます。ビジネスへの貢献についてです。
並列処理によって時間が短縮しました。これによって、何を意味するかというと、僕らみたいなエンゲージメントという不確実な領域の中で、トライ&エラーの数を増やすことができたんですね。そうすることで、運用上の効率がすごく上がりました。
2つ目。僕を含めて、そんなまだ経験がなかなかない、基盤系の経験がないエンジニアの中でも、マネージドを組み合わせて短期間で構築できました。
3点目。今後の機械学習など、TUNAGの未来へ向けた事業の展開を、データを活用した事業の展開の可能性を広げることができました。
以上の3点で、ビジネスへの貢献のポイントを終わらせていただきたいと思います。ありがとうございました。
司会者:松谷さん、ありがとうございました。
(会場拍手)
じゃあ松谷さんにご質問のあるCTOの方、もしいらっしゃればお願いしたいですが、いかがでしょうか。
名村卓氏(以下、名村):基本的には、Amazon AthenaとAmazon S3でパイプライン処理しているということですかね。
松谷:はい、そのとおりです。
名村:今後リアルタイムなデータを扱うとか、そんなときどうしようとかって、なにかあったりしますか?
松谷:今の設計ですと、アクセスログを準リアルタイムでAmazon Kinesis Firehoseへ送っているので、準リアルタイムなかたちでは今できるんですけれども、今の段階だとリアルタイム性のデータ分析は求められないので、日ごとの集計処理で間に合っています。
司会者:ありがとうございます。じゃあ、あと10秒ぐらいでなにかありますか?
名村:具体的には、どれぐらいの規模のデータを扱っているんですか?
松谷:Dailyですと数10ギガバイトのデータが流れていますので、だいたい月ごとに20パーセントの上昇で増えてきています。
名村:ありがとうございます。
司会者:それでは、松谷さん、以上となります。ありがとうございました。
(会場拍手)
アマゾン ウェブ サービス ジャパン株式会社
関連タグ:
2024.12.20
日本の約10倍がん患者が殺到し、病院はキャパオーバー ジャパンハートが描く医療の未来と、カンボジアに新病院を作る理由
2024.12.19
12万通りの「資格の組み合わせ」の中で厳選された60の項目 532の資格を持つ林雄次氏の新刊『資格のかけ算』の見所
2024.12.16
32歳で成績最下位から1年でトップ営業になれた理由 売るテクニックよりも大事な「あり方」
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
PR | 2024.12.20
モンスター化したExcelが、ある日突然崩壊 昭和のガス工事会社を生まれ変わらせた、起死回生のノーコード活用術
2024.12.12
会議で発言しやすくなる「心理的安全性」を高めるには ファシリテーションがうまい人の3つの条件
2024.12.18
「社長以外みんな儲かる給与設計」にした理由 経営者たちが語る、優秀な人材集め・会社を発展させるためのヒント
2024.12.17
面接で「後輩を指導できなさそう」と思われる人の伝え方 歳を重ねるほど重視される経験の「ノウハウ化」
2024.12.13
ファシリテーターは「しゃべらないほうがいい」理由 入山章栄氏が語る、心理的安全性の高い場を作るポイント
2024.12.10
メールのラリー回数でわかる「評価されない人」の特徴 職場での評価を下げる行動5選
Climbers Startup JAPAN EXPO 2024 - 秋 -
2024.11.20 - 2024.11.21
『主体的なキャリア形成』を考える~資格のかけ算について〜
2024.12.07 - 2024.12.07
Startup CTO of the year 2024
2024.11.19 - 2024.11.19
社員の力を引き出す経営戦略〜ひとり一人が自ら成長する組織づくり〜
2024.11.20 - 2024.11.20
「確率思考」で未来を見通す 事業を成功に導く意思決定 ~エビデンス・ベースド・マーケティング思考の調査分析で事業に有効な予測手法とは~
2024.11.05 - 2024.11.05