• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
High Performance Multi-Server Magento in der Cloud
 

High Performance Multi-Server Magento in der Cloud

on

  • 2,819 views

 

Statistics

Views

Total Views
2,819
Views on SlideShare
2,819
Embed Views
0

Actions

Likes
5
Downloads
25
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    High Performance Multi-Server Magento in der Cloud High Performance Multi-Server Magento in der Cloud Presentation Transcript

    • High PerformanceMulti-Server Magentoin der Cloud Fabrizio Branca Meet Magento #6.12 in Leipzig
    • San Francisco
    • Und Sie?! • Wer war bei meinen Caching/Varnish Vortrag letztes Jahr? • Wer betreibt einen Magento Shop auf mehr als einem Frontend-Server? • Wer hat Erfahrungen mit Amazon AWS oder Cloud-Hosting im Allgemeinen? • Wer betreibt einen Shop mit mehr als 500 Bestellungen am Tag? • 1000 Bestellungen am Tag? • 10 pro Minute?
    • Angry Birds
    • Angry Birds
    • Angry Birds
    • Angry Birds
    • Das Angry Birds Magento Universum DRM Server 3 Storefronts Custom Banner Catalog (US, EU, ASIA) Reporting Management Rules Mail Service Warehouse Custom Tax, Splitshipping Custom Shipping … Inventory Giftcards Warehouse / Fullfillment Inventory Braintree Management
    • Anforderungen • Gutes, flexibles Shopsystem • Hochverfügbar / Ausfallsicher • Lastspitzen • Schnell • Backendserver unabhängig von den Frontend-Instanzen • Effizientes und unabhängige Abarbeitung von Hintergrund-Tasks • Shop-Betrieb darf nicht von neu hinzukommenden oder wegfallenden Server-Instanzen oder neuen Deployments beeinträchtigt werden
    • Lösungsbausteine
    • Cloud Services EC2 S3 RDS Cloud- Elasti- ELB Route 53 Front Cache Amazon AWS Console Management Monitoring Deployments RightScale Services Logging Auto-Scaling Scripting API
    • Magento in der Cloud
    • Share nothing? JS/CSS Code Bundles AssetsProduktbilder, Server Daten- CMS-Bilder,Skalierte Bilder bank Session Cache Storage
    • Magento Anpassungen für die Cloud • MinifyJavaScript + CSS während des Builds • JavaScript + CSS mit Zeitstempel versehen und auf allen Servern verfügbar machen • Deployment Name im Cache Prefix Aoe_JsCssTstamp • Cache-Warmup Script als Teil des Deployments • Health-Checks für Varnish • Automatisches und manuelles Varnish Purging • E-Mail Service Aoe_Static • Asset-Handling
    • Sonstige Module Aoe_Scheduler Aoe_Apilog
    • shop.angrybirds.comCloudFront S3 Route 53 CloudFrontCDN for Assets Assets Storage DNS-Service CDN for Skin ELB Load Balancer Monitoring Logging EC2 EC2 Varnish Array EC2 Backend Array EC2 EC2 Frontend Array EC2 Worker Array DRM Mail S3 ElastiCache RDS Deployment Cache Backend MySQL Giftcards Braintree
    • shop.angrybirds.com Direkter Zugriff mit lokalem Hosteintrag Route 53 zum Testen DNS-Service ELB Load BalancerX Deployment X+1 Release Y Cache warming EC2 EC2 Varnish Array EC2 EC2 Backend Array EC2 EC2 Frontend Array EC2 Worker Array S3 RDS Deployment MySQL
    • Deployment / Rollback shop.angrybirds.com Route 53 DNS-Service ELB ELBLoad Balancer Load Balancer Deployment X Deployment X+1 Release Y Varnish Array EC2 EC2 Frontend Array EC2 Worker Array EC2 EC2 Backend Array EC2 EC2
    • Downtime während eines Deployments:
    • Alle Warenkörbe,aktive Logins und Sessions bleiben beim Deployment / Rollback erhalten.
    • Magento, schnell!
    • Optimierungsfelder Magento Frontend Caching
    • Frontend-Optimierungen JavaScript / CSS • Bundling (Magento) • Minifying (mit YUI Compressor) • Gzip-Komprimierung (Apache) • Zeitstempel im Dateiennamen für lange Cachedauer Aoe_JsCssTstamp Cache-Header senden CDN (Cloudfront) • Produktbilder (+ skalierte Versionen), CMS-Bilder,... • Skin • JS/CSS
    • Magento-Optimierungen Logging reduzieren Uncachebare Features entfernen Caching Aoe_AsyncCache • Asynchronous Cache Clearing Queue • Alte Cache-Einträge löschen Aoe_CacheCleaner Cookie Storage von Benutzername und Warenkorbinhalt Ajax-Warenkorb und... Profiling, Profiling, Profiling,… (xdebug + kcachegrind, Newrelic, xhprof)
    • Caching 95% der Hits sind cachebar! 5% dynamischer Inhalt Startseite Kategorien Warenkorb Produkte Checkout CMS Kundenkonto
    • Caching Varnish Magento Reverse Proxyhttp://www.fabrizio-branca.de/make-your-magento-store-fly-using-varnish.html
    • Lösungen Aoe_Static Magneto_Varnish Caching + Purging Handling von dynamischem Content
    • Lessons learned • 404s sind teuer => cache or redirect • Cloudfront mit S3 Backend kann kein gzip => deploy time bundeling/compression • Kein Reports auf der Live-Datenbank! • Man kann nicht alles vorhersagen => Aber man kann vorbereitet sein, schnell zu reagieren => continuous deployment
    • ContinuousIntegration undDeployment
    • Keine Angst vorProduction-Deployments!
    • Magento Installationspaket Dateien* ‣htdocs [Magento Source] Dateien ‣.modman [Custom Packages] ‣media System- storage SVN GIT Datenbank- Installer Tabellen Settings ChangeLog ‣URLs ‣Datenbank-Parameter ‣… Settings* http://www.webguys.de/magento/turchen-08-magento-projekte-mit-dem-module-manager-clever-strukturieren/
    • Deployment Pipeline Installation auf Acceptance Performance Build „Latest“ Unit-Tests Tests Tests System PHPUnit
    • Deployment Pipeline Installation auf Cloud Integration Cloud Deployment Copy to S3 Deployment Tests Deployment System Staging AOE + Rovio Production
    • Launch! USA wacht auf Space game launch Array skaliert hoch Deployment des neuen Releases
    • Besucher/Tag
    • (echte) Besucher gleichzeitig!
    • Danke! http://www.aoemedia.de http://www.fabrizio-branca.de @aoemedia @fbrnc