WeTransfer, das 2009 gegründet wurde, ist ein Technologie-Startup-Unternehmen mit Sitz in Amsterdam in den Niederlanden. Das Unternehmen mit 14 Mitarbeitern stellt einen kostenlosen Online-Service bereit, der es Benutzern ermöglicht, Dateien zu übertragen, die zu groß für den Anhang einer E-Mail-Nachricht sind. Kunden können den Service verwenden, um Dateien mit einer Maximalgröße von insgesamt 2 GB an bis zu 20 Personen gleichzeitig zu senden. WeTransfer speichert die Daten 14 Tage lang auf seinen Servern. Das Unternehmen bietet auch einen gebührenpflichtigen Premium-Service an, der die Übertragung größerer Dateien und Optionen zur längeren Speicherung bereitstellt. WeTransfer hat berechnet, dass seit 2009 mehr als 370 Millionen Übertragungen verarbeitet wurden, und schätzt, dass die aktuelle Servicenutzung bei ca. 15 Millionen Kunden und 30 Millionen Übertragungen pro Monat liegt.

Als schnell wachsendes Startup-Unternehmen benötigte WeTransfer die Möglichkeit, seine Infrastruktur entsprechend der Kundennachfrage zu skalieren. Der ursprüngliche Host-Anbieter war aber für die Anforderungen des Unternehmens nicht flexibel genug. "Manchmal brauchte der Service-Anbieter fast drei Wochen, um einen einzelnen Server zu installieren", erzählt Dave Forsey Chief Technology Officer (CTO). "Als wir mit unserem Plan zur Sicherstellung zukünftiger Skalierbarkeit an den Anbieter herantraten, benötigte er zwölf Monate im Voraus eine Benachrichtigung zur Aktualisierung unserer Umgebung. Wir konnten nicht wachsen, da uns nur ein begrenzter Rack-Platz zugewiesen war." Nachdem der Service von WeTransfer mehrfach aufgrund von Rechenzentrumsproblemen ausgefallen war, begann das Unternehmen mit der Suche nach Alternativen.

WeTransfer entschied sich für Amazon Web Services (AWS), das das Unternehmen eine schnelle, flexible Lösung benötigte. "Das attraktivste Element von AWS ist die Möglichkeit, fast unverzüglich zu skalieren", kommentiert Forsey. "Wir wussten, dass wir neue Amazon Elastic Compute Cloud (Amazon EC2)-Instances starten konnten, die innerhalb weniger Minuten einsatzbereit sind."

WeTransfer entwickelte den Dateiübertragungs-Service mit Ruby on Rails und PHP. Das Unternehmen führt den Service auf Linux-Amazon Machine Images (AMIs) und Amazon EC2-Instances mit Elastic Load Balancing aus. "Wir erachten Amazon Simple Storage Service (Amazon S3) mit dem sofort einsatzbereitem geteiltem Speicher als riesigen Vorteil", erläutert Forsey. "Ursprünglich haben wir Dateien auf mehreren Servern gespeichert. Dieses System benötigte eine ganze Datenbank, nur um nachzuverfolgen, wo sich was befand, und Dateien waren während Routinewartungen häufig nicht verfügbar. Die Verwendung von Amazon S3 zum Speichern von Dateien vereinfachte den Prozess und reduzierte unsere Verarbeitungslast."

Mithilfe von Amazon Relational Database Service (Amazon RDS) stellte WeTransfer eine Multi-AZ-Datenbank-Instance bereit, die automatisch eine primäre Datenbank-Instance erstellt, die als Hauptdatenbank fungiert und die Daten synchron auf eine Datenbank-Instance in einer anderen Availability Zone repliziert. WeTransfer verwendet die Lesereplikats-Datenbank-Instance zum Ausführen statistischer Abfragen. Außerdem nutzte das Unternehmen Amazon DynamoDB zur Neuerstellung des Statistiksystems in einer zuverlässigen NoSQL-Umgebung.

"Wir verwenden Amazon Route 53, da der DNS-Web-Service (Domain Name System) das Verwenden der Stamm-Domain (z. B. we.tl) zulässt, anstatt eine Unter-Domain wie www.we.tl zu erzwingen", sagt Forsey. "Wir planen, später in diesem Jahr alle unsere Domains zu Route 53 zu verschieben." WeTransfer verwendet Amazon CloudWatch zum Überwachen und Einrichten von Amazon Simple Notification Service (Amazon SNS), um Updates und Benachrichtigungen für AWS und das Nagios-Überwachungssystem bereitzustellen. Abbildung 1 demonstriert die Umgebung von WeTransfer.

WeTransfer Architecture Diagram

Abbildung 1: WeTransfer-Architekturdiagramm in AWS

WeTransfer schätzt, dass seine Server mehr als 8100 TB Daten verwaltet und dass der Service 8 Dateien pro Sekunde überträgt. Forsey betont: "Unsere Nutzung hat sich im letzten halben Jahr fast verdoppelt, aber dank AWS ist das Skalieren gemäß unseres Bedarfs kein Problem." Während Zeiten mit hoher Auslastung meldet WeTransfer die Nutzung von mehr als einhundert Amazon EC2-Instances in Europa und den USA. "Mit Auto Scaling erhöhen wir unsere Kapazität automatisch auf mehr als 60 Dateiverarbeitungs-Worker-Instances in Zeiten mit hoher Auslastung und skalieren normalerweise in Zeiten mit niedriger Auslastung, wie zum Beispiel an Feiertagen und Wochenenden, zurück auf ca. 10 Instances. Außerdem planen wir in Kürze die Implementierung von Auto Scaling für unsere Web-Services."

"Als eigenständiges Startup-Unternehmen begrüßen wir es, dass bei AWS die Kosten auf dem Bedarf anstatt auf den Pauschalgebühren eines Rechenzentrums basieren", erklärt Forsey. "Außerdem nutzen wir mehrere AWS Availability Zones zum Schutz unseres Services vor einem Ausfall an einem einzelnen Standort. Probleme können immer mal auftreten – das ist unvermeidlich – aber indem wir sicherstellen, dass sich unser Service an mehreren Standorten befinden, können wir die Stabilität auf jeden Fall verbessern. Wir glauben, dass wir durch die Verwendung von AWS unsere Betriebszeiten und Gesamtzuverlässigkeit verbessern können."

Weitere Informationen dazu, wie AWS Ihnen beim Erfüllen Ihrer Anforderungen an Ihre Webanwendung helfen kann, finden Sie auf unserer Seite zu Web-, mobilen und sozialen Netzwerkanwendungen: http://aws.amazon.com/web-mobile-social/.