C Level Brunch Timo Salzsieder "Herausforderungen moderner Plattformen"

Post on 21-Oct-2014

440 views 2 download

Tags:

description

 

Transcript of C Level Brunch Timo Salzsieder "Herausforderungen moderner Plattformen"

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