Meet Magento - Rock solid development

3,079 views

Published on

In this session we show how to organize Magento projects using Version control and how to have a development process in place to assure highest quality with many developers involved and teams spread over different continents.

This talk covers how to run a continuous integration pipeline that takes care of testing various aspects of the webshop (unit tests, acceptance tests, performance test,…).

In this talk you will learn about:

Agile team setup and development organization
Task board
How to structure your project in a clean way. (Settings, code, data, database)
Gitflow and Reviewprocess
Development System (Vagrant)
Third Party Modules
Continuous Deployment
Unit Testing with Magento
Deployment and Testpipeline
Acceptance Tests
Performance Tests
Deployment Tools and Concepts
Stable Operation
Monitoring
Autoscaling
Server Provisioning

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

No Downloads
Views
Total views
3,079
On SlideShare
0
From Embeds
0
Number of Embeds
66
Actions
Shares
0
Downloads
0
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide

Meet Magento - Rock solid development

  1. 1. Montag, 3. Juni 13
  2. 2. Rock Solid MagentoDevelopmentPresented byDaniel PötzingerMeet Magento - Leipzig 2013Montag, 3. Juni 13
  3. 3. Montag, 3. Juni 13
  4. 4. danpoetzMontag, 3. Juni 13
  5. 5. Am Anfang jederEntwicklung isteine IdeeMontag, 3. Juni 13
  6. 6. oder auch viele...Montag, 3. Juni 13
  7. 7. $Der Weg zum ZielLean product/market fit(Ideen sammeln und Validieren)Lean principlesagile EntwicklungScrum / KanbanBetriebMontag, 3. Juni 13
  8. 8. $ist voller HerrausforderungenäDer Weg zum ZielMontag, 3. Juni 13
  9. 9. effektives Team öMontag, 3. Juni 13
  10. 10. Menschen und Interaktionensind wichtiger als Prozesse undWerkzeugeFunktionierende Softwareist wichtiger als umfassende KonzeptionsdokumenteZusammenarbeit mit dem Kundenist wichtiger als Vertragsverhandlung Auf Veränderungen eingehenist wichtiger als Festhalten an einem Planagiles ManifestoMontag, 3. Juni 13
  11. 11. TeamMontag, 3. Juni 13
  12. 12. Scrum TeamMontag, 3. Juni 13
  13. 13. 24H2-4 WOCHENScrumMontag, 3. Juni 13
  14. 14. Tuckman ModelMontag, 3. Juni 13
  15. 15. targetprocessMontag, 3. Juni 13
  16. 16. Pair ProgrammingMontag, 3. Juni 13
  17. 17. Was ist die Ramp up Timefür neue Entwickler im Team?Montag, 3. Juni 13
  18. 18. Wie viele Entwickler teilen sich ein System?Montag, 3. Juni 13
  19. 19. ★Am Rechner ein Kommando ausführen, um eine aktuelleEntwicklungsumgebung zu bekommen★Einen Kaffee holen★zurück kommen und loslegenWie wäre das...Montag, 3. Juni 13
  20. 20. äMontag, 3. Juni 13
  21. 21. Qualität„Eine neue Funktion hat vorhandeneFunktionen kaputt gemacht“„auf meinem Entwicklungssystem hatesfunktioniert“„Im Firefox geht es“„Das hat Mustermann gemacht - keineAhnung was der Code macht“üMontag, 3. Juni 13
  22. 22. Kenne die Code SmellsMontag, 3. Juni 13
  23. 23. Magento Core und Module trennenhttps://github.com/colinmollenhour/modman.modmanapp/code/local/Mage/Customer/*app/code/local/Mage/Customer/style_root/build/css/*skin/frontend/project/theme/cssstyle_root/build/filesskin/frontend/project/theme/filestyle_root/build/js/*skin/frontend/project/theme/jsstyle_root/build/html/*skin/frontend/project/theme/html@shell cp $MODULE/.htaccess $PROJECT/.htaccess; echo "Copied .htaccess";modman deploy-allMontag, 3. Juni 13
  24. 24. ääDefinition of DoneEbenen von „Done“Montag, 3. Juni 13
  25. 25. Continuous Integration„„mainXväMontag, 3. Juni 13
  26. 26. HotfixbranchFeature BranchesmainFeature1ü„ü„üContinuous IntegrationXFeature1Montag, 3. Juni 13
  27. 27. TestPyramideAutomated Unit TestsAutomatedFunctional TestsAutomatedIntegration TestsAutomatedAPI TestsAutomatedGUI TestsManual / SessionBased TestingMontag, 3. Juni 13
  28. 28. MagicentoMontag, 3. Juni 13
  29. 29. Code ReviewBuildTest+ReviewMontag, 3. Juni 13
  30. 30. Code AnalyseMontag, 3. Juni 13
  31. 31. Test PipelineKomponentenFunctionalAkzeptanzPerformanceAutomated Unit TestsAutomatedFunctional TestsAutomatedIntegration TestsAutomatedAPI TestsAutomatedGUI TestsManual / SessionBased TestingMontag, 3. Juni 13
  32. 32. • Code Review:• Gerrit• Crucible• Code Analyse• phpcpd• php-codesniffer• phpmd• phpdepend• phplocNützliche Tools• CI• Jenkins• Bamboo• Testing:• PHPUnit• Cucumber• Selenium 2• Menta• Jmeter• EcomDevMontag, 3. Juni 13
  33. 33. Deploymentund InfrastrukturMontag, 3. Juni 13
  34. 34. Von derEntwicklungsumgebung zurProduktivumgebungMontag, 3. Juni 13
  35. 35. Eine neue Umgebung zu starten,sollte schneller sein,als eine existierende zu reparierenMontag, 3. Juni 13
  36. 36. Infrastructure as code!Montag, 3. Juni 13
  37. 37. Chef & PuppetMontag, 3. Juni 13
  38. 38. DeploymentProvisioningSteps Attributes&DataBagsinfra-structurecookbooksBasis Box (AMI,VBOX)Infrastruktur als Codesite-cookbooksMontag, 3. Juni 13
  39. 39. Montag, 3. Juni 13
  40. 40. „Virtualized development made easy“git clone ..../angrybirds/serversetupvagrant upVagrant VirtualBox+Montag, 3. Juni 13
  41. 41. cookbooksVCSVagrantVBox1EC2CI Chef ServerStaging & ProductionInfrastruktur als CodeMontag, 3. Juni 13
  42. 42. Don‘t be scared ofreleasing toproductionEs geht nicht nur um den Quellcode!Montag, 3. Juni 13
  43. 43. UmgebungenKonfigurationQuellcodeDatenDeploymentMontag, 3. Juni 13
  44. 44. Nützliche Tools• Vagrant• Chef• Librarian Chef• EnvSettingsTool• EasyDeploy• EasyDeployWorkflowsMontag, 3. Juni 13
  45. 45. Rollout und Rollback PatternGreen / BlueCanary Release Dark LaunchorReleasefolderMontag, 3. Juni 13
  46. 46. BetriebäMontag, 3. Juni 13
  47. 47. Plan deine Infrastruktur wie deinen CodeMontag, 3. Juni 13
  48. 48. RDS„Deployment Definition“+ AutoscalingVarnish ArrayFrontend Array Backend Array Worker ArrayCloudFrontCDN for SkinELBR53DNSRDSS3DeploymentElastiCacheCache BackendCloudFrontCDN for AssetsS3Assets StorageEC2 EC2EC2EC2 EC2 EC2EC2 EC2MonitoringAPIMontag, 3. Juni 13
  49. 49. $Lean product/market fit(Ideen sammeln undValidieren)agile EntwicklungScrum / KanbanBetriebBuildKomponentenVagrantProvisioningMonitoringFunctionalAkzeptanzPerformanceDeploymentCodeStyleDevTest+ReviewDer Weg zum ZielMontag, 3. Juni 13
  50. 50. Montag, 3. Juni 13
  51. 51. Über uns Open Web Company• Seit 1999 profitabel am Marktpositioniert• 2. Platz im Deloitte Technology Fast 50Award Ranking 2010• Über 500 Projekte• 100 Entwickler und Consultants in 6Ländern• Marktführender TYPO3 Dienstleister• Full Service Verständnis durch starkePartner für Design, Hosting undMarketingMontag, 3. Juni 13
  52. 52. Was wir bieten Enterprise Web Content Management• Entwicklung von ganzheitlichen globalen Enterprise CMSLösungen• Migration bestehender Webseiten in TYPO3• Entwicklung von Erweiterungen und Einbindung in existierendeSysteme E-Commerce• E-Commerce Anwendungsentwicklung• Open Source E-Commerce Lösungen und Prozessintegration(ERP, CRM etc.) Online Applikationen• Vollständige Systemarchitekturentwicklung und Implementierungvon EnterpriseOnline Applikationen• Full Service & Consulting• Wartung & PflegeMontag, 3. Juni 13
  53. 53. Danke!Follow us on Twitter:AOE: @aoemediaDaniel P: @danpoetzFlickr photo contributions in the slide:http://www.flickr.com/photos/the-wanderers-eye/4494147652/sizes/l/http://www.flickr.com/photos/51293088@N05/8195327886/sizes/l/http://www.flickr.com/photos/k1rsch/3818553037/sizes/l/Montag, 3. Juni 13

×