リバネスの会員サービスをHeroku,AWS,Salesforce,Einstein Analyticsで構築しました

   

先程Twitter見てたらテラスカイさんのリリースが流れてきました。

フォトハウスMemorisの会員サイトをマルチクラウドで構築

は!ここで書かれてることと同じことを弊社リバネスも2019/3/1付でリリースしたのです。先を越されてしまった(笑

リバネスの会員サイトリバネスID:https://id.lne.st

構成はほぼ同じです。

リバネスID構築環境

そもそもなぜこんなことしてるのか

リバネスでは、リバネス研究費TECH PLANTERサイエンスキャッスル研究費マリンチャレンジプログラム超異分野学会キャリアディスカバリーフォーラムなど、参加型の企画が多数展開しています。これまではそれぞれ別サービスでIDを作ってもらい情報登録をしてもらっていたのですが、流石に煩雑であろうと。加えて、管理側からみると、IDが分散しているので、いま現時点で一番アクティブな人ってだれなんだろう?と思ったら全データ引っ張り出して突き合わせないとできませんでした。動きが遅くなりますし、遅くなるというかそんなこともあり分析がやれていません。もったいないですね。情報がほしいであろう人に適切に届ける体制が作れていないのは由々しき問題であろうということでリバネスIDというサービスによって1人に1つのIDを提供し、その上で様々な活動に参加してもらおうということに決めました。

加えて、これらの会員機能は昨年まではSalesforceのCommunity Cloudを使っていたのですが、ライセンス費用がかなりかさみます。弊社に存在するIDの総数は5万超という感じでしたので、これをCommunityCloud上で構築するとコストが合わないなという感じだったことも構築の理由です。何しろ日常的につかうというよりは、申請テーマが合致した場合にログインして情報を登録するという使い方なので、アクティブな時期に山があるんですよね。

やってみてどうだったか

Heroku connectがかなり良い

Heroku上ではPostgresによってデータベースが構築されており、これを使ってWebサービスを展開しています。Heroku Connectを使うことで、このPostgresの情報をSalesforceの特定のオブジェクトに同期できます。

これを構築するに当たり、Salesforce側のデータ構造も見直し、リバネスIDというオブジェクトに全てが紐づく形へと移行しました。これはなれた人なら大した作業では無いと思います。

今まで成り行きで作っていた項目も見直し、グローバル選択リストを共通で利用するようにして管理工数の削減も同時に実現しています。サービスのリプレースを行うことで内部のデータがスッキリしました。素晴らしい。

開発者の切り分けが可能

私自身はSalesforceの内側の開発を主に担当しています。Heroku ConnectによってデータはSalesforce側に同期する訳ですから、実はHeroku側に管理画面がありません。フロントエンドを担うエンジニアには、フロント側のみの開発に専念してもらうことができました。もちろんSalesforceのオブジェクト側で選択リスト項目を使っている場合はHeroku側でも、同じValueを与えないとエラーになるのでそこだけは合わせる必要がありますが、開発担当領域の切り分けが可能なのは非常に良かったです。

分析はEinstein Analyticsで

会員データの分析ダッシュボードもHeroku上には持っていません。こちらはSalesforceに同期したデータをEinstein AnalyticsというBIツールを使って出力しています。構築作業が一瞬で終わります。これは神機能。

Einstein Analyticsによるデータ出力

帳票出力はVisualforceで

入力されたデータは、研究費の申請データだったり、審査が必要なものが多いので、テーマごとにデータを集約した審査用ファイルを作る必要があります。これはVisualfoce Pageを使って出力。PDFにして閲覧したり、お客様に納品をしたりといったことが可能になっています。基本的には出力のみなのでVisualforceページの開発コストは大したこと無いです。これまでに作ったものを応用して2時間程度といった所でしょうか。こんな感じになっています↓

AWSにアップした画像もこちらから参照して出力するようになっています。

リバネス研究費申請書の出力用ページ

以上です

運用は始まったばかりですので、これからなにか出てくるのかもしれませんが、今の所は満足度の高い構築ができました。これを土台にしてより良いサービスへと進化させたいと思います。

おすすめ記事一覧

 - Heroku, Salesforce