2009 年に設立された WeTransfer は、オランダ・アムステルダムを拠点とするテクノロジー系のスタートアップ企業で、従業員は 14 名です。同社は、電子メールに添付するには大きすぎるファイルを転送するためのオンラインサービスを無料で提供しています。利用者は、合計 2 GB までのファイルを一度に 20 人に送ることができます。WeTransfer のサーバーには、データは 14 日間保存されます。同社は、さらに大容量のファイルを転送できて保存期間の長い有料サービスも提供しています。WeTransfer が扱った転送の数は 2009 年からの累計で 3.7 億件を超え、現在の推計では 1 か月あたりの利用者数約 1,500 万、転送数約 3,000 万です。

スタートアップ企業として急速な成長を続ける WeTransfer が求めていたのは、利用者の要望に応じてインフラストラクチャを拡張できる能力でした。しかし、当初利用していたホストプロバイダーは、柔軟性の点で同社の要望を満たすには至りませんでした。「このサービスプロバイダーは、サーバーを 1 台インストールするのに約 3 週間もかかっていたのです」と、CTO(Chief Technology Officer)の Dave Forsey 氏は述べています。「将来の拡張性を確実にするプランについて問い合わせましたが、環境を更新する場合は 12 か月前に通知してほしいと言われました。当社に割り当てられたラックスペースは限られていたため、拡張の余地はありませんでした」。データセンターの問題が原因で WeTransfer のサービスが何回か停止した後に、同社は代替策を探し始めました。

WeTransfer がアマゾン ウェブ サービス(AWS)を選んだのは、スピードと柔軟性に優れたソリューションを必要としていたからです。「AWS の最大の魅力は、ほぼ瞬時に規模を拡大できることです」と Forsey 氏は述べています。「新しい Amazon Elastic Compute Cloud(Amazon EC2)インスタンスを起動して使用できる状態になるまでの時間は、ほんの数分です」

WeTransfer のファイル転送サービスの構築には、Ruby on Rails と PHP が使用されています。このサービスは、Linux の Amazon マシンイメージ(AMI)と Amazon EC2 インスタンスに Elastic Load Balancing を組み合わせたものを基盤として実行されています。「そのままで共有ストレージとなる Amazon Simple Storage Service(Amazon S3)のメリットは多大であると感じています」と Forsey 氏は言います。「当初は、ファイルを複数のサーバーに格納していました。何がどこにあるかを追跡するためだけにデータベースが 1 つ必要でした。また、定期メンテナンスのためにファイルを使用できない期間がたびたび発生していました。Amazon S3 を使用してファイルを保管するようになってからは、処理が単純化され、作業負荷が軽減されました」

WeTransfer は、Amazon Relational Database Service(Amazon RDS)を使用してマルチ AZ DB インスタンスをプロビジョニングしました。これによって、プライマリの DB インスタンスが自動的に作成されてメインのデータベースとなり、データは別のアベイラビリティーゾーンにある DB インスタンスにレプリケートされて同期されます。WeTransfer は、リードレプリカ DB インスタンスを静的クエリの実行に使用しています。また、Amazon DynamoDB も活用されており、同社の統計システムが高信頼性の NoSQL 環境で再構築されました。

「私たちが Amazon Route 53 を使用しているのは、この DNS(Domain Name System)ウェブサービスならば、www.we.tl のようなサブドメインではなくルートドメイン(we.tl)を使用できるからです」と Forsey 氏は述べています。「本年中には当社のすべてのドメインを Route 53 に移行する予定です」。WeTransfer は、Amazon CloudWatch を使用して Amazon Simple Notification Service(Amazon SNS)のモニタリングとセットアップを行うことによって、AWS と Nagios(監視システム)の両方のアップデートと通知を配信しています。図 1 は、WeTransfer の環境を表したものです。

WeTransfer Architecture Diagram

Figure 1: WeTransfer Architecture Diagram on AWS

WeTransfer の推計によれば、同社のサーバーが管理するデータは 8100 TB を超え、毎秒 8 個を超えるファイルが転送されています。Forsey 氏はこう述べています。「当社の使用量はこの 6 か月間で約 2 倍になりましたが、AWS のおかげで、需要に合わせてスケーリングするのに何の問題もありません」。特に繁忙な時期は、ヨーロッパと米国合わせて 100 個を超える Amazon EC2 インスタンスが使用されています。「Auto Scaling を利用しているので、ピーク時には自動的にキャパシティを拡張して、ファイル処理用のワーカーインスタンス 60 個以上を使用しており、祝日や週末などの使用量の少ないときには 10 インスタンス前後にまで規模を戻しています。近々、Auto Scaling を当社のウェブサービスにも導入する予定です」

「独立系のスタートアップである当社にとっては、AWS の料金がデータセンターの一律料金とは違い、従量制であるところがありがたいですね」と Forsey 氏は述べています。「さらに、当社では複数の AWS アベイラビリティーゾーンを活用してサービスを単一点障害から守っています。問題はいつ起きるか予測できず、回避不可能ですが、サービスを常に複数のロケーションで稼働していれば安定性が向上します。AWS を使用することによって、アップタイムと全体的な信頼性が向上すると考えています」

AWS がウェブアプリケーションのニーズを満たすうえでどのように役立つかについては、AWS でのウェブ、モバイル、ソーシャルアプリのページ http://aws.amazon.com/web-mobile-social/ をご覧ください。