SlideShare una empresa de Scribd logo
1 de 28
Descargar para leer sin conexión
E-Shop on Steroids
E-Commerce Conference| München

Björn Schotte
Oh Techie, where are thou?
           (Bitte melde dich)




                                „E-Shop on Steroids“
                                © MAYFLOWER GmbH 2008 2
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
                                               „E-Shop on Steroids“
                                               © MAYFLOWER GmbH 2008 3
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/           „E-Shop on Steroids“
                                                             © MAYFLOWER GmbH 2008 4
Beispiel für Performance:
Swoodoo.de Flugsuchmaschine




                              „E-Shop on Steroids“
                              © MAYFLOWER GmbH 2008 5
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




                                                             „E-Shop on Steroids“
                                                             © MAYFLOWER GmbH 2008 6
Widgets explained … zazzle.com




                                 „E-Shop on Steroids“
                                 © MAYFLOWER GmbH 2008 7
Zazzle Widget im Blog …




                          „E-Shop on Steroids“
                          © MAYFLOWER GmbH 2008 8
Preisbock Widget bei A-Bloggern …




                                    „E-Shop on Steroids“
                                    © MAYFLOWER GmbH 2008 9
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




                                                     „E-Shop on Steroids“
                                                     © MAYFLOWER GmbH 2008 10
AJAX?




        „E-Shop on Steroids“
        © MAYFLOWER GmbH 2008 11
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??



                                                            „E-Shop on Steroids“
                                                            © MAYFLOWER GmbH 2008 12
„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
                                                        „E-Shop on Steroids“
                                                        © MAYFLOWER GmbH 2008 13
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




                                                                „E-Shop on Steroids“
                                                                © MAYFLOWER GmbH 2008 14
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




                                           „E-Shop on Steroids“
                                           © MAYFLOWER GmbH 2008 15
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




                                                          „E-Shop on Steroids“
                                                          © MAYFLOWER GmbH 2008 16
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?



                                                      „E-Shop on Steroids“
                                                      © MAYFLOWER GmbH 2008 17
Clientseitige Performance-Messung
Wozu denn das?

Beispiel: Wasserfalldiagramm www.mayflower.de Startseite

        Backend ~5%               Frontend ~95%




                                                           „E-Shop on Steroids“
                                                           © MAYFLOWER GmbH 2008 18
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
   ❙ …
                                                            „E-Shop on Steroids“
                                                            © MAYFLOWER GmbH 2008 19
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




                                                             „E-Shop on Steroids“
                                                             © MAYFLOWER GmbH 2008 20
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!


                                                            „E-Shop on Steroids“
                                                            © MAYFLOWER GmbH 2008 21
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




                                                     „E-Shop on Steroids“
                                                     © MAYFLOWER GmbH 2008 22
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!




                                                            „E-Shop on Steroids“
                                                            © MAYFLOWER GmbH 2008 23
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




                                                          „E-Shop on Steroids“
                                                          © MAYFLOWER GmbH 2008 24
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


                                                             „E-Shop on Steroids“
                                                             © MAYFLOWER GmbH 2008 25
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


                                                         „E-Shop on Steroids“
                                                         © MAYFLOWER GmbH 2008 26
Weitere Steroide


❙ Sharding im Datenbank Bereich (Partitioning + Dictionary)


❙ Shared Nothing Architektur (Distributed Computing,
  Dezentralisierung der Architektur, DB Scaleout)


❙ memcached

❙ Weitere Rezepte gerne auf Anfrage.




                                                              „E-Shop on Steroids“
                                                              © MAYFLOWER GmbH 2008 27
Vielen Dank für Ihre Aufmerksamkeit

Björn Schotte
Mayflower GmbH
Pleichertorstr. 2
97070 Würzburg
+49 (931) 35 9 65 - 0
bjoern.schotte@mayflower.de

Más contenido relacionado

Destacado

Expresionismo Blog
Expresionismo BlogExpresionismo Blog
Expresionismo Blog
fredbuster
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
Andy_hope
 
