Your SlideShare is downloading. ×
Angrybirds Magento Cloud Deployment
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Angrybirds Magento Cloud Deployment

490
views

Published on

Apr 24, 2012 …

Apr 24, 2012

Deployment Pipeline for Magento Enterprise in the Cloud. The Talk covers the Amazon Cloud Infrastructure; Scaling and Autoscaling in the Cloud, the Deployment Pipeline used to do continuous deployments...

Published in: Technology

0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
490
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
9
Comments
0
Likes
4
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Tuesday, April 24, 2012
  • 2. Tuesday, April 24, 2012
  • 3. Tuesday, April 24, 2012
  • 4. Tuesday, April 24, 2012
  • 5. Angry Birds ShopCloud DeploymentPresented byKian T. Gould and Daniel PötzingerTuesday, April 24, 2012
  • 6. Tuesday, April 24, 2012
  • 7. Tuesday, April 24, 2012
  • 8. Irregular Traffic BehaviourTuesday, April 24, 2012
  • 9. The Angry Birds Magento UniverseDRM ServerMail ServiceProducts +Warehouse InventoryStorefronts ReportingOrdermgmtManage Warehouse FullfillmentGiftcardsBraintreeMagento StoreShipwireTuesday, April 24, 2012
  • 10. Angrybirds Magento UniverseDRM ServerMail ServiceProducts +Warehouse InvetoryStorefronts ReportingOrdermgmtManage Warehouse FullfillmentGiftcardsBraintreeMagento StoreShipwireShipwireFind best way fororder FullfillmentManages globalwarehouses &inventoryTuesday, April 24, 2012
  • 11. Why Amazon Cloud ?Tuesday, April 24, 2012
  • 12. ✓Scales quickly on demand✓Pay only what you needTuesday, April 24, 2012
  • 13. Powerfull AWS ServicesRightscale ServicesAmazon Webservices & Amazon ConsoleCloudFrontElasticCacheS3EC2 RDS ELB R53Tuesday, April 24, 2012
  • 14. Cloud Drawbacks?Complexity Plan for EC2 FailoverPlan SecurityNeed to adjustApplicationLack of ServiceTuesday, April 24, 2012
  • 15. Cloud Drawbacks?Complexity Plan for EC2 FailoverPlan SecurityNeed to adjustApplicationLack of ServiceArchitecture RequirementsHigh availability (Multiple Failoverand Loadbalancing)Magento Admin Backendindependent from Shop-FrontendEfficient and independentbackground task managementIntensive CachingAsset management in the cloudTuesday, April 24, 2012
  • 16. Tuesday, April 24, 2012
  • 17. Our Cloud ArchitectureTuesday, April 24, 2012
  • 18. Tuesday, April 24, 2012
  • 19. AutoscalingVarnish ArrayFrontend ArrayAutoscalingBackend Array Worker ArrayArchitectureCloud FrontCDN for SkinELB R53DNSRDSmySQLS3DeploymentElastic CacheCache BackendCloud FrontCDN for AssetsS3Assets StorageFE FE FETuesday, April 24, 2012
  • 20. Scaling is about findingthe BottleneckTuesday, April 24, 2012
  • 21. Scaling and TuningFrontend ArrayAutoscalingRDSmySQLCloudFrontElastic CacheCache BackendVarnishArrayBottleneckCPULoadBalancingFE FE FE FE FE FEBottleneckDatabaseVarnishFEBottleneckBandwidthVarnishBottleneckCPUFE FE FE FE FE FEFE FE FE FE FE FEBottleneckDatabaseTuesday, April 24, 2012
  • 22. Cloud FrontCDN for AssetsFrontendImage CachingFrontend BackendS3Assets StorageImageresized?Read and saveresized imagesUpload new originalimages to S3Tuesday, April 24, 2012
  • 23. The 6 secrets of caching1. achieve a high hit rate2. don‘t flood your cache3. choose your cache backends wisely4. never loose all cache at once5. clean up old cache entries6. be able to clean/refresh on demandTuesday, April 24, 2012
  • 24. Magento Performance Pointers1. Asyncronous Cache Clearing Queue (Aoe_AsyncCache)2. Take care of Cache Cleaning (Aoe_CacheCleaner)3. Disable Magento Logs4. Make page cacheable in Varnish (Aoe_Static)5. Prefix bundeled JS and CSS with timestamp6. and... Profile, Profile, Profile:•xdebug + kcachegrind•Newrelic•xhprofTuesday, April 24, 2012
  • 25. Magento Cloud-Adjustments1. Compress Javascript + CSS on deploy time2. Use Deployment Name as Cache prefix3. Cache Warmup Script as part of Deployment4. Health Check for Loadbalancer5. Automatic Varnish Purging6. Use E-Mail Service7. Establish Asset handlingTuesday, April 24, 2012
  • 26. Tuesday, April 24, 2012
  • 27. Lessons learned1. 404s are too expensive=> cache or redirect2. Cloudfront with S3 backendcannot handle gzip=> deploy time bundeling/compression3. Don‘t hit „Reports“ in the backend :-)4.You cannot forsee everything=> But you can be prepared to fix things quickly=> continuous deploymentTuesday, April 24, 2012
  • 28. Tuesday, April 24, 2012
  • 29. ContinuousDeploymentTuesday, April 24, 2012
  • 30. Tuesday, April 24, 2012
  • 31. Don‘t be scared ofreleasing toproductionTuesday, April 24, 2012
  • 32. Definition of Continuous DeploymentWe want on-demand deploymentof tested features and fixesin a quick and reliable wayTuesday, April 24, 2012
  • 33. Automating everythingYou can achieve this byBuildTestingDeploymentTuesday, April 24, 2012
  • 34. doing it frequently..andTuesday, April 24, 2012
  • 35. Tuesday, April 24, 2012
  • 36. The DeploymentPipelineTuesday, April 24, 2012
  • 37. Tuesday, April 24, 2012
  • 38. SeleniumAcceptance TestsCommitand BuildBuild Downstream and Test StrategySVNBackupStorageUnit TestsInstall on„latest“PerformanceTestsAngry Birds Deployment PipelineFeedback to DevelopersTuesday, April 24, 2012
  • 39. ‣ Filesystem‣ Database‣ Install Binaries‣ settings.phpMagento Installation Package‣ htdocs [Magento Source]‣ media‣ .modman [Custom Packages]‣ changelog.txt1.set maintenance mode2.Delta Package prepare3.apply Database4.sync files5.run modman deploy-all6.adjust Settings7.Post install:fix p. / cache clean / ...Tuesday, April 24, 2012
  • 40. Angry Birds Deployment PipelineInstall onDeploymentSystemCopy to S3CloudDeploymentStagingIntegrationTestsAOE + RovioClouddeploymentproductionTuesday, April 24, 2012
  • 41. Deployment „Version 89“Varnish ArrayAutoscalingFrontend ArrayBackendArrayWorkerArrayCloud DeploymentELBDeployment „Version 88“Start new release by✓ cloning old deployment✓ adjusting release numberRDSmySQLS3Varnish ArrayAutoscalingFrontend ArrayBackendArrayWorkerArrayELBWFE FE FE BE BE BEV V VV V VWFE FE FE BE BE BER53DNSTuesday, April 24, 2012
  • 42. Tuesday, April 24, 2012
  • 43. The real lifeTuesday, April 24, 2012
  • 44. Tuesday, April 24, 2012
  • 45. Day 1 - Release 1Tuesday, April 24, 2012
  • 46. Day 2 - Release 2 - „get ready for Space“Tuesday, April 24, 2012
  • 47. New releasedeployedSpace gamelaunchedArray scales upUSA wakes upDay 3 - „People want it so badly“Tuesday, April 24, 2012
  • 48. 40% averageCPU usage.1-2 FE Serversare enoughDay 4 - Release 3 „Performance Improvement“Tuesday, April 24, 2012
  • 49. Tuesday, April 24, 2012
  • 50. Thank youFollow us on Twitter:AOE: @aoemediaDaniel P: @typo3mediaTuesday, April 24, 2012