Retty株式会社は日本最大級の実名型グルメサービス「Retty」を展開しております。2011 年にサービスリリースして以来、現在の口コミ投稿数は 150 万件を超え、外食好きな 30 ~ 40 代の男性・女性を中心に、2015 年 7 ⽉現在、⽉間 1,000 万⼈以上の方々にご利用頂いております。「食を通じて世界中の人々を Happy に」を理念に、今後とも便利なサービスを提供していきます。
Retty のお店探しは「グルメなあの人から」
ユーザー数の増加に加えて、日々サービスを改良しております。Retty では、自分に合った本当に良いお店を見つけるためには、信頼できる人のオススメからお店を探す事が最も効果的と考えております。その世界の実現に向けて、iPhone アプリ、Android アプリを中心に、日々サービスをアップデートしております。
今後はアジアや北米の外食文化が普及している都市を中心に海外展開していく予定です。
AWS 移行前は VPS を利用していました。しかし急成長するサービスを支えるインフラには「少人数でもスピードを落とさずスケールさせる基盤が必要」ということでマネージドサービスを提供しているクラウド環境へ移行する必要がありました。このため、オンプレミスは最初から視野には入れていませんでした。
実質最初から AWS 一択でした。マネージドサービスの充実度、API の充実、質の高いユーザーコミュニティから提供されている資料やツールによる運用ノウハウの蓄積。中~大規模な Web サービスを運営するにあたって他のクラウドサービスには無い恩恵にあずかる事ができる基盤という事で決定しました。特にマネージドサービスの選択が大きいです。インフラ専任を置かずにひたすらスケールをさせて、利用開始時からユーザー数は 10 倍以上になりましたが、マネージドサービスをフルに利用する事で安定してサービスを稼働させる事が出来ています。
AWS の利用にあたっては、「AWS への 移行」と「マネージドサービスへの移行」という2度の大きな転換期がありました。利用開始時からおよそ 10 倍と急激に増加するユーザーに対して短時間で負荷分散を実現するため、「自前でのマシンセットアップは極力行わない、運用コストをとにかく下げる」という方針を取りました。
データストアには Amazon RDS、Amazon ElasticCache, 静的コンテツは Amazon S3、非同期処理とサービス間のメッセージングには Amazon SQS、検索にAmaozn CloudSearch, 集計処理に Amazon Elastic MapReduce、といった AWS の代表的なサービスに加え、アプリケーションサーバーには AWS Elastic Beanstalk を採用しました。
AWS OpsWorks, AWS CloudFormation と比較して AWS Elastic Beanstalk を採用したのは「プロビジョニング」と「デプロイ」というアプリケーションサーバーに必須の機能が付いている事、代表的な実行環境が選択できる事、導入が容易である事、という点でした。
AWS Elastic Beanstalk のオートスケール設定を負荷、時間で細目に調整した事でアプリケーションサーバーの負荷対策は完全に自動化出来ています。
デプロイも標準機能としてブラウザで行えるため「いつでも」「誰でも」デプロイをする事ができます。
AWS Elastic Beanstalk はアプリケーションを増やす事も容易なので、素早く新しいサービスを立ち上げる事が出来ます。アプリケーションが増えた事でサービス間でメッセージングを行う必要が出てきた場合はメッセージングの橋渡しに Amazon SQS を利用して、このメッセージの受け取りには Amazon SQS を監視してくれる AWS Elastic Beanstalk の WorkerTier を利用しています。
AWS Elastic Beanstalk をフルに利用する事でアプリケーションサーバー群の設定や構成を複雑化させる事なく、素早くサービスを立ち上げる事が出来ます。
今後はより柔軟な構成に対応出来るよう AWS OpsWorks の導入も検討していますが、サービスのステージに合わせて選択肢があるのも AWS マネージドサービスの魅力です。
また、マネージドサービス特性の1つに短時間のスケールアップがあります。サービスの特性上どうしても DB の処理がボトルネックになりやすく、サービスのイベントやテレビ放映に合わせて Amazon RDS を一時的に大幅なスケールアップをする事があります。豊富なインスタンスタイプと設定から時間単位の最小コストでスケールアップが出来るのは大きな魅力です。
このように AWS が用意しているマネージドサービスを利用しているお陰でインフラに高い信頼性を確保して、サービス開発に集中できていると考えています。
ミニマムな構成から始めて、1000 万人規模のサービスまで成長してもリソースを追加していくだけで安定稼働させる事が出来るのは AWS ならではだと思います。今から導入検討するのであれば公式資料を読んで「最初から」AWS が推奨するアーキテクチャに乗っておく事が成長を加速させると思います。
今後はメインサービスにもマネージドタイプのコンテナを利用していく予定です。
- Retty株式会社 開発部 software engineer 梅田 昌太様