1. DX セッション: ZAP ID と Authlete

DX セッション: ZAP ID と Authlete

この文字起こしは、2023 年 12 月 12 日に開催された Authlete Customer and Partner Meetup 2023 のプレゼンテーションのひとつです。 RIZAP テクノロジーズ DX 推進本部 プロダクト開発統括 1 部 佐藤直之さまに、chocoZAP / ZAP ID の事業戦略から技術戦略、そして Authlete がどのように貢献したのかをお話しいただきました。

はじめに

はじめまして、RIZAP の佐藤と申します。本日は「ZAP IDと Authlete」と題し発表させていただきます。

最初に自己紹介させていただきます。佐藤直之と申します。2 年前に RIZAP グループ株式会社に入りまして、ちょうど先月の 11 月に 2 年を迎え、今 3 年目になります。

今、RIZAP テクノロジーズの、プロダクト開発統括 1 部の部長という役割で仕事させていただいています。

RIZAP グループのDX 推進

なぜわたしがそもそも今日ここに立つに至ったか、経緯からお話しします。

100 人採用・100 億投資

数年前、RIZAP グループが、100 人採用 100 億投資、DX に全力で投資していくことを発表し、そこから IT 人材への投資が始まりました。

この発表が出る前の RIZAP グループは、言ってしまえば、IT 人材が 0 人の会社でした。エンジニアもいなければ、IT のことやエンジニアのことがわかる人が、1 人もいなかった、みたいなかたちでした。

組織の拡大

そんな中、2021 年 5 月に、今 RIZAP テクノロジーズの社長をやっている鈴木が、1 人目として入社しました。鈴木は、IT には詳しいんですけれど、エンジニアではありません。それから採用活動が始まって、半年後の 11 月にわたしが 1 人目のエンジニアとして入って、そこからすべてが始まった、という流れになっています。

そしてちょうど 2 年経って、公表している数字として、2023 年 12 月時点で 85 名の正社員、プラス業務委託の方が 20 名程度いて、全部で 100 名程度の組織体になっています。

chocoZAP

chocoZAP とは

この 2 年間、なにに一番力を入れたかといえば、皆さんもたぶんご存知ではないかと思うんですけれども、chocoZAP という新規事業です。RIZAP グループとして、総力を上げてやっているところです。

本当に力を入れています。おかげ様で、日経トレンディ 2023 年ヒット予測商品(2022 年 11 月発表)で「コンビニジム」が 1 位になって、日経トレンディ 2023 年ヒット商品(2023 年 11 月発表)にて、コンビニジム「chocoZAP」が 2 位を受賞しました。まあ 1 位を見ると ChatGPT で、ChatGPT に負けちゃうのはしょうがないとたぶん思っていただけるんじゃないかということで、心の中では実質 1 位かなと思っています。

RIZAP は非常にチャレンジングな会社です。chocoZAP はうまくいっていると一定の評価をいただけていると思うんですけれども、その中でもすでに、ジムから脱却ということで、新規サービスを非常にたくさん作っています。

この画像を見ていただくと、なんのサービスなんだろうなと思う方も多いと思うんですけれど、美容やネイルなど、いろんなサービスをご利用いただくという戦略を取っています。

chocoZAP アプリ

その中で、お客さまとのコミュニケーションのために、chocoZAP のアプリを作っています。

基本的に chocoZAP は無人のジムのサービスになっています。お客さまは店頭のスタッフとやり取りをするのではなく、このアプリを使ってサービスをご利用いただく、という流れを想定しています。

具体的には、ジムに入館したいと思ったら、アプリを立ち上げて QR コードで入館していただきます。chocoZAP ではすべてのお客さまに体組成計とヘルスウォッチをお配りし、それを利用しアプリと連動することで、身体の記録をアプリでやっていただいています。ジムのマシンの使い方がわからないという方がいたら、アプリを使って勉強していただいたりもします。RIZAP のトレーナーが多数いますので、そのトレーナーから、いろんな運動のやり方を LINE 配信で勉強していただいたりとか、そういったことを、アプリを中心にやってるというサービスになっています。

事業規模

chocoZAP の今の規模感なんですけれども、2023 年 11 月 14 日時点で、全国 40 都道府県に、1,160 店舗オープンしています。

ちょうど 1 年前の夏ぐらいに chocoZAP ブランドを開始して、その頃は 77 店舗だったんですけれども、1 年かけて 1 千店舗ぐらいのペースで増えています。最近ですと、多い月ですと 100 店舗以上一気にオープンする感じで、急激に事業が成長しています。

店舗数の増加に比例してお客様の数も伸びておりまして、2023 年 11 月 14 日時点で会員数 100 万人を突破しています。ジム業界では日本一の会員数になっています。

とくに、Authlete の話につながってくるんですけれども、お客さんの数が急激に伸びたっていうところが、エンジニアからすると、ちょっと怖いんですよね。3 四半期で 2 倍のユーザーになってたり、四半期ごとに 20 数万人増えていくところで、このトラフィックをどうやってさばいていくのかっていうところが、けっこう、我々のこの 1 年間の課題でした。

