Angrybirds Magento Cloud Deployment

  • 407 views
Uploaded 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...

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
407
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
8
Comments
0
Likes
2

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