Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

How To Plan A Successful Multi-Site Deployment In Mura CMS

1,329 views

Published on

Originally presented by Max Appiah-Kubi at MuraCon EU 2014 in Edinburgh, Scotland.

Published in: Technology
  • Be the first to comment

How To Plan A Successful Multi-Site Deployment In Mura CMS

  1. 1. How to plan a successful multi-site deployment in Mura CMS By Max Appiah-Kubi
  2. 2. Who am I ?
  3. 3. Presentation Overview
  4. 4. Presentation Overview • Planning
  5. 5. Presentation Overview • Planning • Developing the solution
  6. 6. Presentation Overview • Planning • Developing the solution • Deployment
  7. 7. Presentation Overview • Planning • Developing the solution • Deployment • Monitoring
  8. 8. Presentation Overview • Planning • Developing the solution • Deployment • Monitoring • Maintenance and enhancements
  9. 9. Before We Get Started
  10. 10. Before We Get Started How do you define a successful deployment?
  11. 11. Before We Get Started
  12. 12. Planning Why do we need to plan?
  13. 13. Planning Start from project inception
  14. 14. Planning Weighing the cost of not planning
  15. 15. Planning Weighing the cost of not planning
  16. 16. Planning Client / Organisation needs • Stakeholder participation • Requirements • Assessment
  17. 17. Planning The team (Who to include?) • Project Manager • Developers • Ops • QA • Support
  18. 18. Planning Infrastructure (Hardware) • Servers • Load balancers • Routers • SAN
  19. 19. Planning Infrastructure (Software) • Mura • Application server • OS • Database
  20. 20. Planning Fault Tolerance • Performance and High-Availability • Redundancy
  21. 21. Planning Capacity Planning
  22. 22. Planning Environments •Development •Staging / Test •Production
  23. 23. Planning Source Control Management
  24. 24. Planning Security
  25. 25. Planning Rollback, Backup and Recovery
  26. 26. Planning Prototype the deployment
  27. 27. Planning Timelines
  28. 28. Developing the solution
  29. 29. Developing the solution Example Architecture
  30. 30. Developing the solution Setting up the infrastructure
  31. 31. Developing the solution Setting up software stack • Operating system (Windows and Linux) • IIS or Apache • Railo or ColdFusion • Tomcat • Mura
  32. 32. Developing the solution Configuration management •Chef •Puppet
  33. 33. Developing the solution Mura (Multi instance or Single instance?)
  34. 34. Developing the solution Target domains • Development • Staging • QA • Production
  35. 35. Developing the solution Securing the setup
  36. 36. Developing a solution Deployment pre-preparation
  37. 37. Deployment
  38. 38. Deployment What is deployment? … and the most important things about it
  39. 39. Deployment What is deployment? … and the most important things about it “Software deployment is all of the activities that make a software system available for use”
  40. 40. Deployment Basics of deployment …things we typically have to do to get a system up and running
  41. 41. Deployment • Synchronise source code • Configure web server • Configure site options • Set environment-specific configuration (file paths, database details, hostnames, SSL on/off, e-mail addresses, debugging etc.) • Set up database server • Deploy database • Set up scheduled jobs • Configure DNS
  42. 42. Deployment How to perform a deployment …different approaches and their advantages and disadvantages
  43. 43. Deployment Manual
  44. 44. Deployment Manual • Cons • They are slow • Time consuming • They aren’t consistent across environments • Likely to fail in production • No audit trail, you don’t who deployed what, where or when
  45. 45. Deployment Manual • Pros • Have more control • Have always done it • Easy to do eg using FTP • Scripts
  46. 46. Deployment Automatic
  47. 47. Deployment Automatic • Pros • Faster • Less error prone • Improves consistency • Requires tools • Eliminates communication problems • If you set it up right it will run clockwork
  48. 48. Deployment Modern deployment
  49. 49. Deployment High level view of a deployment process
  50. 50. Deployment Delivery pipeline • Continuous integration tooling
  51. 51. Deployment Continuous integration tooling •VCS integration
  52. 52. Deployment Continuous integration tooling •CI server - Jenkins
  53. 53. Deployment CI Server - Jenkins (screenshot)
  54. 54. Monitoring
  55. 55. Monitoring • FusionReactor • Visual VM • New Relic (Rackspace) • Nagios
  56. 56. Maintenance and enhancements
  57. 57. Maintenance and enhancements • Sustainability
  58. 58. Maintenance and enhancements • Sustainability • Post launch support
  59. 59. Questions

×