また、今になってみると chocoZAP が盛り上がって良かったと思うんですけれど、ちょうど 1 年前、こんなに盛り上がるかっていうと、わからなかったわけです。なので、大規模トラフィックに耐えられるのも重要なんですけれども、将来どうなるかわからないということで、スモールに立ち上げるのも非常に重要だったのが、この 1 年間の出来事でした。

ZAP ID

そんな中、我々はお客さまに対し、chocoZAP アプリ専用の ID / パスワードを取得してもらう、ということはしていません。100 万人規模の chocoZAP のお客さまに、RIZAP のいろんなサービスを使ってもらいたいからです。

chocoZAP の中にも、アプリ以外の関連サービスがあります。オンラインストアですとか、コミュニティですとか、これからもっともっと増えていきます。それ以外にも、RIZAP グループにはいろんなサービスがあります。いわゆるダイエットの RIZAP ですとか、RIZAP LIVE、RIZAP COLLECTION、RIZAP GOLF、RIZAP ENGLISH、RIZAP COOK、RIZAP WOMAN、こんなにあるのかってくらいのサービスがあります。

これらのサービスやアプリを、同じ ID で利用できるほうが、いいと思います。それを束ねる ZAP ID を作ることを、1 年前に考えたわけです。

逆にこの ZAP ID ができる前は、わたしも入社して驚いたんですけれども、サービスどころか、その中のシステムごとに ID が違っていました。ひとつの RIZAP のサービスで、アプリ使うのにはこの ID、施設予約をするためには別のこの ID、もしくは EC サイトを使うのにはまた別のこの ID でという具合に、ID とパスワードがシステムごとに違う、雑多な状態でした。

それが、今この ZAP ID を中心に、システムごとではなくサービスごと、もしくは RIZAP 全体で同じ ID を使ってサービスが受けられる、その基礎ができたと思っています。

技術戦略

内製化への取り組み

そんな中、この 1 年あまり、どういうスケジュールで我々が動いてきたのかをご説明します。

最初は外部ベンダーに協力を依頼

ちょうど 2 年前に入社した時、エンジニアはわたししかいませんでした。

わたし 1 人では、アプリを作ったり、ID 基盤を作ったりはできません。なので、最初は外部のベンダーさんに協力していただきました。いわゆる外部委託のかたちです。chocoZAP のアプリや、Authlete を使った ID 基盤などを開発しました。この外部委託の期間が、2022 年の 4 月から 2023 年の 3 月ぐらいまで続きました。

内製化に向けて社員・業務委託を採用

そんな中、RIZAP として内製化でやっていくぞと、発表にもある通り、目標をたてました。最初は外部パートナーさんにご協力いただいたんですけれども、これを内製化していこうと考えました。

ちょうど 2023 年の 1 月ぐらいから、エンジニアを採用して、人を集めてきました。最近は正社員だけではエンジニアを採用できないので、正社員プラス業務委託の方を集めて、一生懸命に、内製の取り組みをやりました。

社内メンバーへの引き継ぎ

そして無事に人が集まったので、外部のパートナーさんから社内のメンバーへの引き継ぎを、2023 年の 4 月から 9 月ぐらいまで、約半年かけて実施しました。

社内メンバーによるエンハンスへ

そして引き継ぎが完了し、外部のパートナーさんとの契約は、今はゼロになっています。10 月からは社内のメンバーで、エンハンス、どうやって良くしていこうか、という議論をしています。

技術スタック

我々の技術スタックです。一般的なものを使ってると思うんですけれども、いわゆるクラウド環境です。AWS を使っています。プラスして、Authlete と Firebase。バックエンドは主に Ruby on Rails を採用して開発しています。

RIZAP が求めていたこと

技術選定をしている時に、RIZAP が ID 基盤に対して求めていたことを、少し説明します。

Authlete を使う前提での議論はしていませんでした。フラットに、我々の当時の構想に対し、どういう技術選定をしたらいいんだろう、ということを社内で考えていました。

当時検討していたことは次の6つです。

ZAP ID を中心とするブランディング

まず一番大きいのは、ZAP ID という ID を作って、ID 基盤を中心に据えてブランディングをしていくことです。これができないと意味がありません。

Firebase の利用

当時、chocoZAP の前身となる、ZAPAN(ザパン)というサービスがありました。24 時間無人のマイクロジムサービスが、そもそも市場に受け入れられるかどうかの、テストマーケティングをしていたんです。

そのための、簡易なアプリを作っていました。そのアプリは、クイックにスタートしたかったこともあって、Firebase の ID 認証をそのまま生で使うかたちでスタートしていました。このサービスが、お客さんを一定数集めており、そこで分断してしまうのもよくありません。そのため、Firebase の認証をそのまま使って SSO 化できないか、ということを RIZAP は求めていました。

立ち上げ期のサポート

サポートも重要だと考えていました。というのも、我々の内製組織は立ち上がって間もないので、なにかオープンソースのライブラリーで、ノンサポートで、自力で全部やっていくみたいなことは、ちょっと体制的に厳しかったです。十分なサポートを受けられるような環境で開発できれば、それが安心材料になると思っていました。