Estadistica tablasygraficos
Estadistica  tablasygraficosEstadistica  tablasygraficos
Estadistica tablasygraficos
mauricio sanchez
 
Preguntas frecuentes
Preguntas frecuentesPreguntas frecuentes
Preguntas frecuentes
Maria Gomez
 
Como crear un prezi
Como crear un preziComo crear un prezi
Como crear un prezi
ratafrancesa
 
Crear firma en Outlook 2010
Crear firma en Outlook 2010Crear firma en Outlook 2010
Crear firma en Outlook 2010
Saris Guerrero
 

Destacado (20)

Expresionismo Blog
Expresionismo BlogExpresionismo Blog
Expresionismo Blog
 
Presentació WP2. Oriol Marfà
Presentació WP2. Oriol MarfàPresentació WP2. Oriol Marfà
Presentació WP2. Oriol Marfà
 
Neuschreiben nicht empfohlen
Neuschreiben nicht empfohlenNeuschreiben nicht empfohlen
Neuschreiben nicht empfohlen
 
Understanding Listing Business
Understanding Listing BusinessUnderstanding Listing Business
Understanding Listing Business
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Situación problema
Situación   problemaSituación   problema
Situación problema
 
Software libre
Software libreSoftware libre
Software libre
 
Estadistica tablasygraficos
Estadistica  tablasygraficosEstadistica  tablasygraficos
Estadistica tablasygraficos
 
Lego NXT .l. ( - _ - ) .l.
Lego NXT .l. ( - _ - ) .l. Lego NXT .l. ( - _ - ) .l.
Lego NXT .l. ( - _ - ) .l.
 
Couchsurfing analysis
Couchsurfing analysisCouchsurfing analysis
Couchsurfing analysis
 
Preguntas frecuentes
Preguntas frecuentesPreguntas frecuentes
Preguntas frecuentes
 
Cleanleach Iberflora. Dra. Lola Narváez
Cleanleach Iberflora. Dra. Lola NarváezCleanleach Iberflora. Dra. Lola Narváez
Cleanleach Iberflora. Dra. Lola Narváez
 
Web-TV-Monitor 2012
Web-TV-Monitor 2012Web-TV-Monitor 2012
Web-TV-Monitor 2012
 
Como crear un prezi
Como crear un preziComo crear un prezi
Como crear un prezi
 
Ensayo de español de atzin
Ensayo de español de atzinEnsayo de español de atzin
Ensayo de español de atzin
 
Sdcsdc
SdcsdcSdcsdc
Sdcsdc
 
Proyecto de actividad #mlearning_INTEF
Proyecto de actividad #mlearning_INTEFProyecto de actividad #mlearning_INTEF
Proyecto de actividad #mlearning_INTEF
 
Crear firma en Outlook 2010
Crear firma en Outlook 2010Crear firma en Outlook 2010
Crear firma en Outlook 2010
 
Tecnologia 22
Tecnologia 22Tecnologia 22
Tecnologia 22
 
Cc mc-kun..[1]
Cc mc-kun..[1]Cc mc-kun..[1]
Cc mc-kun..[1]
 

Similar a E Commerce Conference 2008

Automatisierung von Client-seitigen Web-Performance-Optimierungen
Automatisierung von Client-seitigen Web-Performance-OptimierungenAutomatisierung von Client-seitigen Web-Performance-Optimierungen
Automatisierung von Client-seitigen Web-Performance-Optimierungen
Jakob
 
Cloud-ERP-System mit TCPOS-Schnittstelle
Cloud-ERP-System mit TCPOS-SchnittstelleCloud-ERP-System mit TCPOS-Schnittstelle
Cloud-ERP-System mit TCPOS-Schnittstelle
wolter & works - die web manufaktur
 
Creasoft c-Day 2009 - Webtechnologien der Zukunft
Creasoft c-Day 2009 - Webtechnologien der ZukunftCreasoft c-Day 2009 - Webtechnologien der Zukunft
Creasoft c-Day 2009 - Webtechnologien der Zukunft
Creasoft AG
 

