SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

最近話題の「あのサービス」に学ぶ、技術選定のポイント

サービスを止めずに接種予約を受け入れる! 累計195万件の新型コロナワクチン接種を支える「STORES 予約」インフラ増強と運用の舞台裏


  • X ポスト
  • このエントリーをはてなブックマークに追加

 ヘイ株式会社が運営するSTORES 予約 では、2021年に新型コロナウイルスのワクチン接種予約システムを提供し、多くの方々にご利用いただきました。本記事では、殺到するアクセスからどのようにWebサーバーを守り、サービスを継続していったかを紹介します。

  • X ポスト
  • このエントリーをはてなブックマークに追加

「STORES 予約」とはどういうシステムか

 STORES 予約 は、ウェブ上でかんたんにお店の予約ページを作成することができるシステムです。来店予約やオンライン接客など、予約受付から顧客管理まで予約業務を管理でき、来店したいお客さま(エンドユーザー)とお店(マーチャント)の営業時間や予約枠を調整できて便利です。このSTORES 予約 は、新型コロナウイルスのワクチン接種予約システムとしても利用いただいており、医療機関や地方自治体、それに職域接種をおこなう企業や大学が、ワクチン在庫数と接種数の一括管理や、接種状況をリアルタイムに把握するなどの予約管理にご利用いただいています。ただ、ワクチン接種予約システム専用ということではなく、他にもさまざまな予約シーンにおいてお使いいただけるシステムです。

 技術的な面から解説すると、STORES 予約 はごく普通のRailsサイトです。ごく普通のというのはすなわち、マルチテナントということです。複数のお客さまが同じドメインにアクセスして、そのバックエンドもRailsの同じサーバーということになります。管理画面があるというのもまた、普通のRailsサイトにありがちな話ではないでしょうか。ただ、STORES 予約 はBtoBtoCのサービスなので、この管理画面についてもマーチャントからのアクセスを想定して外部インターネットに露出している、というのは特徴的です。

世の中の変化に対応し、高負荷に耐え得るシステムを作ることに

 新型コロナウイルスのワクチン接種予約という文脈ですと、社内では2021年の2月頃より粛々と受け入れ態勢を準備してきていました。最初のプレスリリースが出たのが2月18日です。

 ただこの時点ではまだ上記プレスリリースの通り、導入支援や特別料金といった面での支援が想定されており、システム側で何か対応が必要という認識ではありませんでした。

 風向きが変わってきたのは4月中旬から5月上旬頃です。この頃、各自治体が提供するワクチン予約システムにおいてアクセス集中によるサーバートラブルなどが次々と起こり、課題が浮き彫りになってきました。幸い、STORES 予約 のシステムは問題なく稼働していましたが、報道などで大規模なアクセス集中によるトラブルを見聞きするたびに緊張感が高まる日々が続きました。

 また並行して、のちの職域接種という構想が出てきました。STORES 予約 としてはすでに自治体や医療機関向けに提供しているプランをこれらの企業や大学に提供しない理由はなく、また社会的な意義も大きいので、やっていこうという意思決定になりました。ここにきて、大規模なアクセス集中など高負荷に耐え得るシステムの提供は不可避となり、なんらかのシステム的な対策が必要となってきました。

 筆者がプロジェクトに参画したのはこの頃です。ログを見返すと5月18日ですね。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
緊急性の高いプロジェクトこそ、冷静に状況を把握して計画を立案

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
この記事の著者

卜部昌平(ウラベ ショウヘイ)

 ヘイ株式会社 テクノロジー部門CTO室本部に所属し、STORES プラットフォームの各サービスに横断的に関わりながら開発をしている。専門はWebバックエンド、ミドルウェア。共著「改訂2版 Ruby逆引きハンドブック」(シーアンドアール研究所)、監訳「プログラミング言語 Ruby」(オライリージャパ...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/15241 2021/12/21 16:37

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング