c level brunch timo salzsieder "herausforderungen moderner plattformen"
Post on 21-Oct-2014
441 views
DESCRIPTION
TRANSCRIPT
Herausforderungen moderner PlattformenErfahrungen der TFTTimo Salzsieder, CTO TOMORROW FOCUS AG
05.06.2012 Seite 2
Agenda
• Wer ist TFT (Kennzahlen von Thomas)
• Security
• Skalierbarkeit
• Fehlertoleranz
• Performance
• E-Commerce (Multi-Device, etc.)
Quelle: BVDW
Wer ist die Wer ist TOMORROW FOCUS?
05.06.2012 Seite 3
Die TOMORROW FOCUS AG
• Die TFAG ist in den Geschäftsbereichen E-Commerce, Digitalvermarktungund Technologie aktiv.
• Hauptaktionär der TOMORROW FOCUS AG ist die Hubert Burda Media Holding
• TFT ist eine 100%ige-Tochtergesellschaft der TOMORROW FOCUS AG
TransactionsTransactions
AdvertisingAdvertising
TechnologiesTechnologies
Burda DigitalBurda Digital
05.06.2012 Seite 4
TOMORROW FOCUS Technologies
Quelle: BVDW
Hosting
Content Management
E-CommerceOptimierung
User Experience
Strategisch, kreativ, technologisch.
� Etabliert: Gründungsjahr 1996
� Lokal: Standorte in München & Kempten mit ca. 60 Mitarbeitern
� Erfolgreich: Umsatz ~ 9 Mio. €, unter den Top 50 Online Agenturen Deutschlands
� Strategisch: digitale Technik- und Kreativagentur
� Kompetent: erfahrener Partner im Medienumfeld undE-Commerce
05.06.2012 Seite 5
TFT betreibt eine der größten Online Server-Farmen
http-Requests pro Sekunde
13.000
TByte Traffic pro Monat
3.000an Nutzdaten6 TByte
Traffic pro Sekunde
2,3 GB
Domains in der Verantwortung1.000
05.06.2012 Seite 6
Herausforderungen und Lösungen
Skalierbarkeit Performance
Fehlerhandling Security
05.06.2012 Seite 7
Performance
05.06.2012 Seite 8
Performance zielt auf die optimale Bedienung eines Nutzers ab
Performance Skalierbarkeit
05.06.2012 Seite 9
Performance ist kritisch für den Erfolg einer Applikation
100ms mehr Ladezeit
kostet amazon 1% Umsatz
05.06.2012 Seite 10
Performance ist kritisch für den Erfolg einer Applikation
Jede zusätzliche Sekunde Ladezeit
reduziert Conversion um 7%
und Kundenzufriedenheit um 16%
05.06.2012 Seite 11
Performance ist kritisch für den Erfolg einer Applikation
40% aller Kunden verlassen die
Webseite wenn die Ladezeit
3 Sekunden überschreitet
05.06.2012 Seite 12
Performance ist kritisch für den Erfolg einer Applikation
Durch 500ms erhöhte Ladezeiten
verlieren Sie 20% des Traffics
05.06.2012 Seite 13
Performance-Optimierung am Beispiel FOCUS Online
05.06.2012 Seite 14
Wie funktioniert Performance-Optimierung?
Optimierung Java Script
05.06.2012 Seite 15
Investition in Performance lohnt sich
• Lassen Sie Ihre Web-Seite durch einen Performance-Spezialisten optimieren
• Nutzen Sie sein Know-How um Ihre eigene Mannschaft bzgl. Performance zu schulen und zu sensibilisieren
• Monitoring der Performance ist so wichtig wie Verfügbarkeit, Traffic, etc.
05.06.2012 Seite 16
Skalierbarkeit
05.06.2012 Seite 17
Was war noch gleich der Unterschied zwischen Performance und Skalierbarkeit?
Performance Skalierbarkeit
05.06.2012 Seite 18
Was sind die Gemeinsamkeiten dieser beiden Bilder?
Sie produzieren einen enormen Ansturm auf
unsere Webseiten
05.06.2012 Seite 19
Wir haben bei all unseren Kunden einen typischen Entwicklungspfad beim Aufbau eines Online-Business
Phase 1 Phase 2 Phase 3 Phase 4
Start-Up Growth Complexity Manageability
05.06.2012 Seite 20
Klassische, einfache Architektur zum Start des Online-Auftritts
Phase 1
Start-Up • 3 Schichten-Architektur mit
• Firewall/Loadbalancer
• Web-/Application-Server
• Database Server und lokaler Speicher
• Sehr geringe Komplexität erlaubt schnelle Implementierung neuer Features
• Überschaubare Kosten bei geringer Komplexität
Status
Maßnahmen
• Kaum Nutzer auf der Plattform
• Überschaubares Feature-Set
05.06.2012 Seite 21
Wachstumsphase: Ausbau der bestehenden Architektur
Phase 2
Growth • Aufstockung der Server-Kapazitäten
• Keine gravierenden Eingriffe in die Infrastruktur, lediglich Einführung von redundanten Systemen wie z.B. Master-Slave Datenbanken, shared Storage (SAN)
• Einführung von Caching Methoden (z.B. Varnish, Memache)
• Tuning der Basis-Software (Datenbank-Konfig, etc.), und der Applikation (z.B. Optimierung von SQL-Statements)
Status
Maßnahmen
• Erste Performance-Probleme beim Nutzer
• Weiterentwicklung der Applikation wird behindert, mehr Trouble-Shooting anstelle Development
05.06.2012 Seite 22
Mit „Bord-Mitteln“ ist die Applikation nicht mehr betreibbar
Phase 3
Complexity
• Komplettes Redesign der Applikation
• Database Partitioning, NoSQL als Alternative
• Shared Storage
• Nutzung CDN
• Dynamische Ressourcen-Allokation aus der Applikation
Status
Maßnahmen
• Häufige Performance-Bottlenecks, Verfügbarkeit des Gesamtsystems lässt nach
• Anpassungen an die Applikation nur noch mit großem Testaufwand möglich
• Hohe Kosten
05.06.2012 Seite 23
Applikation läuft stabil
Phase 4
Manageability
• Kontinuierliches Screening und Testing neuer aber geprüfter Methoden zu weiteren Optimierung des Systems
• Einführung Operations-Prozesse z.B. gemäß ITSM
Status
Maßnahmen
• Applikation läuft stabil
• kaum Eingriffe vom Operating, lediglich Monitoring
• Entwicklung kann sich wieder voll auf Feature-Development konzentrieren
05.06.2012 Seite 24
Skalierbarkeit wird durch die Applikation sichergestellt
• Versuchen Sie nicht die Skalierbarkeit nur durch Blech zu erschlagen
• Virtualisieren Sie Ihre Umgebung
• Frühzeitige Architektur-Eingriffe in die Applikation lohnen sich
• Beschäftigen Sie sich kontinuierlich mit neuen Technologien – die Welt dreht sich verdammt schnell
05.06.2012 Seite 25
Security
05.06.2012 Seite 26
Security-Themen sind ernstzunehmende Risiken
• DoS-Attacken können Ihr Geschäft lahm legen
• Personenbezogene Daten müssen sicher sein
• Manipulierter Content auf Ihrer Seite kann massiv die Reputation schädigen
Security-Themen müssen Teil Ihrer Risk-Management Prozesse sein
05.06.2012 Seite 27
Security-Maßnahmen
• Nutzung eines DetectionSystems
• Einführung von Security Rules auf Loadbalancer
• Web Application Firewall zur Filterung auf Applikationsebene
• Einsatz eines CDN
• Spezielle Betrachtung von Mobile
Technisch Prozessual
• Fast Deployment Prozess zur Behebung von Security Problemen
• Vordefinierte Kommunikationsregeln für den Ernstfall
• Security Testing als Teil des Entwicklungsprozesses
• Security Training für Operations & Development
05.06.2012 Seite 28
Empfehlungen bzgl. Security
• Regelmäßige Durchführung von externen Penetration-Tests
• Bestimmung von Security-Verantwortlichen bei Dev & Ops
• Umsetzung von technischen als auch prozessualen Maßnahmen
05.06.2012 Seite 29
Fehlerhandling
05.06.2012 Seite 30
Um Probleme zu lösen,
muss ich Probleme erkennen!
05.06.2012 Seite 31
Der typische Ablauf im Fall eines Fehlers
Service Desk
Application
Support
System
Administrator
Application
Developer
Application
Developer
Database
Administrator
Fehlermeldung
beim Service-Desk.
Unmittelbar ist
kein Fehler
feststellbar.
Application
Monitoring zeigt
keinen Fehler.
Abbruch des
aktuellen
Entwicklungs-
Tasks. Anfordern
von Production
Logs.
Abbruch der
aktuellen Aufgabe
und Bereitstellung
der Production
Logs.
Untersuchung der
Logs zeigt kein
Applikations-
Problem
DBA analysiert DB-
Logs und erkennt
beschädigte DB-
Files.
Eskalation. Eskalation. Eskalation. Rückantwort. Eskalation. Und nun?
05.06.2012 Seite 32
Systemische Identifizierung von Fehlern
• Es gibt nicht DIE System-Monitoring Lösung
• Prozessuale Verbindung diverser Systeme
• Zentrales Log-Management (z.B. Graylog2)
• Fehlerhandling bereits in der Architektur (z.B. Einsatz einer Event DrivenArchitecture)
ABER:Erkennen eines Fehlers ist nicht gleich effizientes Reagieren auf einen Fehler
05.06.2012 Seite 33
Prozesse müssen zum Status der Business passen
Pragmatische Einführung von IT Serviceprozessen
05.06.2012 Seite 34
Empfehlungen bzgl. Fehlerhandling
• Eine übergreifende Monitoring-Lösung gibt es nicht – entsprechend muss prozessual ein Zusammenspiel der Systeme gelöst werden
• Fehlerhandling muss technisch sowohl in der Infrastruktur – vor allem aber in der Applikation implementiert sein
• Fehlerhandling ist in erster Linie ein Prozessthema – pragmatische Prozesse angelehnt am Phasenmodell sind aufzusetzen
Danke für die Aufmerksamkeit