Similar a E Commerce Conference 2008 (20)

Back to the Frontend – aber nun mit Microservices
Back to the Frontend – aber nun mit MicroservicesBack to the Frontend – aber nun mit Microservices
Back to the Frontend – aber nun mit Microservices
 
Automatisierung von Client-seitigen Web-Performance-Optimierungen
Automatisierung von Client-seitigen Web-Performance-OptimierungenAutomatisierung von Client-seitigen Web-Performance-Optimierungen
Automatisierung von Client-seitigen Web-Performance-Optimierungen
 
Commercial OS Shops - Magento, OXID, xt:commerce. Evaluationskriterien für En...
Commercial OS Shops - Magento, OXID, xt:commerce. Evaluationskriterien für En...Commercial OS Shops - Magento, OXID, xt:commerce. Evaluationskriterien für En...
Commercial OS Shops - Magento, OXID, xt:commerce. Evaluationskriterien für En...
 
Gentics Webinar: IT-Kosten sparen mit Unified Content & Collaboration Archite...
Gentics Webinar: IT-Kosten sparen mit Unified Content & Collaboration Archite...Gentics Webinar: IT-Kosten sparen mit Unified Content & Collaboration Archite...
Gentics Webinar: IT-Kosten sparen mit Unified Content & Collaboration Archite...
 
Hybris und Sitecore - Der Commerce Connect im Einsatz
Hybris und Sitecore - Der Commerce Connect im EinsatzHybris und Sitecore - Der Commerce Connect im Einsatz
Hybris und Sitecore - Der Commerce Connect im Einsatz
 
HTML5-Performance: So rennt Ihre App und nicht Ihre Anwender (weg)
HTML5-Performance: So rennt Ihre App und nicht Ihre Anwender (weg)HTML5-Performance: So rennt Ihre App und nicht Ihre Anwender (weg)
HTML5-Performance: So rennt Ihre App und nicht Ihre Anwender (weg)
 
Joomla
JoomlaJoomla
Joomla
 
WorNet Präsentation: Web 2.0, clevere IT-Tools
WorNet Präsentation: Web 2.0, clevere IT-ToolsWorNet Präsentation: Web 2.0, clevere IT-Tools
WorNet Präsentation: Web 2.0, clevere IT-Tools
 
Am Ende ist doch alles HTML - 2012 - Webmontag Edition
Am Ende ist doch alles HTML - 2012 - Webmontag EditionAm Ende ist doch alles HTML - 2012 - Webmontag Edition
Am Ende ist doch alles HTML - 2012 - Webmontag Edition
 
bccon-2014 adm01 tipps-und-skripts-aus-dem-leben-eines-ibm-connections-admins
bccon-2014 adm01 tipps-und-skripts-aus-dem-leben-eines-ibm-connections-adminsbccon-2014 adm01 tipps-und-skripts-aus-dem-leben-eines-ibm-connections-admins
bccon-2014 adm01 tipps-und-skripts-aus-dem-leben-eines-ibm-connections-admins
 
Tipps und Skripts aus dem Leben eines Connections Admins
Tipps und Skripts aus dem Leben eines Connections AdminsTipps und Skripts aus dem Leben eines Connections Admins
Tipps und Skripts aus dem Leben eines Connections Admins
 
2013 OS E-Commerce Magento OXID Shopware
2013 OS E-Commerce Magento OXID Shopware2013 OS E-Commerce Magento OXID Shopware
2013 OS E-Commerce Magento OXID Shopware
 
Echte Lösungen, keine Tricks
Echte Lösungen, keine TricksEchte Lösungen, keine Tricks
Echte Lösungen, keine Tricks
 
Cloud-ERP-System mit TCPOS-Schnittstelle
Cloud-ERP-System mit TCPOS-SchnittstelleCloud-ERP-System mit TCPOS-Schnittstelle
Cloud-ERP-System mit TCPOS-Schnittstelle
 
BizSpark goes Cloud
BizSpark goes CloudBizSpark goes Cloud
BizSpark goes Cloud
 