スピードと開発効率性

立ち上げのスピードも非常に重要です。chocoZAP 、そして RIZAP の事業のやり方は、ものすごくスピード重視です。chocoZAP の立ち上げも、すごい勢いで進んでいました。ID 基盤が理由で事業を遅らせるというわけにはいきませんでした。

短納期で、しかもリリース日がもう決まってるタイプで、デリバリーマストの案件でした。開発効率がすごい重要でした。

安定した運用

運用管理も重要です。ID が原因で障害が起きまくっていたら大変です。安定的に運用できることも、すごい重要でした。

スモールスタートとスケーラビリティ

最後に、コストも大変重要です。2 年前は、chocoZAP がこんな風になるなんてことは、わからなかったんですね。多額な開発投資をして、もし事業がうまくいかないと、それは会社にとって大きな損失になってしまいます。とくに ID 基盤は、ビジネスの中心ではないので、スモールに立ち上げられることはとても重要でした。

ただ、うまくいくかどうかは当時わからなかったんですが、事業のスケールは当初から考えていました。うまく軌道に乗ったときにスケールアウトできるのも、また重要だったなと思っています。

Authlete を選定した理由

そんな中、いくつか候補があったんですけれども、最終的に Authlete を選定しました。あらためて選定理由をご案内させていただきます。

ブランディング

Authlete は認可だけをやる裏方の役割なので、フロントの設計は非常に自由にできます。これにより、ZAP ID としてのブランディングができました。

既存認証の移行

次に、Authlete は認可のみを行うサービスなので、認証は何でもいい、となっています。なので、認証として使っていた Firebase を、そのままスムーズに移行できました。

サポート

そして、Authlete は企業が運営しているサービスなので、オンラインで十分サポートをしていただけるものだと理解しています。

ドキュメント

また、Authlete はドキュメントも揃っていて、結果的に 6 ヶ月で無事リリースできました。

運用実績

運用実績もたくさんあって、非常に安心感がありました。実際、この 1 年間ぐらい Authlete を使っているんですけれども、大きなトラブルは起きていません。

課金体系

最後に、トラフィックに応じて金額見積もりが可能だったことも大きいです。SaaS なので、少ないトラフィックの時はスモールな金額で、トラフィックに応じて料金が高くなってくるという方針だったので、ミニマムスタートという RIZAP のニーズにマッチしていました。

Authlete の導入による効果

Authlete を実際使ってみて、この1年間どうなったのか、というところです。

スムーズな引き継ぎ

一番心配していた外部の業者からの引き継ぎ、SSO 領域は、比較的スムーズに完了できたと思っています。

Authlete 起因の障害無し

そして、導入開始して約1年間経ったんですけれども、いわゆる Authlete 起因の障害は発生していません。Authlete「起因」というところがポイントでして、chocoZAP はちょっといろいろお客さまにご迷惑をおかけしているんですけれども、少なくとも Authlete が原因でトラブルになったことはないです。

障害発生時のサポート

認可周りのサーバーサイド処理について、実は 1 件、障害がありました。その障害が起きた時、Authlete の問題だったらやばいなと思ったんですけれども、Authlete さんとオンラインでコミュニケーションをとって、サポートしてもらいました。その結果、RIZAP 側の原因箇所を特定し、障害を乗り越えました。

急激なトラフィック増に対応

また、会員数が 1 年間で 100 万人に増えました。急激にユーザー数が増えると、サーバーサイドのトラフィックの障害が起こりうるのかなと思うんですけれども、結果的にそれだけ急激にトラフィックが増えても、これもSSO 領域ではトラブル無く乗り越えられました。

今後さらに、100 万会員、200 万、300 万、400 万と増えても、SSO 領域でのトラフィックの心配はないと思っています。

ZAP ID 対応サービスの増加にも対応

ユーザー数だけではなく、サービスプロバイダーも順調に増えています。ZAP ID 対応の SSO サービスがいっぱい増えています。そういったサービスプロバイダーが増えても、SSO 起因のトラブルは発生していません。

まとめますと、引き継ぎもうまくできて、トラフィックの増大にも耐えられて、対応サービスも増えて、十分役割を果たせたかなと思っています。

システム構成

システム構成、典型的な構成かなと思うんですけども、ご紹介させていただきます。ログイン処理と認可処理の 2 つに大きく分かれます。

ログイン処理

まずサービスプロバイダーから、ログインしたいよということで、ログイン画面に行きます。そうすると、Next のサーバーが立ち上がっていて、そこから Firebase とやりとりして認証します。そして認証を通りますと、そのままバックエンドに行って、Authlete と通信して認可をします。そして、サービスプロバイダーに戻ってくる、という流れです。

認可処理

認可処理ですが、スマートフォンのアプリでAPIリクエストをすると、Amazon API Gateway を通過して、そこで Authlete と認可処理のやりとりをして、バックエンドの Rails のサーバーに行くという流れをしています。

Thank You!

ご清聴いただき、ありがとうございました。