Wooga ist ein Startup in Berlin und wurde 2009 gegründet und entwickelt Spiele für soziale Netzwerke. Benutzer können sie auf Facebook ebenso wie auf Smartphones oder Tablets und auch quer über diese Plattformen spielen. Die Spiele des Unternehmens (zu denen Monster World, Magic Land, Bubble Island und Diamond Dash) gehören, sind in bis zu 20 Sprachen verfügbar. Mehr als 250 Mitarbeiter aus über 40 Ländern arbeiten daran, neue Spiele in kleinen, unabhängigen Teams von rund 15 Personen zu entwickeln. Jedes Team kann seine Tools selbst auswählen und entscheiden, ob Spiele in der Cloud oder auf einem physischen Computer gehostet werden.

Wooga benötigte eine Cloud-Lösung spezifisch für Spiele in sozialen Medien, an denen eine höchst variable und nicht vorhersehbare Anzahl von Spielern teilnimmt, die kurze Reaktionszeiten und eine hohe Zuverlässigkeit des Server benötigen. Diese über den Webbrowser gespielten Spiele können binnen kurzer Zeit eine große Anzahl von Spielern anziehen. Beispielsweise hat Woogas Monster World rund 2 Millionen Spieler pro Tag. Dies entspricht 15.000 Abfragen pro Sekunde zu Spitzenzeiten, wie das Unternehmen mitteilt. Monster World läuft ausschließlich in der AWS Cloud. Ein anderes Wooga-Spiel, Magic Land, hat 850.000 Spieler pro Tag und rund 5000 Abfragen pro Sekunde in Spitzenzeiten.

Der Erfolg oder Fehlschlag eines Spiels hängt hauptsächlich von der Benutzerakzeptanz ab – also von der Anzahl der Benutzer, die das Spiel spielen. Die Anzahl der Spieler kann unvorhersehbar sein. Bei einigen Spielen steigt diese Anzahl schnell an und fällt dann auch wieder ab. Die Herausforderung für Wooga besteht darin, laufend das Interesse der Spieler zu erwecken und eine hohe Spielertreue zu erreichen.

Monster World ist ein Spiel mit einer klassischen Spielarchitektur, das einen statuslosen Anwendungsserver und eine zentrale Datenbank nutzt. Magic Land wurde hingegen auf einer Nicht-Standard-Architektur mit statusbehafteten Anwendungsservern mit einem Amazon Simple Storage Service (Amazon S3) anstelle von Datenbanken aufgesetzt. In Abbildung 1 unten sehen Sie einen Screenshot von Monster World.

wooga-arch-diag

Abbildung 1: Screenshot von Monster World

Als Wooga entschied, Monster World und Magic Land auf AWS zu hosten, musste die Lösung folgende Anforderungen erfüllen:

  • Flexible Skalierbarkeit der Rechenkapazität. Spiele ziehen eine nicht vorhersehbare Anzahl von Spielern an, sodass die Anzahl von erforderlichen Instances zu einem bestimmten Zeitpunkt kaum kalkulierbar ist. Da der Rechenbedarf von Wooga sehr variabel ist, müssen die erforderlichen Server-Instances schnell und präzise ermittelt werden. 
  • Hoher Automatisierungsgrad, um eine rasche Bereitstellung einer Vielzahl von Tools zu gewährleisten, da die schnelle Reaktion bei Spielen in sozialen Netzwerken einen entscheidenden Erfolgsfaktor darstellt. 
  • Solide Zuverlässigkeit des Servers. Wenn ein Spiel offline ist, gehen die Spieler zum nächsten.
  • Eine Lösung, die für kleine, agile Teams geeignet ist, da Wooga mit einer schlanken Engineering-Organisation arbeitet.

Das Hosten von zwei der beliebtesten Spiele von Wooga in der Cloud bedeutete, dass die ausgewählte Cloud-Lösung einen hohen Stellenwert bekam. „Sie legen quasi das Firmenkapital in die Hände Ihres Providers“, erklärt Jesper Richter-Reichhelm, der Leiter des Engineerings bei Wooga. „Für den Weg in die Cloud war AWS die einzige sinnvolle Wahl.“

Wooga benötigt leicht skalierbare Rechenkapazität, damit sich das System an das laufend veränderte Verkehrsvolumen anpassen kann. Das Unternehmen brauchte auch eine Lösung, die für das schlanke Ressourcen-Organisationsmodell des Unternehmens zugeschnitten war, in der kleine Teams schnell daran arbeiten, ein Spiel auf den Markt zu bringen. AWS konnte mit seiner Flexibilität und Bedienerfreundlichkeit auch dies bereitstellen.

Für Monster World verwenden die Entwickler AWS OpsWorks, eine Entwicklungs-/IT-Betriebslösung für die Verwaltung von Anwendungen beliebiger Größe oder Komplexität in der AWS-Cloud. AWS OpsWorks bietet eine integrierte Erfahrung für die Verwaltung des kompletten Lebenszyklus der auf Amazon Elastic Compute Cloud (Amazon EC2) laufenden Software, einschließlich Automatisierungstools, mit denen Wooga die Kapazität flexibel auf die Anforderungen des Unternehmens anpassen kann. Der Erwerb und Start neuer Server-Instances nimmt nur wenige Minuten in Anspruch, sodass die Kapazität schnell in beiden Richtungen skaliert werden kann. Die Verrechnung pro Stunde gewährleistet, dass auch bei starken Nachfrageschwankungen das Unternehmen nur für das bezahlt, was auch wirklich verwendet wird. „AWS OpsWorks stellt uns die Tools zur Verfügung, die wir für die Betriebsautomatisierung benötigen“, erklärt Richter-Reichhelm. „Wir können Monster World für Millionen von Benutzern skalieren, ohne je mehr als zwei Entwickler im Back-End zu benötigen."

Wooga nutzt Amazon Elastic Block Store (Amazon EBS) mit Amazon EC2-Instances zum Speichern der Daten der Spiele für soziale Netzwerke. Amazon EBS ermöglicht die Speicherung außerhalb der Instances und bietet damit Unabhängigkeit von der Lebensspanne einer Instance. Amazon Simple Storage Service (Amazon S3) wird für die Spiele von Wooga ebenfalls verwendet und bietet eine einfache Schnittstelle für Web-Services, mit der beliebige Datenmengen jederzeit und überall im Web gespeichert und abgerufen werden können.

„Mit AWS können wir Entscheidungen sehr schnell treffen, auf Stundenbasis, wann immer wir wollen“, bekräftigt Richter-Reichhelm. Unsere Teams können entscheiden, welche Server wir benötigen, wie viele wir benötigen, und das in einem sehr kurzen Zeitrahmen. AWS bietet uns Flexibilität und hervorragenden Service.“

To learn more about how AWS can help your gaming application needs, visit our page about Game Hosting on AWS.