303 BOOKS WEBサイト構築の舞台裏#1

1日1億アクセスを夢見てサーバレスにしてみた話

この記事は約6分で読めます by 安部孝志

こんにちは、303 BOOKSの安部です。

あべたかし
安部孝志

風来のWEBエンジニア 兼 インフラエンジニア 兼 WEBディレクター。株式会社オフィス303 所属。英検4級。

303 BOOKSのWEBサイトが開設されて半年ほど経過しました。開設当初よりも多くのアクセスが来るようになりまして、担当者としてもホクホクの気持ちで一杯です。まだまだ上を目指して日々精進していきたいと思っているところです。本日は、そんな303 BOOKSのWEBサイトを制作開始した当初の話と、それにまつわるエトセトラのお話です。

なぜWEBサイトは落ちるのか?

NHK NEWS WEBのスクリーンショット
NHK NEWS WEB / 2019年11月6日

2019年10月に主に関東・甲信越地方や東北地方を襲い、甚大な被害を及ぼした台風19号にまつわる記事です。

台風が襲った当日、私も自宅にいたのですが、スマートフォンからひっきりなしに警戒情報が流れてきましたので、住んでいる自治体のWEBサイトを閲覧しようとしてみたのですが、結局は嵐が過ぎるまで一度も情報を閲覧することができずに困惑してしまいました。自治体のWEBサイトに限らず、河川を監視するサイトなど多くのサイトが軒並みダウンしていたと思います。

「いっぱい税金はらっているのにサイトが見れないとは何事だ!」

とお怒りの方がいたかもしれません。たしかに自治体のWEBサイトは急にアクセスが増えても決して落ちてはいけないものですが、実際にそうはなっていません。

「いっぱいアクセスが来ても落ちないように、あらかじめサーバを増強しておけばいいじゃないか!」

のように思われる方もいるでしょう。でも、そうなっていないのには事情があります。

いっぱいアクセスが来ても落ちないサイトにするためには、それに耐えうる「処理能力が高いサーバ」が必要です。処理能力が高いサーバを導入するためには、導入時の調達・構築コストが増えるのは当然として、そのようなサーバを運用・保守するためのコスト(管理技術者の人的コストなども含む)もがっつりと増えてしまうのが実情です。多くの地方自治体が財政難にあえいでいる中で、他の予算を押しのけてまでWEBサイトのサーバに多額の予算をあてがうのは厳しいという状況があると思われます。

台風19号は河川の堤防の決壊被害も多くありましたが、その河川の上流に大きなダムがあれば防げた被害があったかもしれません。WEBサイトのサーバはダムに似ています。どちらもあらかじめ「不測の事態にそなえて事前に準備して対策しておきたいもの」ではありますが、それにかかる高額な費用(構築費 / 維持・管理費)を考えると現実としては厳しいのです。

サーバとダムの例

「サーバレス」という救世主?

ここまで読むと

「じゃあ、費用をかけずに落ちないサイトを作るのは無理なのか・・・」

と落胆されている方もいるかもしれません。でも、落胆するのはまだ早い! ここ数年、サーバレスという概念を利用したサービスの構築が浸透してきています。

「『サーバレス』? サーバなくてもWEBサイト作れるのか?」

いえ、サーバレスはあくまでも概念であり、サーバは使います。

「あっ! それって、もしかして『クラウド』ってやつでしょ!?」

※クラウド:cloudを日本語に直訳すると「雲」だが、もちろん雲の中にコンピュータが存在しているわけではない。ユーザが物理的なスペースや設置物などを意識せずに使えるコンピュータサービスを「雲の中に隠れているコンピュータ」というイメージになぞらえて「クラウド」と呼ばれている(と思われる)。

