1. Rene-Chr. Glembotzky, Head of IT
Convention Camp Hannover
Skalierbare Webanwendungen:
Hardware, Software & Projektmanagement
René-Chr. Glembotzky
ConventionCamp Hannover
2. Rene-Chr. Glembotzky, Head of IT
Convention Camp Hannover
Zur Person
● René-Chr. Glembotzky
● 32 Jahre
● Gründer und Entwickler
von free-sms.de mit 1.8 Mio
Mitgliedern
● IT Leiter von goolive.de
Community mit 130 Mio.
Seitenaufrufen pro Monat
3. Rene-Chr. Glembotzky, Head of IT
Convention Camp Hannover
Wunschzettel für unsere
Webanwendung
● Hohe Verfügbarkeit
● Skalierbarkeit
● Performance
● Einfache Verwaltung
● Low Cost
● Viele Features
● €€€
4. Rene-Chr. Glembotzky, Head of IT
Convention Camp Hannover
High Availability...
● sorgt dafür, dass im Falle eines Ausfalls
– unsere Website erreichbar bleibt,
– unsere Nutzer und Kunden zufrieden sind und
– weiterhin Revenues generiert werden.
5. Rene-Chr. Glembotzky, Head of IT
Convention Camp Hannover
High Availability...
● sorgt dafür, dass im Falle eines Ausfalls
– unsere Website erreichbar bleibt,
– unsere Nutzer und Kunden zufrieden sind und
– weiterhin Revenues generiert werden.
● IT-Leitung behält ihren Job ;-)
6. Rene-Chr. Glembotzky, Head of IT
Convention Camp Hannover
High Availability
● Redundanz der Systeme
– 2 Firewalls
– 2 Webserver
– 2 Datenbankserver
– usw...
7. Rene-Chr. Glembotzky, Head of IT
Convention Camp Hannover
Skalierung
Skalierung ist die Eigenschaft
einer Plattform oder
Anwendung, wachsenden
Anforderungen gerecht zu
werden und dahingehend
vorbereitet zu sein, dass die
Systeme bei Bedarf flexibel
erweitert werden können.
8. Rene-Chr. Glembotzky, Head of IT
Convention Camp Hannover
Skalierung
Beispiel:
Kurzfristig steigender Bedarf
an Web- oder
Datenbankkapazitäten
9. Rene-Chr. Glembotzky, Head of IT
Convention Camp Hannover
Was Skalierung NICHT bedeutet
● Reine Speed-Performance (2 Ghz vs. 3 Ghz)
● Betriebssystems (Linux vs. Solaris)
● Technologie (PHP vs. Python vs. Rails)
● Hardware (AMD vs. Intel)
● Code Optimierung (10 vs. 10.000 Zeilen Quelltext)
● Storage Technologie (SAN vs. NAS)
10. Rene-Chr. Glembotzky, Head of IT
Convention Camp Hannover
Skalierung und Performance sind
nicht das gleiche
11. Rene-Chr. Glembotzky, Head of IT
Convention Camp Hannover
Skalierung und Performance sind
nicht das gleiche
12. Rene-Chr. Glembotzky, Head of IT
Convention Camp Hannover
FAKT 1
Eine Anwendung lässt sich nicht skalieren,
wenn sie nicht von vornherein dafür
konzipiert wurde.
13. Rene-Chr. Glembotzky, Head of IT
Convention Camp Hannover
FAKT 2
Selbst wenn eine Anwendung für die Skalierung
entwickelt wurde, lässt die Entwickler wahnsinnig
werden, sobald es erforderlich ist.
15. Rene-Chr. Glembotzky, Head of IT
Convention Camp Hannover
Unsere neue Website :-)
● Ein Server
● Anwendung,
Datenbank und Media
auf einem System
● Einfach zu verwalten
● Keine Ausfallsicherheit
16. Rene-Chr. Glembotzky, Head of IT
Convention Camp Hannover
Der Programmierer wird
unzufrieden
Anwendungs- und
Datenbankebene werden
auf getrennte Server
verlagert.
17. Rene-Chr. Glembotzky, Head of IT
Convention Camp Hannover
Hurra: 1.000 Nutzer
Media Files werden auch
ausgelagert, um die
Webserve mit weniger
unnützen Prozessen zu
belasten...
18. Rene-Chr. Glembotzky, Head of IT
Convention Camp Hannover
Das typische Startup-Setup
● Firewall/Load-Balancer
● Mehrere Webserver
● Datenbankserver
● Internes Storage
● Leicht zu verwalten
● Keine Redundanz
● Günstiger Betrieb
19. Rene-Chr. Glembotzky, Head of IT
Convention Camp Hannover
Das Startup wird erfolgreicher
● Redundante Firewall
● Redundante Load Balancer
● Mehr Webserver für mehr Performance
● Datenbank Storage zieht um -> SAN
● Aus Anwendungssicht relativ simpel...
21. Rene-Chr. Glembotzky, Head of IT
Convention Camp Hannover
Immenser Gewinn an Popularität
● Nennung des Startups z.B. bei Digg oder
Techcrunch
● Caching: Reverse Proxy (Squid/Varnish)
● Mehr Webserver
● Replikation der Datenbank
● Applikation überarbeiten :-)
23. Rene-Chr. Glembotzky, Head of IT
Convention Camp Hannover
Point of no return...
● Caching mit Memcached
● Datenbankreplikation „gibt auf“
● Datenbankpartitionierung macht Sinn
● Mediacluster für Content
● Neustrukturierung der Applikation und Datenbank
erforderlich
26. Rene-Chr. Glembotzky, Head of IT
Convention Camp Hannover
Gibt es jemanden...
... der schon einmal an diesem Punkt
angelangt war??!
27. Rene-Chr. Glembotzky, Head of IT
Convention Camp Hannover
Gibt es jemanden...
● PANIK!
– Überdenken des Geschäftsmodells
– Überarbeitung der gesamten Applikation
● Datenbankstrukturierung anhand von „weichen“
Features
– Partitionierung nach Herkunft, Nutzer ID,
Themengebiet
– Einsatz eines „Finde-Mechanismus“, um
herauszufinden, welcher Nutzer in welchem
Cluster beheimatet ist
28. Rene-Chr. Glembotzky, Head of IT
Convention Camp Hannover
Zurücklehnen...
● Applikation und Datenbank sind skalierbar
● Performance ist „in Ordnung“
● Neue Features werden wieder entwickelt
● Code wird teilweise optimiert
● Wachstum, aber managebares Wachstum
29. Rene-Chr. Glembotzky, Head of IT
Convention Camp Hannover
Best Practices
● Trennung des IT-Bereichs in Development &
Operations
● Das Rad nicht zweimal erfinden. Vorhandene
Lösungen nutzen.
● Einfaches soll so einfach wie möglich gemacht
werden (aber nicht einfacher *g*)
● Gutes Equipment verwenden (SGI, Dell)
● Dienste trennen, „sanfte Updates“
-> Troubleshooting
30. Rene-Chr. Glembotzky, Head of IT
Convention Camp Hannover
Best Practices
● Keine Über-Optimierung der Software
-> bei Bedarf step-by-step anpassen
● Last-Tests der Applikation
-> bevor es live zu Problemen führt
● Caching! Caching! Caching!
● Memory! Memory! Memory! (64 bit)
● Nice to have vs. have to have
-> Performance Analyse neuer Features
31. Rene-Chr. Glembotzky, Head of IT
Convention Camp Hannover
Best Practices
● Software-Dokumentation
● Release Management
-> Entwickeln, Testen, Releasen
● Source Control
32. Rene-Chr. Glembotzky, Head of IT
Convention Camp Hannover
Schönes Wochenende :-)
rene.glembotzky@goolive.de