0
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 ...
Angry Birds
Angry Birds
Angry Birds
Angry Birds
Das Angry Birds Magento Universum                                                                        DRM Server 3 Stor...
Anforderungen • Gutes, flexibles Shopsystem • Hochverfügbar / Ausfallsicher • Lastspitzen • Schnell • Backendserver unabhä...
Lösungsbausteine
Cloud Services   EC2            S3    RDS   Cloud-   Elasti-   ELB     Route 53                              Front    Cach...
Magento in der Cloud
Share nothing?               JS/CSS                 Code               Bundles AssetsProduktbilder,               Server  ...
Magento Anpassungen für die Cloud • MinifyJavaScript + CSS während des Builds • JavaScript + CSS mit Zeitstempel versehen ...
Sonstige Module       Aoe_Scheduler   Aoe_Apilog
shop.angrybirds.comCloudFront            S3                                                 Route 53                  Clou...
shop.angrybirds.com                                                                               Direkter Zugriff mit    ...
Deployment / Rollback                                         shop.angrybirds.com                                         ...
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...
Magento-Optimierungen Logging reduzieren Uncachebare Features entfernen Caching                                           ...
Caching    95% der Hits   sind cachebar!                    5% dynamischer                        Inhalt Startseite Katego...
Caching                                      Varnish                                  Magento                             ...
Lösungen        Aoe_Static         Magneto_Varnish          Caching +            Purging         Handling von     dynamisc...
Lessons learned • 404s sind teuer   => cache or redirect • Cloudfront mit S3 Backend   kann kein gzip   => deploy time bun...
ContinuousIntegration undDeployment
Keine Angst vorProduction-Deployments!
Magento Installationspaket     Dateien*     ‣htdocs [Magento Source]                                                      ...
Deployment Pipeline          Installation auf                                          Acceptance   Performance  Build    ...
Deployment Pipeline Installation auf                  Cloud      Integration     Cloud Deployment         Copy to S3   Dep...
Launch!                                      USA wacht auf                     Space game                     launch      ...
Besucher/Tag
(echte) Besucher gleichzeitig!
Danke!         http://www.aoemedia.de         http://www.fabrizio-branca.de              @aoemedia              @fbrnc
Upcoming SlideShare
Loading in...5
×

High Performance Multi-Server Magento in der Cloud

2,666

Published on

Published in: Technology
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,666
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
27
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide

Transcript of "High Performance Multi-Server Magento in der Cloud"

  1. 1. High PerformanceMulti-Server Magentoin der Cloud Fabrizio Branca Meet Magento #6.12 in Leipzig
  2. 2. San Francisco
  3. 3. 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?
  4. 4. Angry Birds
  5. 5. Angry Birds
  6. 6. Angry Birds
  7. 7. Angry Birds
  8. 8. 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
  9. 9. 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
  10. 10. Lösungsbausteine
  11. 11. 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
  12. 12. Magento in der Cloud
  13. 13. Share nothing? JS/CSS Code Bundles AssetsProduktbilder, Server Daten- CMS-Bilder,Skalierte Bilder bank Session Cache Storage
  14. 14. 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
  15. 15. Sonstige Module Aoe_Scheduler Aoe_Apilog
  16. 16. 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
  17. 17. 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
  18. 18. 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
  19. 19. Downtime während eines Deployments:
  20. 20. Alle Warenkörbe,aktive Logins und Sessions bleiben beim Deployment / Rollback erhalten.
  21. 21. Magento, schnell!
  22. 22. Optimierungsfelder Magento Frontend Caching
  23. 23. 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
  24. 24. 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)
  25. 25. Caching 95% der Hits sind cachebar! 5% dynamischer Inhalt Startseite Kategorien Warenkorb Produkte Checkout CMS Kundenkonto
  26. 26. Caching Varnish Magento Reverse Proxyhttp://www.fabrizio-branca.de/make-your-magento-store-fly-using-varnish.html
  27. 27. Lösungen Aoe_Static Magneto_Varnish Caching + Purging Handling von dynamischem Content
  28. 28. 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
  29. 29. ContinuousIntegration undDeployment
  30. 30. Keine Angst vorProduction-Deployments!
  31. 31. 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/
  32. 32. Deployment Pipeline Installation auf Acceptance Performance Build „Latest“ Unit-Tests Tests Tests System PHPUnit
  33. 33. Deployment Pipeline Installation auf Cloud Integration Cloud Deployment Copy to S3 Deployment Tests Deployment System Staging AOE + Rovio Production
  34. 34. Launch! USA wacht auf Space game launch Array skaliert hoch Deployment des neuen Releases
  35. 35. Besucher/Tag
  36. 36. (echte) Besucher gleichzeitig!
  37. 37. Danke! http://www.aoemedia.de http://www.fabrizio-branca.de @aoemedia @fbrnc
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×