「STORES 予約」とはどういうシステムか
STORES 予約 は、ウェブ上でかんたんにお店の予約ページを作成することができるシステムです。来店予約やオンライン接客など、予約受付から顧客管理まで予約業務を管理でき、来店したいお客さま(エンドユーザー)とお店(マーチャント)の営業時間や予約枠を調整できて便利です。このSTORES 予約 は、新型コロナウイルスのワクチン接種予約システムとしても利用いただいており、医療機関や地方自治体、それに職域接種をおこなう企業や大学が、ワクチン在庫数と接種数の一括管理や、接種状況をリアルタイムに把握するなどの予約管理にご利用いただいています。ただ、ワクチン接種予約システム専用ということではなく、他にもさまざまな予約シーンにおいてお使いいただけるシステムです。
技術的な面から解説すると、STORES 予約 はごく普通のRailsサイトです。ごく普通のというのはすなわち、マルチテナントということです。複数のお客さまが同じドメインにアクセスして、そのバックエンドもRailsの同じサーバーということになります。管理画面があるというのもまた、普通のRailsサイトにありがちな話ではないでしょうか。ただ、STORES 予約 はBtoBtoCのサービスなので、この管理画面についてもマーチャントからのアクセスを想定して外部インターネットに露出している、というのは特徴的です。
世の中の変化に対応し、高負荷に耐え得るシステムを作ることに
新型コロナウイルスのワクチン接種予約という文脈ですと、社内では2021年の2月頃より粛々と受け入れ態勢を準備してきていました。最初のプレスリリースが出たのが2月18日です。
ただこの時点ではまだ上記プレスリリースの通り、導入支援や特別料金といった面での支援が想定されており、システム側で何か対応が必要という認識ではありませんでした。
風向きが変わってきたのは4月中旬から5月上旬頃です。この頃、各自治体が提供するワクチン予約システムにおいてアクセス集中によるサーバートラブルなどが次々と起こり、課題が浮き彫りになってきました。幸い、STORES 予約 のシステムは問題なく稼働していましたが、報道などで大規模なアクセス集中によるトラブルを見聞きするたびに緊張感が高まる日々が続きました。
また並行して、のちの職域接種という構想が出てきました。STORES 予約 としてはすでに自治体や医療機関向けに提供しているプランをこれらの企業や大学に提供しない理由はなく、また社会的な意義も大きいので、やっていこうという意思決定になりました。ここにきて、大規模なアクセス集中など高負荷に耐え得るシステムの提供は不可避となり、なんらかのシステム的な対策が必要となってきました。
筆者がプロジェクトに参画したのはこの頃です。ログを見返すと5月18日ですね。