ちょっと違います。今では自治体のWEBサイトに関しても、Amazon Web Service(AWS)や国内業者のクラウド上にあるサーバで運用されていることは決して珍しくありません。台風のときにアクセスできなかった自治体のWEBサイトもいくつかはクラウド上にあるサーバで運用されていたと思われます。サーバを物理(俗にオンプレミスと呼ばれます)からクラウドに置き換えただけでは、残念ですが今回のような急なアクセス増には対応できない場合がほとんどです。(サーバの負荷状況に応じてサーバを自動的に追加したり削除したりする「オートスケーリング」と呼ばれるような技術で急なアクセス増に対応できているところもありますが、構築や運用が非常に難しい技術でもあります。)

「じゃ、『サーバレス』ってなんじゃい!?」

説明が難しいのです! 残念ですがこのページでは書ききれない! 興味のある方はQBISTさんがわかりやすく説明してくれている下記の参考サイトをご覧ください(記事の下の方は多少難しいですが)。

サーバレスとは? 簡単な事例をまじえてわかりやすく解説!

サーバレスは事前に大きなサーバを準備しておく必要がないので、費用面での無駄が発生しにくいです。かつ、急にアクセスが増えた場合も、基本的には管理不要でアクセスに耐えうる柔軟な仕組み(スケーラビリティーと呼ばれます)があらかじめ備わっています。

ただ、「サーバレス=万能」ではありません。どうしてもサーバレスに移行できないサービスもあります。サーバレスを利用するにしても、これまでのWEBサイトの作り方とは大きく異なるため、既存のWEBサイトをサーバレスに移行するにはそれなりの時間や労力がかかります。また、新しい概念のため、これを構築・運用できる技術者もまだ少なく、地方自治体にまでサーバレスが波及していくのはもう少し先のお話になりそうです。

目指せ! 1日1億アクセス!?

幸いなことに303 BOOKSのWEBサイトはゼロから作るため、サーバレスの概念を利用してWEBサイトを構築することへの障壁は多くありませんでした。あるとすれば、サーバ構築担当でもある私の技量くらいです。


2019年5月某日 オフィス303にて

303 BOOKSのWEBサイトを立ち上げる必要がある!

心平
つねまつしんぺい
常松心平

編集プロダクション 株式会社オフィス303の代表取締役 兼 303 BOOKSのプロジェクトリーダー。千葉県千葉市の埋めたて地出身。バイク雑誌、パズル雑誌を経て、児童書の編集者になる。本は読むものではなく、つくるものだと思っている。

うむ!
で、アクセスはどれくらい来るかな?

安部

まぁ、1日100アクセスくらいかなぁ。

心平

はぁ? 何を弱気なこと言ってるんですか! Twitterで303 BOOKSバズらせて1日1億アクセス目指しましょうや!

安部

・・・。でも、そんなにアクセス来たらサーバ落ちちゃうでしょw

心平

そこは任せてください! 我々には『サーバレス』がありますから!
(ちなみに『サーバレス』という言葉を初めて知ったのはこの1週間前で、ほとんど何も知らない)

安部

(サーバレス? ・・・何言ってるのかさっぱり分からんが、とりあえず任せてみるか・・・)

心平

というわけで、実はあなたが今見ているこのページもサーバレスの概念の上にあるのです! まだ、サーバレスの恩恵を受けるほどのアクセス数ではありませんが・・・

(続く)

CREDIT

クレジット

執筆・編集
出版業界やゲーム業界を渡り歩いてきた風来のWEBエンジニア 兼 インフラエンジニア 兼 WEBディレクター。最近やっているゲームは「PUBG」というガンアクションゲーム。K/D 0.25。「あつまれ どうぶつの森」や「マインクラフト」も平行してプレイいる。
イラスト
1994年、福岡県生まれ。漫画家、イラストレーター。第71回ちばてつや賞にて『死に神』が入選。漫画雑誌『すいかとかのたね』の作家メンバー。散歩と自転車がちょっと好きで、東京から福岡まで歩いたことがある。江戸の消防と建築を研究中。