立ち上げ当初は人手に頼り切りだったYAMAPの運用
登山愛好家の間で人気を博しているスマホアプリ「YAMAP」。登山地図をスマートフォンにダウンロードし、電波が届かない山中でもGPSを使って自身の現在位置を確認できるほか、登山時に撮影した写真を公開したり、他のユーザーとシェアできたりする機能などを持つ。2024年1月には累計ダウンロード数が410万を超えており、このジャンルのアプリとしてはトップクラスのシェアと人気を誇る。
このYAMAPを開発・運営しているヤマップでは、登山グッズを販売するECサイトを運営したり、登山用具のレンタルサービスを手掛けたりと、登山にかかわるサービスを多方面で展開中だ。そんな同社は2013年に設立され、同年3月にYAMAPのアプリを初めてリリースした後、これまで数度の資金調達を実施することで事業を順調に成長させてきた。
同社の2番目の社員として創業時からYAMAPの開発と運用を手掛けてきたのが、取締役 CTOの樋口浩平氏だ。サービスリリース当時は樋口氏と業務委託のエンジニア数名の小人数体制で開発・運用にあたっており、アプリのアーキテクチャも極めてシンプルなものだったという。
「AWSのクラウド環境上にインフラとアプリケーションを構築したのですが、当初は開発環境でEC2(Amazon Elastic Compute Cloud)のインスタンス1台にデータベースもアプリケーションサーバーもすべて突っ込んでいたものを本番環境に転用していました。『とりあえず動けばいい』というスタンスで開発・運用していましたね(笑)」
しかし、登山愛好家の間でじわじわと認知度が高まり、累計ダウンロード数が50万を突破したあたりからさまざまな課題が露呈してきた。
「アクセス数の増加にともないサーバーが重くなったり、データベースをスケールアップするために再起動が必要になったりと課題が浮かびあがってきました。特に土曜日と日曜日の夜間は、登山から帰ってきたユーザーが一斉にアクセスするためシステム負荷が一気に高まり、私がずっと張り付いてパフォーマンスを監視しなければいけませんでした」(樋口氏)
こうした課題を解決するために、Webサーバーとデータベースを分離したり、ELB(Elastic Load Balancing)を導入して負荷分散を図ったりとさまざまな対策を講じたものの、当時は正式なエンジニアは樋口氏1人しかおらず、対策にも自ずと限りがあった。