Rene-Chr. Glembotzky, Head of IT
Convention Camp Hannover
Skalierbare Webanwendungen:
Hardware, Software & Projektmanagement
René-Chr. Glembotzky
ConventionCamp Hannover
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
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
● €€€
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.
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 ;-)
Rene-Chr. Glembotzky, Head of IT
Convention Camp Hannover
High Availability
● Redundanz der Systeme
– 2 Firewalls
– 2 Webserver
– 2 Datenbankserver
– usw...
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.
Rene-Chr. Glembotzky, Head of IT
Convention Camp Hannover
Skalierung
Beispiel:
Kurzfristig steigender Bedarf
an Web- oder
Datenbankkapazitäten
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)
Rene-Chr. Glembotzky, Head of IT
Convention Camp Hannover
Skalierung und Performance sind
nicht das gleiche
Rene-Chr. Glembotzky, Head of IT
Convention Camp Hannover
Skalierung und Performance sind
nicht das gleiche
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.
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.
Rene-Chr. Glembotzky, Head of IT
Convention Camp Hannover
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
Rene-Chr. Glembotzky, Head of IT
Convention Camp Hannover
Der Programmierer wird
unzufrieden
Anwendungs- und
Datenbankebene werden
auf getrennte Server
verlagert.
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...
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
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...
Rene-Chr. Glembotzky, Head of IT
Convention Camp Hannover
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 :-)
Rene-Chr. Glembotzky, Head of IT
Convention Camp Hannover
Immenser Gewinn an Popularität
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
Rene-Chr. Glembotzky, Head of IT
Convention Camp Hannover
Point of no return...-
Rene-Chr. Glembotzky, Head of IT
Convention Camp Hannover
Wir erinnern uns....
Rene-Chr. Glembotzky, Head of IT
Convention Camp Hannover
Gibt es jemanden...
... der schon einmal an diesem Punkt
angelangt war??!
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
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
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
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
Rene-Chr. Glembotzky, Head of IT
Convention Camp Hannover
Best Practices
● Software-Dokumentation
● Release Management
-> Entwickeln, Testen, Releasen
● Source Control
Rene-Chr. Glembotzky, Head of IT
Convention Camp Hannover
Schönes Wochenende :-)
rene.glembotzky@goolive.de

ConventionCamp Hannover

  • 1.
    Rene-Chr. Glembotzky, Headof IT Convention Camp Hannover Skalierbare Webanwendungen: Hardware, Software & Projektmanagement René-Chr. Glembotzky ConventionCamp Hannover
  • 2.
    Rene-Chr. Glembotzky, Headof 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, Headof IT Convention Camp Hannover Wunschzettel für unsere Webanwendung ● Hohe Verfügbarkeit ● Skalierbarkeit ● Performance ● Einfache Verwaltung ● Low Cost ● Viele Features ● €€€
  • 4.
    Rene-Chr. Glembotzky, Headof 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, Headof 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, Headof IT Convention Camp Hannover High Availability ● Redundanz der Systeme – 2 Firewalls – 2 Webserver – 2 Datenbankserver – usw...
  • 7.
    Rene-Chr. Glembotzky, Headof 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, Headof IT Convention Camp Hannover Skalierung Beispiel: Kurzfristig steigender Bedarf an Web- oder Datenbankkapazitäten
  • 9.
    Rene-Chr. Glembotzky, Headof 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, Headof IT Convention Camp Hannover Skalierung und Performance sind nicht das gleiche
  • 11.
    Rene-Chr. Glembotzky, Headof IT Convention Camp Hannover Skalierung und Performance sind nicht das gleiche
  • 12.
    Rene-Chr. Glembotzky, Headof 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, Headof 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.
  • 14.
    Rene-Chr. Glembotzky, Headof IT Convention Camp Hannover
  • 15.
    Rene-Chr. Glembotzky, Headof 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, Headof IT Convention Camp Hannover Der Programmierer wird unzufrieden Anwendungs- und Datenbankebene werden auf getrennte Server verlagert.
  • 17.
    Rene-Chr. Glembotzky, Headof 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, Headof 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, Headof 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...
  • 20.
    Rene-Chr. Glembotzky, Headof IT Convention Camp Hannover
  • 21.
    Rene-Chr. Glembotzky, Headof 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 :-)
  • 22.
    Rene-Chr. Glembotzky, Headof IT Convention Camp Hannover Immenser Gewinn an Popularität
  • 23.
    Rene-Chr. Glembotzky, Headof 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
  • 24.
    Rene-Chr. Glembotzky, Headof IT Convention Camp Hannover Point of no return...-
  • 25.
    Rene-Chr. Glembotzky, Headof IT Convention Camp Hannover Wir erinnern uns....
  • 26.
    Rene-Chr. Glembotzky, Headof IT Convention Camp Hannover Gibt es jemanden... ... der schon einmal an diesem Punkt angelangt war??!
  • 27.
    Rene-Chr. Glembotzky, Headof 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, Headof 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, Headof 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, Headof 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, Headof IT Convention Camp Hannover Best Practices ● Software-Dokumentation ● Release Management -> Entwickeln, Testen, Releasen ● Source Control
  • 32.
    Rene-Chr. Glembotzky, Headof IT Convention Camp Hannover Schönes Wochenende :-) rene.glembotzky@goolive.de