© saicle/Shutterstock.com
PHP Magazin
Reimplementierung eines Onlineshops für die Cloud

For the Cloud - Global skalieren

Im ersten Artikel haben wir einen grundsätzlichen Überblick über den neu zu implementierenden Onlineshop von Goodgame Studios gegeben. Der zweite Artikel fokussierte auf den Umgang mit großen Datenmengen und NoSQL-Datenbanken. In diesem Artikel wollen wir auf die Architektur und weitere besondere Bedingungen eingehen, die zu beachten sind, wenn man Software für den Einsatz in der Cloud schreibt.

Wolf-Gideon Bleek, Dennis Kopp


Der Artikel ist dafür wie folgt aufgebaut: Zuerst beschreiben wir das Setting und die Herausforderung an unsere Verteilung. Daran anschließend gehen wir näher auf die technischen Details rund um Cloud-Rechenzentren ein. Danach zeigen wir das Zusammenspiel zwischen den Cloud-Regionen und beschreiben abschließend die Ausfallszenarien, denen wir uns nun stellen können, und die als Nächstes anzugehenden Anforderungen.

ArtikelserieTeil 1: Weltweites Shopping auf der CouchTeil 2: For the Masses – NoSQL mit großen DatenmengenTeil 3: For the Cloud – Global skalierenTeil 4: For Performance – Infrastruktur, Backend, Frontend und Real-User-Performance

Das Setting

Mehr als 220 Mio. Nutzer greifen aus 230 Ländern (Google Analytics) auf unsere Systeme zu. Eine schnelle, weltweite Verfügbarkeit ist daher unsere primäre Anforderung. Die Netzwerklatenzen wären viel zu groß, wenn wir von einem zentralen Punkt aus unseren Onlineshop betreiben würden. Deshalb haben wir das System so konzipiert, dass es an vielen Orten der Erde gleichzeitig laufen kann, um möglichst nah am Endanwender zu sein.

28 Mio. Spieler kaufen in diesem Onlineshop Produkte. Insbesondere zu Rabattaktionen bedeutet das eine große Anzahl von Seitenabrufen. Der Onlineshop muss auch in dieser Situation zuverlässig und performant reagieren.

Die Herausforderung

Unsere Herausforderung ist es, mit der Shopfunktionalität in den Regionen der Kunden präsent zu sein, um einen zügigen Kaufvorgang zu ermöglichen – deswegen müssen wir die Shopapplikation auf einen verteilten Betrieb auslegen. Da es heutzutage unwirtschaftlich erscheint, eigene Rechenzentren in allen Kontinenten zu betreiben, bietet es sich an, Cloud-Dienstleistungen in Anspruch zu nehmen. Diese bieten ganz neue Möglichkeiten, zu Skalieren. Dafür müssen wir unsere Applikation Cloud-fähig machen. Cloud-fähig heißt dabei, wir können keine Annahmen darüber machen

an welchem Standort wir laufenan wie vielen Standorten wir laufenvon wo der Nutzer mit uns kommuniziertwie viele Nodes eines Typs laufen

Vielmehr müssen wir uns darüber hinaus darauf einstellen, dass

einzelne Systeme ausfallen können (und dürfen)einzelne Standorte ausfallendie gebuchten Rechner nur im Rahmen des Service-Level-Agreements Leistung erbringen (Speicher, CPU, I/O usw.)Wartungsfenster des Cloud-Anbieters beachtet werden müssen

Verteilter Betrieb

Wir haben uns für einen verteilten Betrieb entschieden, damit wir regionsbezogene Lasten abfangen können und um Latenzen so gering wie möglich zu halten...

PHP Magazin
Reimplementierung eines Onlineshops für die Cloud

For the Cloud - Global skalieren

Im ersten Artikel haben wir einen grundsätzlichen Überblick über den neu zu implementierenden Onlineshop von Goodgame Studios gegeben. Der zweite Artikel fokussierte auf den Umgang mit großen Datenmengen und NoSQL-Datenbanken. In diesem Artikel wollen wir auf die Architektur und weitere besondere Bedingungen eingehen, die zu beachten sind, wenn man Software für den Einsatz in der Cloud schreibt.

Wolf-Gideon Bleek, Dennis Kopp


Der Artikel ist dafür wie folgt aufgebaut: Zuerst beschreiben wir das Setting und die Herausforderung an unsere Verteilung. Daran anschließend gehen wir näher auf die technischen Details rund um Cloud-Rechenzentren ein. Danach zeigen wir das Zusammenspiel zwischen den Cloud-Regionen und beschreiben abschließend die Ausfallszenarien, denen wir uns nun stellen können, und die als Nächstes anzugehenden Anforderungen.

ArtikelserieTeil 1: Weltweites Shopping auf der CouchTeil 2: For the Masses – NoSQL mit großen DatenmengenTeil 3: For the Cloud – Global skalierenTeil 4: For Performance – Infrastruktur, Backend, Frontend und Real-User-Performance

Das Setting

Mehr als 220 Mio. Nutzer greifen aus 230 Ländern (Google Analytics) auf unsere Systeme zu. Eine schnelle, weltweite Verfügbarkeit ist daher unsere primäre Anforderung. Die Netzwerklatenzen wären viel zu groß, wenn wir von einem zentralen Punkt aus unseren Onlineshop betreiben würden. Deshalb haben wir das System so konzipiert, dass es an vielen Orten der Erde gleichzeitig laufen kann, um möglichst nah am Endanwender zu sein.

28 Mio. Spieler kaufen in diesem Onlineshop Produkte. Insbesondere zu Rabattaktionen bedeutet das eine große Anzahl von Seitenabrufen. Der Onlineshop muss auch in dieser Situation zuverlässig und performant reagieren.

Die Herausforderung

Unsere Herausforderung ist es, mit der Shopfunktionalität in den Regionen der Kunden präsent zu sein, um einen zügigen Kaufvorgang zu ermöglichen – deswegen müssen wir die Shopapplikation auf einen verteilten Betrieb auslegen. Da es heutzutage unwirtschaftlich erscheint, eigene Rechenzentren in allen Kontinenten zu betreiben, bietet es sich an, Cloud-Dienstleistungen in Anspruch zu nehmen. Diese bieten ganz neue Möglichkeiten, zu Skalieren. Dafür müssen wir unsere Applikation Cloud-fähig machen. Cloud-fähig heißt dabei, wir können keine Annahmen darüber machen

an welchem Standort wir laufenan wie vielen Standorten wir laufenvon wo der Nutzer mit uns kommuniziertwie viele Nodes eines Typs laufen

Vielmehr müssen wir uns darüber hinaus darauf einstellen, dass

einzelne Systeme ausfallen können (und dürfen)einzelne Standorte ausfallendie gebuchten Rechner nur im Rahmen des Service-Level-Agreements Leistung erbringen (Speicher, CPU, I/O usw.)Wartungsfenster des Cloud-Anbieters beachtet werden müssen

Verteilter Betrieb

Wir haben uns für einen verteilten Betrieb entschieden, damit wir regionsbezogene Lasten abfangen können und um Latenzen so gering wie möglich zu halten...

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang