SlideShare ist ein Scribd-Unternehmen logo
Raus aus der Garage, rein in den Markt: Skalierung und Performance von Web-Applikationen René-Chr. Glembotzky CommunityCamp Berlin
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
Wunschzettel für unsere Webanwendung Hohe Verfügbarkeit Skalierbarkeit Performance Einfache Verwaltung Low Cost Viele Features €€€
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.
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 ;-)‏
High Availability Redundanz der Systeme 2 Firewalls 2 Webserver 2 Datenbankserver usw...
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.
Skalierung Beispiel: Kurzfristig steigender Bedarf an Web- oder Datenbankkapazitäten
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)‏
Skalierung und Performance sind nicht das gleiche
Skalierung und Performance sind nicht das gleiche
FAKT 1 Eine Anwendung lässt sich nicht skalieren, wenn sie nicht von vornherein dafür konzipiert wurde.
FAKT 2 Selbst wenn eine Anwendung für die Skalierung entwickelt wurde, lässt die Entwickler wahnsinnig werden, sobald es erforderlich ist.
Unsere neue Website :-)‏ Ein Server Anwendung, Datenbank und Media auf einem System Einfach zu verwalten Keine Ausfallsicherheit
Der Programmierer wird unzufrieden Anwendungs- und Datenbankebene werden auf getrennte Server verlagert.
Hurra: 1.000 Nutzer Media Files werden auch ausgelagert, um die Webserve mit weniger unnützen Prozessen zu belasten...
Das typische Startup-Setup Firewall/Load-Balancer Mehrere Webserver Datenbankserver Internes Storage Leicht zu verwalten Keine Redundanz Günstiger Betrieb
Das Startup wird erfolgreicher Redundante Firewall Redundante Load Balancer Mehr Webserver für mehr Performance Datenbank Storage zieht um -> SAN Aus Anwendungssicht relativ simpel...
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 :-)‏
Immenser Gewinn an Popularität
Point of no return... Caching mit Memcached Datenbankreplikation „gibt auf“ Datenbankpartitionierung macht Sinn Mediacluster für Content Neustrukturierung der Applikation und Datenbank erforderlich
Point of no return...-
Wir erinnern uns....
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
Zurücklehnen... Applikation und Datenbank sind skalierbar Performance ist „in Ordnung“ Neue Features werden wieder entwickelt Code wird teilweise optimiert Wachstum, aber managebares Wachstum
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 (Sun, Dell)‏ Dienste trennen, „sanfte Updates“ -> Troubleshooting
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
Best Practices Software-Dokumentation Release Management -> Entwickeln, Testen, Releasen Source Control
Schönes Wochenende :-)‏ [email_address]

Weitere ähnliche Inhalte

PDF
App-Arena Server-Infrastruktur
PPTX
Windows Azure für Entwickler V1
PDF
So hilft ein Enterprise Service Bus, Ordnung in Schnittstellen und Daten zu b...
PDF
Cocina practica mexicana no 25 los mas ricos quesos
PPTX
Forzudos sombreados
PPT
Revolución francesa acabado
PDF
Informe Programa Nacional de Transferencia Técnica Forestal año 2002
PPTX
Power plataforma educación vial.
App-Arena Server-Infrastruktur
Windows Azure für Entwickler V1
So hilft ein Enterprise Service Bus, Ordnung in Schnittstellen und Daten zu b...
Cocina practica mexicana no 25 los mas ricos quesos
Forzudos sombreados
Revolución francesa acabado
Informe Programa Nacional de Transferencia Técnica Forestal año 2002
Power plataforma educación vial.

Andere mochten auch (20)

PPTX
Documento tecnicos y cientificos heriberto valencia
PPTX
Medios digitales
PPTX
Jose luis
PPTX
PPTX
Santa maría de la esperanza
PDF
Fokus Scommerce
PDF
Fascismo nazismo. Democritica.com
PPS
Nochedebodas
PPT
Actividades
PPT
Revolución francesa Webquest
PDF
OpinionWay pour Lokeo : Les coûts cachés des biens électroménagers et multim...
PPT
Presentación1
PPTX
Generaciones
ODP
La maison des énigmes
DOCX
Ensayo
PPT
Seguridad industrial
PPTX
PDF
Web2 0v02
PDF
Solicitud ley del arbol
PDF
Bulletin omnium octobre 1998
Documento tecnicos y cientificos heriberto valencia
Medios digitales
Jose luis
Santa maría de la esperanza
Fokus Scommerce
Fascismo nazismo. Democritica.com
Nochedebodas
Actividades
Revolución francesa Webquest
OpinionWay pour Lokeo : Les coûts cachés des biens électroménagers et multim...
Presentación1
Generaciones
La maison des énigmes
Ensayo
Seguridad industrial
Web2 0v02
Solicitud ley del arbol
Bulletin omnium octobre 1998
Anzeige

Ähnlich wie Skalierung & Performance (20)

PDF
ConventionCamp Hannover
PDF
C Level Brunch Timo Salzsieder "Herausforderungen moderner Plattformen"
PDF
Performancemessung, jetzt in echt
PPT
Top 10 Mistakes of Internet Project Management (2001)
PDF
Steffan Müller Standortübergreifende Liquiditätsanalyse mit Jedox bei der ...
PDF
DevCon-2013-PerformanceSkalierbarkeit_UweBessle
PDF
Whitepaper ar-achieving application readiness maturity-de
PDF
Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...
PDF
10 Dinge die ich an dir hasse - Stolpersteine in der Webentwicklung
PDF
ColdFusion im Enterprise Umfeld - Deep Dive
PDF
Ueberlegungen Projektmanagement Web Applications
PPTX
Sieber&partners unternehmenspräsentation-v10
PPTX
Meister Training Professionelle Entwicklung: Alles rund um (mobile) App Entwi...
PDF
Encapsulation, the requirement for software modernization?
PDF
Cloud Computing
PDF
20101207 uni leipzig_oraclebpm_suite.slideshare
PDF
Mobile Applikationen: Es gibt für alles eine App! - Auch für Sie?
PDF
Der Einsatz von Cloud Computing in KMUs - Ein Beispiel aus dem Bereich der Me...
PDF
Webciety 2012 - Barcamp Hannover
PDF
Dokumentenmanagement mit Alfresco
ConventionCamp Hannover
C Level Brunch Timo Salzsieder "Herausforderungen moderner Plattformen"
Performancemessung, jetzt in echt
Top 10 Mistakes of Internet Project Management (2001)
Steffan Müller Standortübergreifende Liquiditätsanalyse mit Jedox bei der ...
DevCon-2013-PerformanceSkalierbarkeit_UweBessle
Whitepaper ar-achieving application readiness maturity-de
Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...
10 Dinge die ich an dir hasse - Stolpersteine in der Webentwicklung
ColdFusion im Enterprise Umfeld - Deep Dive
Ueberlegungen Projektmanagement Web Applications
Sieber&partners unternehmenspräsentation-v10
Meister Training Professionelle Entwicklung: Alles rund um (mobile) App Entwi...
Encapsulation, the requirement for software modernization?
Cloud Computing
20101207 uni leipzig_oraclebpm_suite.slideshare
Mobile Applikationen: Es gibt für alles eine App! - Auch für Sie?
Der Einsatz von Cloud Computing in KMUs - Ein Beispiel aus dem Bereich der Me...
Webciety 2012 - Barcamp Hannover
Dokumentenmanagement mit Alfresco
Anzeige

Skalierung & Performance

  • 1. Raus aus der Garage, rein in den Markt: Skalierung und Performance von Web-Applikationen René-Chr. Glembotzky CommunityCamp Berlin
  • 2. 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. Wunschzettel für unsere Webanwendung Hohe Verfügbarkeit Skalierbarkeit Performance Einfache Verwaltung Low Cost Viele Features €€€
  • 4. 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. 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. High Availability Redundanz der Systeme 2 Firewalls 2 Webserver 2 Datenbankserver usw...
  • 7. 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. Skalierung Beispiel: Kurzfristig steigender Bedarf an Web- oder Datenbankkapazitäten
  • 9. 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. Skalierung und Performance sind nicht das gleiche
  • 11. Skalierung und Performance sind nicht das gleiche
  • 12. FAKT 1 Eine Anwendung lässt sich nicht skalieren, wenn sie nicht von vornherein dafür konzipiert wurde.
  • 13. FAKT 2 Selbst wenn eine Anwendung für die Skalierung entwickelt wurde, lässt die Entwickler wahnsinnig werden, sobald es erforderlich ist.
  • 14. Unsere neue Website :-)‏ Ein Server Anwendung, Datenbank und Media auf einem System Einfach zu verwalten Keine Ausfallsicherheit
  • 15. Der Programmierer wird unzufrieden Anwendungs- und Datenbankebene werden auf getrennte Server verlagert.
  • 16. Hurra: 1.000 Nutzer Media Files werden auch ausgelagert, um die Webserve mit weniger unnützen Prozessen zu belasten...
  • 17. Das typische Startup-Setup Firewall/Load-Balancer Mehrere Webserver Datenbankserver Internes Storage Leicht zu verwalten Keine Redundanz Günstiger Betrieb
  • 18. Das Startup wird erfolgreicher Redundante Firewall Redundante Load Balancer Mehr Webserver für mehr Performance Datenbank Storage zieht um -> SAN Aus Anwendungssicht relativ simpel...
  • 19. 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 :-)‏
  • 20. Immenser Gewinn an Popularität
  • 21. Point of no return... Caching mit Memcached Datenbankreplikation „gibt auf“ Datenbankpartitionierung macht Sinn Mediacluster für Content Neustrukturierung der Applikation und Datenbank erforderlich
  • 22. Point of no return...-
  • 24. 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
  • 25. Zurücklehnen... Applikation und Datenbank sind skalierbar Performance ist „in Ordnung“ Neue Features werden wieder entwickelt Code wird teilweise optimiert Wachstum, aber managebares Wachstum
  • 26. 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 (Sun, Dell)‏ Dienste trennen, „sanfte Updates“ -> Troubleshooting
  • 27. 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
  • 28. Best Practices Software-Dokumentation Release Management -> Entwickeln, Testen, Releasen Source Control
  • 29. Schönes Wochenende :-)‏ [email_address]