Cloud Deployment und (Auto)Scaling am Beispiel von Angrybird
Cloud Deployment und (Auto)Scaling am Beispiel von AngrybirdCloud Deployment und (Auto)Scaling am Beispiel von Angrybird
Cloud Deployment und (Auto)Scaling am Beispiel von Angrybird
 
Pixelmechanics "eCommerce mit Magento" - Webmontag 07.06.2010
Pixelmechanics "eCommerce mit Magento" - Webmontag 07.06.2010Pixelmechanics "eCommerce mit Magento" - Webmontag 07.06.2010
Pixelmechanics "eCommerce mit Magento" - Webmontag 07.06.2010
 
Creasoft c-Day 2009 - Webtechnologien der Zukunft
Creasoft c-Day 2009 - Webtechnologien der ZukunftCreasoft c-Day 2009 - Webtechnologien der Zukunft
Creasoft c-Day 2009 - Webtechnologien der Zukunft
 
Native Cross-Platform-Apps mit Titanium Mobile und Alloy
Native Cross-Platform-Apps mit Titanium Mobile und AlloyNative Cross-Platform-Apps mit Titanium Mobile und Alloy
Native Cross-Platform-Apps mit Titanium Mobile und Alloy
 
Campixx 2012-ladezeit-extreme
Campixx 2012-ladezeit-extremeCampixx 2012-ladezeit-extreme
Campixx 2012-ladezeit-extreme
 

Más de Mayflower GmbH

Plugging holes — javascript memory leak debugging
Plugging holes — javascript memory leak debuggingPlugging holes — javascript memory leak debugging
Plugging holes — javascript memory leak debugging
Mayflower GmbH
 

Más de Mayflower GmbH (20)

Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...
Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...
Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...
 
Why and what is go
Why and what is goWhy and what is go
Why and what is go
 
Agile Anti-Patterns
Agile Anti-PatternsAgile Anti-Patterns
Agile Anti-Patterns
 
JavaScript Days 2015: Security
JavaScript Days 2015: SecurityJavaScript Days 2015: Security
JavaScript Days 2015: Security
 
Vom Entwickler zur Führungskraft
Vom Entwickler zur FührungskraftVom Entwickler zur Führungskraft
Vom Entwickler zur Führungskraft
 
Produktive teams
Produktive teamsProduktive teams
Produktive teams
 
Salt and pepper — native code in the browser Browser using Google native Client
Salt and pepper — native code in the browser Browser using Google native ClientSalt and pepper — native code in the browser Browser using Google native Client
Salt and pepper — native code in the browser Browser using Google native Client
 
Plugging holes — javascript memory leak debugging
Plugging holes — javascript memory leak debuggingPlugging holes — javascript memory leak debugging
Plugging holes — javascript memory leak debugging
 
Usability im web
Usability im webUsability im web
Usability im web
 
Rewrites überleben
Rewrites überlebenRewrites überleben
Rewrites überleben
 
JavaScript Security
JavaScript SecurityJavaScript Security
JavaScript Security
 
50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...
50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...
50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...
 
Responsive Webdesign
Responsive WebdesignResponsive Webdesign
Responsive Webdesign
 
Pair Programming Mythbusters
Pair Programming MythbustersPair Programming Mythbusters
Pair Programming Mythbusters
 
Shoeism - Frau im Glück
Shoeism - Frau im GlückShoeism - Frau im Glück
Shoeism - Frau im Glück
 
Bessere Software schneller liefern
Bessere Software schneller liefernBessere Software schneller liefern
Bessere Software schneller liefern
 
Von 0 auf 100 in 2 Sprints
Von 0 auf 100 in 2 SprintsVon 0 auf 100 in 2 Sprints
Von 0 auf 100 in 2 Sprints
 
Piwik anpassen und skalieren
Piwik anpassen und skalierenPiwik anpassen und skalieren
Piwik anpassen und skalieren
 
