こんばんは。データ分析基盤グループ所属の大室です。
この記事はSafie Engineers' Blog! Advent Calendar18日目の記事です!
はじめに
2024年9月12日、Snowflake World Tour Tokyo 2024にて「SnowflakeとCData Syncを採用したSafieのデータ分析基盤構築におけるポイント」と題したセッションに登壇しました。
本セッションは事前登録時点で満席の申し込みを頂き、当日も多くの方にご参加頂きました!
この記事では当日の登壇資料をベースにセッション内容をご紹介します。
なお、本セッションはCData社のスポンサーセッションにご招待頂く形で実現しました。 登壇の機会を頂いたCData社とSnowflake社の皆様にはこの場をお借りして感謝申し上げます。
会場は昨年と同じく、ANAインターコンチネンタル東京でした。
登壇させて頂いたセッション会場はこんな感じです。
CData社の杉本さん(左)と共同で登壇しました。 登壇中はCData社の疋田社長に撮影頂きました。ありがとうございました!
登壇内容
セッション概要
まず最初に、セッションの概要についてお伝えします。
当社では複数SaaS導入によりデータのサイロ化が加速し、財務会計/管理会計におけるデータ分析上の課題が発生しました。
この課題を解決する上でデータ分析基盤が重要な役割を担うことになったのですが、その背景やポイントについてご説明したいと思います。
当社のご紹介
本題に入る前に、当社について紹介させて下さい。
当社はクラウドカメラの映像プラットフォームを提供する会社で、会社名もサービス名もセーフィー(Safie)と言います。
当社のサービスに対応するカメラをご利用頂くと、リアルタイムで映像がクラウドにアップロードされ、Webやモバイルの専用アプリから確認できる、というのが基本機能になっています。 基本機能以外にも、YouTube Liveと連携する機能や、AIで人を検知する機能など、オプション機能も充実しています。
現在、当社のサービスに対応するカメラは全体で約26万台ご契約頂いており、ユーザー様の用途は多様化しています。 やはり防犯・監視用途で利用されることが多いのですが、防犯だけではなく、建設や工事の現場における異常検知や現場監督のリモート化など、人材不足解消を目的とした用途でも広く利用されています。
当社のサービスはオプション含め、基本的にサブスクリプション型で提供しているため、売上全体に占めるリカーリング売上の割合が大きいです。 また、当社はカメラ本体の販売や設置工事も行っておりますので、一般的なSaaS企業と比較するとスポット売上の割合が大きいのが特徴的だと思います。
プロジェクト背景
当社では元々、サブスクリプションの契約管理にSalesforceを使用していました。
しかし、Salesforceはいわゆるワンショットの取引をベースに設計されているサービスなので、サブスクリプションの契約、更新管理、月単位での請求のレコード自動生成等はアドオンを開発しなければならず、オペレーションコストや開発コストが非常に多くかかっていました。
そこで、ビジネスオペレーションの最適化、オペレーションコストの削減や開発コストの抑制を目的として、サブスクリプションに特化した契約管理サービスのZuoraを導入することになりました。
しかし、Zuora導入に伴い別の課題が浮上しました。端的に申し上げると、データのサイロ化です。
Zuora導入後もSalesforceはSFAとして継続利用するため、商談や商流、各種マスタデータはそのままSalesforceで維持されます。
一方、Zuora導入後はSalesforce上のサブスクリプション契約関連オブジェクトが更新されなくなるため、元々Salesforceのレポート機能で完結していた財務会計/管理会計に関連するレポートも更新されなくなるという課題が発生しました。
プロジェクト始動
前述の課題が顕在化したのはZuora本番稼働開始の数ヶ月前。上場企業としてタイムリーに会計業務を遂行できなくなることは、経営上の大きなリスクでした。
この課題を解決するためには、サイロ化している各種データをどこかで結合し、財務会計/管理会計レポートを再構築する必要がありました。そこで声を掛けられたのが、私が管轄しているデータ分析基盤グループです。
データ分析基盤グループでは元々、Safieプラットフォーム(サービスのバックエンドDB)のデータをSnowflake(DWH)に連携し、Tableau(BIツール)で可視化する仕組みを構築していました。
しかし、SalesforceやZuoraをSnowflakeに連携する仕組みは構築していませんでした。当初はスクラッチ開発で仕組みの構築を検討しましたが、データエンジニアのリソースが不足している事情もあり断念。
短期間で確実に開発を終えられる方法を模索した結果、Salesforceのデータ連携用にCData Sync、Zuoraのデータ連携用にZuora Secure Data Share for Snowflake(Zuora社からSnowflakeのデータシェアリング機能でデータを共有頂くサービス)を導入しました。
各ツールの検証には1ヶ月程度掛かりましたが、CData社やZuora社のサポート、社内のSalesforceを管轄するチームと密に連携し、何とか正式導入に漕ぎ着けることが出来ました。
ちなみに、CData SyncはAWSのEC2インスタンスでホスティングして運用しています。
そして、既存の財務会計/管理会計レポートのロジックを、各種データを掛け合わせた形で再構築し、Tableauで可視化。会計業務の継続に大きく貢献することができました。
CData Syncの採用ポイント
CData Syncの導入はすんなり決まったわけではなく、OSSのツールをホスティングする方法や、各種データ連携SaaSと比較検討していました。
CData SyncはGUIベースで容易にジョブの実装が可能であり、履歴化処理やメタデータの自動検出によるスキーマ同期機能・dbt Cloudとの連携機能を有しているため、少ない開発リソースでも短期間で実装可能なイメージを持つことができました。
また、中長期的にはSalesforce以外のSaaSとの連携にも活用でき、価格帯も予算にフィットしたことから、当社のデータ分析基盤にはCData Syncが適していると判断しました。
今後の展望
今回のプロジェクトは短納期かつデータエンジニアの工数が不足していた事情から、やむを得ずSalesforceやZuora由来のデータにはデータモデリングを適用せず、Tableau側でデータの結合や変換処理の大部分を実装しました。
そのため、開発者目線だと運用・保守の負荷が高く、利用者目線だとTableauを経由しないと財務会計/管理会計に関するデータを閲覧できないという課題が生じています。
また、コスト抑制の観点から、Tableauのライセンスは定期利用の見込みがある一部の利用者にしか提供できないという社内事情も相まって、データの民主化のボトルネックになっています。
現在はこのような状態ですが、
今後はSalesforceやZuora由来のデータにもデータモデリングを適用し、Tableau側の処理依存度を低下させ、データ分析基盤全体の拡張性や保守性を向上し、データの民主化を推進できる土壌を整えていきたいと考えています。
余談
イベント登壇前後で会場を徘徊しておりましたので、当日の写真を数点共有します。会場の雰囲気が少しでも伝われば幸いです。
ちなみに、Snowflake社公式でSnowflake World Tour Tokyo 2024のハイライト動画が公開されていますので、こちらもぜひチェックしてみて下さい。
会場風景
Keynoteセッションは満席。Snowflake社のスリダール・ラマスワミCEOが登壇していました。
Snowflake界のアイドル(?)くま太郎。可愛さが爆発していました。
CData社のブースには、SafieのAIソリューション「AI-App人数カウント」のデータ連携にCData Syncが対応した件のチラシを置いて頂きました。ありがとうございます!
来訪者には、Snowflakeに連携したいサービスにシールを貼ってもらっていたようです。 Safieにもシールが貼ってありますね!
Snowflakeの資格を持っていると素敵なグッズが貰えます。 今年はイケてる缶バッジとTシャツでした。家宝にします。
We are hiring!
最後になりますが、データ分析基盤グループでは一緒に働いてくれる仲間を大募集中です!
セーフィーのデバイスやアプリケーションからは1日あたり約80億件のログが発生し、データ量は線形的に増加しています。 このような超ビッグデータを効率的に処理し、ビジネスの意思決定に繋げるための仕組みを一緒に作ってみませんか?
ご興味のある方はセーフィー採用サイトを覗いてみて下さい。
皆様のご応募、心よりお待ちしております!