E Commerce Conference 2008

28
E-Shop on Steroids E-Commerce Conference| München Björn Schotte

description

Slides von der E-Commerce Conference 2008 Frühjahrstour in Hamburg, Frankfurt und München.

Transcript of E Commerce Conference 2008

Page 1: E Commerce Conference 2008

E-Shop on Steroids

E-Commerce

Conference| München

Björn Schotte

Page 2: E Commerce Conference 2008

© MAYFLOWER GmbH 2008 2

„E-Shop on Steroids“

Oh Techie, where are thou?(Bitte melde dich)

Page 3: E Commerce Conference 2008

© 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

Page 4: E Commerce Conference 2008

© 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/

Page 5: E Commerce Conference 2008

© MAYFLOWER GmbH 2008 5

„E-Shop on Steroids“

Beispiel für Performance: Swoodoo.de

Flugsuchmaschine

Page 6: E Commerce Conference 2008

© 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

Page 7: E Commerce Conference 2008

© MAYFLOWER GmbH 2008 7

„E-Shop on Steroids“

Widgets

explained

… zazzle.com

Page 8: E Commerce Conference 2008

© MAYFLOWER GmbH 2008 8

„E-Shop on Steroids“

Zazzle

Widget

im Blog

Page 9: E Commerce Conference 2008

© MAYFLOWER GmbH 2008 9

„E-Shop on Steroids“

Preisbock Widget

bei A-Bloggern

Page 10: E Commerce Conference 2008

© 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

Page 11: E Commerce Conference 2008

© MAYFLOWER GmbH 2008 11

„E-Shop on Steroids“

AJAX?

Page 12: E Commerce Conference 2008

© 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??

Page 13: E Commerce Conference 2008

© 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

Page 14: E Commerce Conference 2008

© 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

Page 15: E Commerce Conference 2008

© 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

Page 16: E Commerce Conference 2008

© 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

Page 17: E Commerce Conference 2008

© 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?

Page 18: E Commerce Conference 2008

© MAYFLOWER GmbH 2008 18

„E-Shop on Steroids“

Clientseitige Performance-Messung Wozu denn das?

Beispiel: Wasserfalldiagramm www.mayflower.de

Startseite

Backend ~5% Frontend

~95%

Page 19: E Commerce Conference 2008

© 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

Page 20: E Commerce Conference 2008

© 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

Page 21: E Commerce Conference 2008

© 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!

Page 22: E Commerce Conference 2008

© 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

Page 23: E Commerce Conference 2008

© 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!

Page 24: E Commerce Conference 2008

© 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

Page 25: E Commerce Conference 2008

© 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

Page 26: E Commerce Conference 2008

© 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

Page 27: E Commerce Conference 2008

© 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.

Page 28: E Commerce Conference 2008

Vielen Dank für Ihre Aufmerksamkeit

Björn SchotteMayflower GmbH

Pleichertorstr. 2 97070 Würzburg

+49 (931) 35 9 65 -

[email protected]