E Commerce Conference 2008
-
Upload
mayflower-gmbh -
Category
Technology
-
view
2.224 -
download
0
description
Transcript of E Commerce Conference 2008
E-Shop on Steroids
E-Commerce
Conference| München
Björn Schotte
© MAYFLOWER GmbH 2008 2
„E-Shop on Steroids“
Oh Techie, where are thou?(Bitte melde dich)
© MAYFLOWER GmbH 2008 3
„E-Shop on Steroids“
Agenda
❙
Social
Commerce
❙
Begriffserklärung
❙
Auswirkung auf Ihre Shop-Serverstruktur
❙
Performance
❙
Web2.0, AJAX
❙
Serverseitige Performance-Messungen
❙
Clientseitige Performance-Messungen
❙
Skaliermethoden
❙
Webserver-Struktur
❙
Memory
Caching
❙
Compute
Clouds
❙
Sonstige Steroide
© MAYFLOWER GmbH 2008 4
„E-Shop on Steroids“
Social
Commerce -
Begriffsdefinition
❙
„Unter Social
Commerce
(Empfehlungshandel) wird eine konkrete Ausprägung des elektronischen Handels
(bzw.
Electronic Commerce) verstanden, bei der die aktive Beteiligung (z.
B. Kommunikation
untereinander) der
Kunden und die persönliche Beziehung der Kunden untereinander im Vordergrund stehen.“
(de.wikipedia.org)
❙
Blogs❙
Wishlists
❙
Widgets, RSS Feeds❙
Produktbewertungen
❙
Community, offen oder private clubs
(Vente
Privée)❙
„Long Tail“
❙
Live Shopping
Lesenswertes Weblog: http://ecommerce.typepad.com/
© MAYFLOWER GmbH 2008 5
„E-Shop on Steroids“
Beispiel für Performance: Swoodoo.de
Flugsuchmaschine
© MAYFLOWER GmbH 2008 6
„E-Shop on Steroids“
Social
Commerce mit der Technik-Brille
❙
AJAXifiziert
(bunt, laut, fluffig)
❙
Web-Zwo-Nullig
= runde Ecken
❙
erhöhte Nutzeraktivitäten
❙
Shop ist nicht mehr nur Nase-an-der-Scheibe-plattdrücken und auch keine Festung mehr, die dem Shopbetreiber
gehört
❙
„Mami, ich will auch mitspielen!“
(Widgets, Community- Integration, …)
❙
Widgets
als Traffictreiber
© MAYFLOWER GmbH 2008 7
„E-Shop on Steroids“
Widgets
explained
… zazzle.com
© MAYFLOWER GmbH 2008 8
„E-Shop on Steroids“
Zazzle
Widget
im Blog
…
© MAYFLOWER GmbH 2008 9
„E-Shop on Steroids“
Preisbock Widget
bei A-Bloggern
…
© MAYFLOWER GmbH 2008 10
„E-Shop on Steroids“
Widgets
…
❙
Entführen Produktdetails auf fremde Seiten, zum Beispiel externe Blogs
❙
Traffic
wird unter Umständen massiv erhöht
❙
Nicht einfach Widgets
auf die bestehende Shop- Plattform aufsetzen, sondern konsequent und gut planen
❙
Plattformen: Caching
Elemente nutzen wo möglich, es sei denn Widgets
sind volldynamisch
© MAYFLOWER GmbH 2008 11
„E-Shop on Steroids“
AJAX?
© MAYFLOWER GmbH 2008 12
„E-Shop on Steroids“
AJAX!
❙
„Asynchronous
JavaScript and XML“❙
Web-Anwendung fühlt sich wie Desktop-Anwendung an
❙
Kein stumpfes Request-Response
mehr❙
Dynamische Aktualisierung der Anwendung ohne Browser-
Reload
❙
weniger Datenmengen in der Einzel-Übertragung❙
viel mehr Anfragen pro Zeiteinheit an die Server
Liebe Shop-Plattformen, packt Ihr das??
© MAYFLOWER GmbH 2008 13
„E-Shop on Steroids“
„Scotty, du hast 2 Stunden“ „Okay Captain, ich mach‘s
dir in einer!“
❙
Aus dem Ingenieurs-Handbuch:❙
Optimiere deine Datenbanken
❙
Vielhilftviel(.de) AKA „Mehr Blech!“
❙
Nutze Caches, wo möglich❙
Systemsprache + Datenbank
❙
Content
Caches
❙
RAM-basierte Caches (memcached)❙
Optimiere statische Dateien (Produktbilder?)
❙
Sorge dich um den Browser (Client Performance)❙
Kilometerweise JavaScript, muss das sein?
❙
Räum‘
mal den Saustall (HTML) auf❙
Denke an Shared
Nothing
Architektur
❙
Mess‘
mal die Serverseite durch
© MAYFLOWER GmbH 2008 14
„E-Shop on Steroids“
Serverseitige Performance-Messung…
❙
„…
the
ab way“❙
ab = Apache
Bench
❙
Feuert n Requests
in Parallelität m ab und zeigt mir die Ergebnisse (durchschnittliche Antwortzeit des Servers etc.)
❙
Wenig aussagekräftig❙
Bildet kein echtes Nutzerverhalten ab
❙
Seriöse Tests lassen sich damit nicht fahren
© MAYFLOWER GmbH 2008 15
„E-Shop on Steroids“
Serverseitige Performance-Messung … in schlau (I)
❙
JMeter, WinLoad, …
❙
Virtuelle Nutzersimulationen
❙
„Blaupausen“-Design
der Bewegungen der Nutzer
❙
Importieren des Webserver Logs
❙
Oder Interview mit Fachabteilung über erwartetes Nutzerverhalten
© MAYFLOWER GmbH 2008 16
„E-Shop on Steroids“
Serverseitige Performance-Messung … in schlau (II)
❙
Design der Blaupause, manuell oder per Proxy
❙
„Anfahren“
von virtuellen Nutzern in Breite und Tiefe
❙
Mit Think
Time!
❙
Use
Cases
❙
TV-Spot für meinshopistgut.de: hält der das aus?
❙
Newsletter-Versand
mit Sommer-Aktion: Peaks!
❙
Christmas Time
© MAYFLOWER GmbH 2008 17
„E-Shop on Steroids“
Clientseitige Performance-Messungen
❙
Üblich: nur serverseitige Optimierungen❙
DB Optimierung
❙
Mehr Blech❙
Serverseitiges Caching
❙
…
❙
Jedoch: Clientseitige Optimierungen❙
Optimieren der Webanwendung auf Schnelligkeit
der Darstellung im Browser
❙
Wieso das?
© MAYFLOWER GmbH 2008 18
„E-Shop on Steroids“
Clientseitige Performance-Messung Wozu denn das?
Beispiel: Wasserfalldiagramm www.mayflower.de
Startseite
Backend ~5% Frontend
~95%
© MAYFLOWER GmbH 2008 19
„E-Shop on Steroids“
Clientseitige Performance-Messung … in schlau
„Studies
have
shown
that
response
time can
be
improved
by 25-50%
by
following
these
rules.“
❙
Y!Slow, Plugin
für Firebug❙
Firebug
ist ein Plugin
für Firefox
❙
13 simple, but
golden rules❙
Vom größten Portal der Welt: Yahoo! (http://developer.yahoo.com/yslow/)
❙
Auszüge:❙
CSS an den Anfang
❙
GZip
mich❙
JavaScript ans Ende
❙
…
© MAYFLOWER GmbH 2008 20
„E-Shop on Steroids“
Stylesheets
(CSS) an den Anfang
❙
Stylesheets
sollten im <head> der Seite definiert werden (und bitte extern einbinden!)
❙
Einbindung möglichst weit oben erlaubt progressives Darstellen (Rendern) der Seite im Browser
❙
Subjektiv schnellerer Aufbau der Seite für den Nutzer
© MAYFLOWER GmbH 2008 21
„E-Shop on Steroids“
JavaScripts ans Ende
❙
Erlaubt progressives Rendern
der Seite
❙
Progressives Rendern
wird blockiert für alles, was nach dem (Java)Script
kommt
❙
Browser können pro Domain maximal 2 Downloads parallel
❙
Solange der Browser ein Script lädt, werden diese anderen Downloads blockiert!
© MAYFLOWER GmbH 2008 22
„E-Shop on Steroids“
Sie GZipt
mich, sie GZipt
mich nicht …
❙
GZIP = Kompressionsalgorithmus❙
Inhalt wird auf Serverseite komprimiert
❙
Inhalt wird an den Client (Browser geschickt)❙
Client dekomprimiert Inhalt und stellt ihn dar
❙
Konsequenz:❙
Datenvolumen von Server zu Browser sinkt
❙
Daten gelangen schneller zum Browser
❙
Lässt sich im Webserver bequem konfigurieren
© MAYFLOWER GmbH 2008 23
„E-Shop on Steroids“
Weitere Y!Slow
Regeln …
❙
… auf den Developer
Pages
von Y!Slow im Yahoo! Developer
Network
❙
Es lohnt sich, nicht nur die Serverseite zu betrachten, sondern auch die Darstellung im Webbrowser zu
optimieren
❙
Steigerung des Abverkaufs Ihrer Produkte!
© MAYFLOWER GmbH 2008 24
„E-Shop on Steroids“
AJAX Aufrufe cachen
❙
Best Practice
Beispiel: SXBATCH
❙
Sammeln von AJAX Anfragen im Client❙
Verteilung der Responses vom Server
❙
Reduzierung der Anfragen an den Server (vgl. Folie 6)❙
Mehr Aufwand bei Planung der Anfragen in der
Anwendungslogik
im Browser (JS) und auf Serverseite
© MAYFLOWER GmbH 2008 25
„E-Shop on Steroids“
Lighttpd: fly
light!
❙
Kleiner, schlanker Webserver (single
process)❙
Spezialisiert auf ultra-schnelle Auslieferung statischer
Dateien (Bilder, CSS, JS, …)❙
Spezielles Streaming-Modul
für Flash Videos (flv)
❙
Strategie z.B.: Separieren statischen Contents
auf eigenen lighttpd
Webserver
❙
Nutzer u.a.:❙
Wikipedia
(Download Page)
❙
YouTube, sevenload, Clipfish, …❙
Diverse mp3 Sites
© MAYFLOWER GmbH 2008 26
„E-Shop on Steroids“
Compute
Clouds / Logistik per Webservice
❙
Amazon
EC2 (Elastic
Compute
Cloud), Amazon
S3
❙
Verteilung der Anwendung in einer elastischen, dynamischen Rechnerwolke
❙
Abrechnung nach verbrauchter CPU Zeit
❙
Hinzufügen/Wegnehmen von virtualisierten Servern on demand
❙
Nachteil bei Amazon: aktuell noch keine vernünftigen SLAs
❙
NEU: Logistik-Services durch Amazon
per Webservice
© MAYFLOWER GmbH 2008 27
„E-Shop on Steroids“
Weitere Steroide
❙
Sharding
im Datenbank Bereich (Partitioning
+ Dictionary)
❙
Shared
Nothing
Architektur (Distributed
Computing, Dezentralisierung der Architektur, DB Scaleout)
❙
memcached
❙
Weitere Rezepte gerne auf Anfrage.
Vielen Dank für Ihre Aufmerksamkeit
Björn SchotteMayflower GmbH
Pleichertorstr. 2 97070 Würzburg
+49 (931) 35 9 65 -