Agilitaet im E-Commerce - E-Commerce Breakfast
Agilitaet im E-Commerce - E-Commerce BreakfastAgilitaet im E-Commerce - E-Commerce Breakfast
Agilitaet im E-Commerce - E-Commerce Breakfast
 
Mongo DB - Segen oder Fluch
Mongo DB - Segen oder FluchMongo DB - Segen oder Fluch
Mongo DB - Segen oder Fluch
 

E Commerce Conference 2008

  • 1. E-Shop on Steroids E-Commerce Conference| München Björn Schotte
  • 2. Oh Techie, where are thou? (Bitte melde dich) „E-Shop on Steroids“ © MAYFLOWER GmbH 2008 2
  • 3. 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 „E-Shop on Steroids“ © MAYFLOWER GmbH 2008 3
  • 4. 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/ „E-Shop on Steroids“ © MAYFLOWER GmbH 2008 4
  • 5. Beispiel für Performance: Swoodoo.de Flugsuchmaschine „E-Shop on Steroids“ © MAYFLOWER GmbH 2008 5
  • 6. 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 „E-Shop on Steroids“ © MAYFLOWER GmbH 2008 6
  • 7. Widgets explained … zazzle.com „E-Shop on Steroids“ © MAYFLOWER GmbH 2008 7
  • 8. Zazzle Widget im Blog … „E-Shop on Steroids“ © MAYFLOWER GmbH 2008 8
  • 9. Preisbock Widget bei A-Bloggern … „E-Shop on Steroids“ © MAYFLOWER GmbH 2008 9
  • 10. 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 „E-Shop on Steroids“ © MAYFLOWER GmbH 2008 10
  • 11. AJAX? „E-Shop on Steroids“ © MAYFLOWER GmbH 2008 11
  • 12. 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?? „E-Shop on Steroids“ © MAYFLOWER GmbH 2008 12
  • 13. „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 „E-Shop on Steroids“ © MAYFLOWER GmbH 2008 13
  • 14. 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 „E-Shop on Steroids“ © MAYFLOWER GmbH 2008 14
  • 15. 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 „E-Shop on Steroids“ © MAYFLOWER GmbH 2008 15
  • 16. 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 „E-Shop on Steroids“ © MAYFLOWER GmbH 2008 16
  • 17. 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? „E-Shop on Steroids“ © MAYFLOWER GmbH 2008 17
  • 18. Clientseitige Performance-Messung Wozu denn das? Beispiel: Wasserfalldiagramm www.mayflower.de Startseite Backend ~5% Frontend ~95% „E-Shop on Steroids“ © MAYFLOWER GmbH 2008 18
  • 19. 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 ❙ … „E-Shop on Steroids“ © MAYFLOWER GmbH 2008 19
  • 20. 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 „E-Shop on Steroids“ © MAYFLOWER GmbH 2008 20
  • 21. 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! „E-Shop on Steroids“ © MAYFLOWER GmbH 2008 21
  • 22. 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 „E-Shop on Steroids“ © MAYFLOWER GmbH 2008 22
  • 23. 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! „E-Shop on Steroids“ © MAYFLOWER GmbH 2008 23
  • 24. 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 „E-Shop on Steroids“ © MAYFLOWER GmbH 2008 24
  • 25. 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 „E-Shop on Steroids“ © MAYFLOWER GmbH 2008 25
  • 26. 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 „E-Shop on Steroids“ © MAYFLOWER GmbH 2008 26
  • 27. Weitere Steroide ❙ Sharding im Datenbank Bereich (Partitioning + Dictionary) ❙ Shared Nothing Architektur (Distributed Computing, Dezentralisierung der Architektur, DB Scaleout) ❙ memcached ❙ Weitere Rezepte gerne auf Anfrage. „E-Shop on Steroids“ © MAYFLOWER GmbH 2008 27
  • 28. Vielen Dank für Ihre Aufmerksamkeit Björn Schotte Mayflower GmbH Pleichertorstr. 2 97070 Würzburg +49 (931) 35 9 65 - 0 bjoern.schotte@mayflower.de