Mathias Fabian erklärt in diesem Vortrag Cloud Computing und stellt konkret die Amazon Web Services in ihrem umfangreichen Leistungsspektrum vor. Dabei geht er auf den konkreten Einsatz dieser Technologie für Online-Spiele der Playata GmbH ein und präsentiert wertvolle Lösungsansätze und Erfahrungswerte.
4. www.playata.com
Merkmale des Cloud Computings
• Es gibt verschiedene Formen des Cloud Computings
SaaS (Software as a Service)
PaaS (Platform as a Service)
IaaS (Infrastructure as a Service)
HaaS (Hardware as a Service)
Folie: 4
5. www.playata.com
Merkmale des Cloud Computings
•
•
•
•
Skalierbarer Hardware Layer
Zentral verwaltete Infrastruktur
On-Demand Zugriffe auf Ressourcen
Schnelle Reaktion auf stark schwankende Kapazitätsnachfrage
Folie: 5
7. www.playata.com
Amazon Web Services ist …
•
•
•
•
ein Infrastrukturanbieter für Cloud Computing
eine Tochter des Online Händlers Amazon.com
eine hoch verfügbare und skalierbare Rechenplattform
vertreten in allen Weltregionen
Folie: 7
8. www.playata.com
Merkmale von AWS
• Nutzungsabhängige Kosten ohne Vorausgaben oder langfristige Verpflichtungen
• Schnelle und dynamische Anpassungen an neue Herausforderungen
• Sprach- und Betriebssystemagnostische Plattform
Folie: 8
11. www.playata.com
AWS EC2 - Merkmale
Merkmale:
Amazon EC2
–
–
–
–
–
–
–
–
–
Rein virtuelle Rechenumgebung
Manuelle Kapazitätserweiterung/verringerung innerhalb von Minuten
Automatisierte Kapazitätserweiterung/verringerung
Konfigurationsmöglichkeiten bei RAM, CPU, Instance-Speicher und
Betriebssystem
Konzipiert zur Verwendung mit anderen Amazon Web Services
Verfügbarkeit von 99,95%
Rootzugriff auf alle Instanzen
Web-Service-APIs zur Steuerung
Einfache Web-Service Oberfläche
12. www.playata.com
AWS EC2 - Funktionen
Funktionen:
Amazon EC2
–
–
–
–
–
Verwendung in mehreren Standorten
Elastic IP Adresses
CloudWatch
Auto Scaling
Elastic Load Balancing
14. www.playata.com
AWS RDS- Merkmale und Funktionen
Merkmale:
Amazon RDS
– Web-Service zum Einrichten, Betreiben und Skalieren von relationalen
Datenbanken in der Cloud
– MySQL, - Oracle und Microsoft SQL Server
– Verschiedene Instanztypen mit unterschiedlicher Rechenleistung
– Managed MySQL ohne Shell Zugang
– Single oder Multi AZ Server
Funktionen:
–
–
–
–
–
–
CloudWatch-Metriken
Automatische Backups
DB Snapshots
Einfache Skalierbarkeit
Automatische-Host-Ersetzung
Replizierung
16. www.playata.com
AWS CloudFront - Merkmale und Funktionen
Merkmale:
Amazon
CloudFront
– Web-Service für die Bereitstellung von Inhalten
– Weltweite Verteilung
– Automatische Weiterleitung der Anfrage an den nächsten Standort
Funktionen:
– Speichern der Originalversionen von Dateien auf eigenen
Ursprungsserver oder Amazon Web Services (S3 Bucket, EC2 Instanz,
ELB)
18. www.playata.com
AWS S3- Merkmale und Funktionen
Merkmale:
Amazon S3
– Web-Service für die Bereitstellung von Inhalten
– Weltweite Verteilung, Redundante Speicherung
– Automatische Weiterleitung der Anfrage an den nächsten Standort
Funktionen:
– Schreiben, Lesen und Löschen
22. www.playata.com
AWS SNS- Merkmale und Funktionen
Merkmale:
Amazon SNS
– Zuverlässiges und Skalierbares Notification System
– Einfach zu benutzen
Funktionen:
– Erstellen von „Themen“ für Benachrichtigen
– Verschiedene Veröffentlichungsrichtlinien
– Abonnentensteuerung
24. www.playata.com
AWS SQS- Merkmale und Funktionen
Merkmale:
Amazon SQS
– Beliebige Anzahl an Warteschlangen und Mitteilungen
– Vorhaltezeit von 14 Tagen
Funktionen:
– Gleichzeitiges Senden und Empfangen von Mitteilungen
– Sperren von Mitteilungen während der Verarbeitung
27. www.playata.com
Prä AWS Zeit
• Architektur vor dem Wechsel in die Cloud
– 4 eigene Server im Rechenzentrum (3 Webserver/1 DB Server)
– 1 Loadbalancer
– SVN Checkout auf allen Servern via Script
• Gründe für den Wechsel
– Kapazitätsmangel
– Lange Vorlaufzeiten für Hardwarebeschaffung und hohe Anschaffungskosten
– Hardwarecrash!
28. www.playata.com
Kostenkontrolle
In der Cloud skalieren nicht nur Kapazität und Leistung sondern auch die Kosten. Daher
ist es essentiell die Kosten zu Überblicken und zu kontrollieren.
EURO je MAU
– Gibt an welche direkten Hostingkosten (in EURO) ein MAU im Monat verursacht
Folie: 28
30. www.playata.com
Erste Cloud Installation
Spielwelt: S2
Benutzte Services:
EC2
http//s2.herozerogame.com
ELB
EC2 M1
Medium
EC2 M1
Medium
EC2 M1
Medium
EC2 M1
Medium
Security Group
Availability Zone - EU WEST 1a
31. www.playata.com
Zweite Cloud Installation
Spielwelten: S1 und S2
http://s1.herozerogame.com
Benutzte Services:
EC2
ELB
EC2 M1
Medium
EC2 M1
Medium
EC2 M1
Medium
EC2 M1
Medium
http://s2.herozerogame.com
EC2 M1
Medium
EC2 M1
Medium
EC2 M1
Medium
EC2 M1
Medium
Security Group
Availability Zone - EU WEST 1a
32. www.playata.com
1. Optimierungsphase
Umstellung auf RDS
http://s1.herozerogame.com
Benutzte Services:
EC2
ELB
EC2 M1
Medium
EC2 M1
Medium
EC2 M1
Medium
http://s2.herozerogame.com
EC2 M1
Medium
EC2 M1
Medium
EC2 M1
Medium
Security Group
Availability Zone - EU WEST 1a
Folie: 32
Amazon RDS
Medium
Amazon RDS
Small
Security Group
RDS
33. www.playata.com
2. Optimierungsphase
EC2 nach Bedarf nutzen und CloudFront Integration
http://s1.herozerogame.com
Benutzte Services:
EC2
ELB
EC2 M1
Medium
EC2 M1
Medium
EC2 M1
Medium
Amazon RDS
RDS
S3
CloudFront
http://s2.herozerogame.com
EC2 M1
Medium
http://static.herozerogame.com
Folie: 33
EC2 M1
Medium
EC2 M1
Medium
Security Group
Availability Zone - EU WEST 1a
Amazon RDS
Security Group
Eigene EC2
Skalierung (Cronjob)
34. www.playata.com
Zwischenstand
• Folgendes wurde erreicht (Pro):
– Hero Zero lief vollständig und skalierbar in der Cloud
– Es werden die von Amazon vorgesehenen und optimierten Services verwendet
– Die Assets werden über ein weltweites CDN ausgeliefert und sind daher sehr schnell
verfügbar
• Contra:
–
–
–
–
Folie: 34
Die „ersten“ Webserver je Spielwelt haben eine hohe „Verantwortung“
Je neuer Spielwelt muss eine eigene „Infrastruktur“ aufgebaut werden
Es entsteht massiver Overhead an Kapazitäten
Massiv steigende Kosten, bis zu 6,23 Cent je MAU!
35. www.playata.com
3. Optimierungsphase
Autoscaling, Cron Server und Toolbox
http://xx.herozerogame.com
Benutzte Services:
EC2
ELB
Amazon RDS
S1
EC2 M1
Medium
Security Group
RDS
S3
Auto scaling Group
CloudFront
Amazon RDS
S2
http://static.herozerogame.com
EC2 M1
Medium
(CRON)
Amazon RDS
Common
Security Group
Security Group
Folie: 35
EC2 M1
Micro
(Toolbox)
Security Group
Availability Zone - EU WEST 1a
AutoScaling Group
36. www.playata.com
3. Optimierungsphase
• CloudFront – Reserved Capacity Agreement
– Ab einem CloudFront Traffic von 10 TB in einer AZ kann ein „privater“ Deal mit
Amazon geschlossen werden der die GB Preise in allen Regionen massiv senkt.
Die Konditionen unterliegen der Vertraulichkeit und können daher nicht besprochen
werden.
Folie: 36
37. www.playata.com
Zwischenstand
• Folgendes wurde erreicht (Pro):
–
–
–
–
–
Scaling läuft komplett von Amazon gesteuert und optimiert
Cronjobs werden je Availability Zone zentral gesteuert
SVN Repository wird zentral in der Cloud vorgehalten
Kosten von ca. 3 Cent je MAU
Alle Spielwelten teilen sich die Webserver! Dadurch optimale Auslastung der Server
und sehr gute Kosten/Nutzen Relation
• Contra:
– Schwachpunkt Cronserver (Hohe Verantwortung)
– Overhead in DB Instanzen
– RDS Instanzen haben kein Failover
Folie: 37
38. www.playata.com
4. Optimierungsphase
• RDS
– Überwachen der RDS Lasten, Spielwelten können sich eine RDS teilen
• Vorteil:
– Jede größere Instanzgröße verdoppelt sich in Kapazitäten und Preis, dadurch große
Einsparpotentiale
Bsp.: 3 Medium RDS laufen zur Primetime mit max. 60% Last. Alle 3 Medium Instanzen
können auf einer Large RDS zusammengefasst werden welche dann auf max. 90% Last
läuft. Dadurch werden die Kosten einer Medium RDS gespart. (ca. 160 USD)
• Nachteil:
– Verlust von Flexibilität, Spielwelten können nicht mehr so schnell skaliert werden
– Bei Servercrash sind mehrere Spielwelten betroffen
– Muss eine Spielwelt separiert werden sind längere Wartungszeiten nötig
Folie: 38
39. www.playata.com
4. Optimierungsphase
• EC2/RDS
– Reservieren von Instanzen
• Vorteil:
– Massive Einsparpotentiale sowohl bei RDS als auch EC2
Bsp.: M1 Medium RDS kostet regulär $0,220/h das entspricht $158,40/Monat.
Als Heavy Reserved Instance (1 Jahr) kostet die Instanz $0,078/h, das entspricht
$56,16/Monat + $32,50 Abschlussgebühr ($390 auf 12 Monate umgerechnet).
Die Serverkosten für die RDS betragen also effektiv $88,66/Monat.
Das entspricht einer Kostenersparnis von 44% je Monat!
• Nachteil:
– Abschlussgebühr muss direkt bei Reservierung gezahlt werden
– Je nach Reservierung Pauschalkapazitäten unabhängig der tatsächlichen Last
– Laufzeiten von 1 oder 3 Jahren
Folie: 39
41. www.playata.com
Aktueller Stand
•
•
•
•
•
Schnell und einfach zu skalierende Infrastruktur
Neue Spielwelten können in kürzester Zeit aufgesetzt werden
Spielwelten in neuen Märkten können Kosteneffizient starten
Hohe Auslastung der gebuchten (bezahlten!) Kapazitäten
Ein sehr gutes MAU/ Serverkosten Verhältnis von ca. 2,5 Cent je Mau
Der Unterschied von 0,5 Cent je MAU im Vergleich zur 3. Optimierungsphase zur hört
sich vielleicht nicht so groß an, verursacht bei 500.000 MAU jedoch bereits eine
Serverkostendifferenz von 2500 Euro je Monat!
Folie: 41