Angrybirds Magento Cloud Deployment
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Angrybirds Magento Cloud Deployment

  • 767 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
767
On Slideshare
767
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