Future of Deployment - GoRuCo 2012

Future of Deployment - GoRuCo 2012

Our tools for deploying, upgrading and maintain our production systems are simultaneously empowering and constraining. In many ways our tools are optimized for the first month of production - bootstrapping a system and fast app deployment. They are not optimized for the next 59 months of living with your production system and your business needs.

This slide deck presents some ideas and possible solution for the future of deployment of production systems.

Cb2b768a5e546b24052ea03334e43676?s=128

Dr Nic Williams

June 23, 2012
Tweet

Transcript

  1. 2.

    DR NIC WILLIAMS | ENGINE YARD | FUTURE OF DEPLOYMENT

    | GORUCO 2012, NYC Hardware production virtualisation operating system services app code networking & dns
  2. 3.

    DR NIC WILLIAMS | ENGINE YARD | FUTURE OF DEPLOYMENT

    | GORUCO 2012, NYC Hardware serving traffic virtualisation operating system services app code networking & dns http
  3. 4.

    DR NIC WILLIAMS | ENGINE YARD | FUTURE OF DEPLOYMENT

    | GORUCO 2012, NYC code deployment services app code app code Hardware virtualisation operating system networking & dns
  4. 5.

    DR NIC WILLIAMS | ENGINE YARD | FUTURE OF DEPLOYMENT

    | GORUCO 2012, NYC Month 1 Month 2 to 60
  5. 6.

    DR NIC WILLIAMS | ENGINE YARD | FUTURE OF DEPLOYMENT

    | GORUCO 2012, NYC services upgrade app code services services Hardware virtualisation operating system networking & dns
  6. 7.

    DR NIC WILLIAMS | ENGINE YARD | FUTURE OF DEPLOYMENT

    | GORUCO 2012, NYC os os kernel upgrade app code Hardware virtualisation networking & dns services
  7. 8.

    DR NIC WILLIAMS | ENGINE YARD | FUTURE OF DEPLOYMENT

    | GORUCO 2012, NYC services scaling app code Hardware vm operating system networking & dns vm vm
  8. 9.

    DR NIC WILLIAMS | ENGINE YARD | FUTURE OF DEPLOYMENT

    | GORUCO 2012, NYC virtualisation services disaster recovery app code operating system hW HW ip & DNS ip & DNS
  9. 10.

    DR NIC WILLIAMS | ENGINE YARD | FUTURE OF DEPLOYMENT

    | GORUCO 2012, NYC soa services app code Hardware virtualisation operating system networking & dns app code app code
  10. 11.

    DR NIC WILLIAMS | ENGINE YARD | FUTURE OF DEPLOYMENT

    | GORUCO 2012, NYC your stack • Different teams • Different tools • Different policies • Different metadata
  11. 12.

    DR NIC WILLIAMS | ENGINE YARD | FUTURE OF DEPLOYMENT

    | GORUCO 2012, NYC deployment, upgrade, orchestration tools • Puppet, chef, vagrant, brew2deb, bosh, capistrano, git, fog, razor, gentoo, arch-linux, debian, openstack, cloudstack, vsphere, jenkins, powerdns...
  12. 13.

    DR NIC WILLIAMS | ENGINE YARD | FUTURE OF DEPLOYMENT

    | GORUCO 2012, NYC Hardware virtualisation operating system services app code networking & dns razor cloudstack; xen server ubuntu puppet capistrano cloudstack; powerdns
  13. 14.

    DR NIC WILLIAMS | ENGINE YARD | FUTURE OF DEPLOYMENT

    | GORUCO 2012, NYC Hardware virtualisation operating system services app code networking & dns ? aws; xen gentoo chef solo ey deploy AWS; DIY
  14. 15.

    DR NIC WILLIAMS | ENGINE YARD | FUTURE OF DEPLOYMENT

    | GORUCO 2012, NYC Hardware virtualisation operating system services app code networking & dns ? aws, xen, LXC ubuntu cedar, buildpacks git push shared proxy; addon
  15. 16.

    DR NIC WILLIAMS | ENGINE YARD | FUTURE OF DEPLOYMENT

    | GORUCO 2012, NYC .../releases/TIMESTAMP .../current /usr/bin/nginx /etc/nginx/nginx.conf /usr/bin/ruby code upgrades service upgrades
  16. 17.

    DR NIC WILLIAMS | ENGINE YARD | FUTURE OF DEPLOYMENT

    | GORUCO 2012, NYC Our tools shape our thinking
  17. 18.

    DR NIC WILLIAMS | ENGINE YARD | FUTURE OF DEPLOYMENT

    | GORUCO 2012, NYC BIG QUESTIONS
  18. 19.

    DR NIC WILLIAMS | ENGINE YARD | FUTURE OF DEPLOYMENT

    | GORUCO 2012, NYC Month 1 Month 2 to 60
  19. 20.

    DR NIC WILLIAMS | ENGINE YARD | FUTURE OF DEPLOYMENT

    | GORUCO 2012, NYC ci, staging production
  20. 22.

    DR NIC WILLIAMS | ENGINE YARD | FUTURE OF DEPLOYMENT

    | GORUCO 2012, NYC production development
  21. 23.

    DR NIC WILLIAMS | ENGINE YARD | FUTURE OF DEPLOYMENT

    | GORUCO 2012, NYC production exception
  22. 24.

    DR NIC WILLIAMS | ENGINE YARD | FUTURE OF DEPLOYMENT

    | GORUCO 2012, NYC production enterprise deploys
  23. 25.

    DR NIC WILLIAMS | ENGINE YARD | FUTURE OF DEPLOYMENT

    | GORUCO 2012, NYC big questions • Staging/CI into Production • A/B testing • Production into Development • Problem diagnosis • Enterprise deployments
  24. 26.

    DR NIC WILLIAMS | ENGINE YARD | FUTURE OF DEPLOYMENT

    | GORUCO 2012, NYC PROPOSAL Architecture of the Future
  25. 27.

    DR NIC WILLIAMS | ENGINE YARD | FUTURE OF DEPLOYMENT

    | GORUCO 2012, NYC requirements • Explicit description of everything • Everything upgradable • Everything change in history • Central API for all activities • Alternate UX via API
  26. 28.

    DR NIC WILLIAMS | ENGINE YARD | FUTURE OF DEPLOYMENT

    | GORUCO 2012, NYC system deployment
  27. 29.

    DR NIC WILLIAMS | ENGINE YARD | FUTURE OF DEPLOYMENT

    | GORUCO 2012, NYC Nice to have • Independent install paths • Isolation & controls for services • Portable enterprise deployments
  28. 30.

    YOUR COMPANY NAME | LONG AND INTERESTING PRESENTATION TITLE |

    VERSION NO. XX | 06 /02/2012 Hardware virtualisation operating system services app code networking & dns razor cloudstack; xen server gentoo chef capistrano powerdns one system, many UI
  29. 31.

    DR NIC WILLIAMS | ENGINE YARD | FUTURE OF DEPLOYMENT

    | GORUCO 2012, NYC IDEAS What the “one tool” should do?
  30. 32.

    DR NIC WILLIAMS | ENGINE YARD | FUTURE OF DEPLOYMENT

    | GORUCO 2012, NYC explicit source code • Your app source code • Nginx source & extns • PostgreSQL binary nginx src app src postgres src
  31. 33.

    DR NIC WILLIAMS | ENGINE YARD | FUTURE OF DEPLOYMENT

    | GORUCO 2012, NYC nginx src app src postgres src nginx pkg app pkg postgres pkg package everything
  32. 34.

    DR NIC WILLIAMS | ENGINE YARD | FUTURE OF DEPLOYMENT

    | GORUCO 2012, NYC nginx pkg app pkg postgres pkg nginx bin app binary postgres bin binary artifacts
  33. 35.

    DR NIC WILLIAMS | ENGINE YARD | FUTURE OF DEPLOYMENT

    | GORUCO 2012, NYC system history • Deployments & upgrades • Scaling • Attribute/property changes • Monitoring • Who? When? • Recreate historical systems
  34. 36.

    DR NIC WILLIAMS | ENGINE YARD | FUTURE OF DEPLOYMENT

    | GORUCO 2012, NYC orchestrated upgrades • Safely install new packages • Migrations • Process restarts • Early failure detection & recorvery
  35. 37.

    DR NIC WILLIAMS | ENGINE YARD | FUTURE OF DEPLOYMENT

    | GORUCO 2012, NYC portable deployments • One public production deployment • 999 private production deployment
  36. 38.

    DR NIC WILLIAMS | ENGINE YARD | FUTURE OF DEPLOYMENT

    | GORUCO 2012, NYC EXAMPLE System Deployment
  37. 39.

    DR NIC WILLIAMS | ENGINE YARD | FUTURE OF DEPLOYMENT

    | GORUCO 2012, NYC this box 1.0 stemcell 1 vm 0 or 1 attached disk Assigned IP packages installed jobs running
  38. 40.

    DR NIC WILLIAMS | ENGINE YARD | FUTURE OF DEPLOYMENT

    | GORUCO 2012, NYC orchestrated changes 1.0 1.0 From...
  39. 41.

    DR NIC WILLIAMS | ENGINE YARD | FUTURE OF DEPLOYMENT

    | GORUCO 2012, NYC infrastructure 1.0 1.0 From... to... 1.0 1.0 1.0 1.0
  40. 42.

    DR NIC WILLIAMS | ENGINE YARD | FUTURE OF DEPLOYMENT

    | GORUCO 2012, NYC 1.0 1.0 1.0 1.0 deployments
  41. 43.

    DR NIC WILLIAMS | ENGINE YARD | FUTURE OF DEPLOYMENT

    | GORUCO 2012, NYC 1.0 1.0 1.0 1.0 2.0 deployments
  42. 44.

    DR NIC WILLIAMS | ENGINE YARD | FUTURE OF DEPLOYMENT

    | GORUCO 2012, NYC 1.0 1.0 1.0 1.0 2.0 2.0 2.0 2.0 deployments
  43. 45.

    DR NIC WILLIAMS | ENGINE YARD | FUTURE OF DEPLOYMENT

    | GORUCO 2012, NYC 2.0 2.0 2.0 2.0 2.0 2.0 add more 2.0 2.0 2.0
  44. 46.

    DR NIC WILLIAMS | ENGINE YARD | FUTURE OF DEPLOYMENT

    | GORUCO 2012, NYC 2.0 3.0 2.0 2.0 2.0 2.0 2.0 small batches 2.0 2.0 2.0
  45. 47.

    DR NIC WILLIAMS | ENGINE YARD | FUTURE OF DEPLOYMENT

    | GORUCO 2012, NYC 2.0 3.0 2.0 2.0 2.0 2.0 2.0 small batches 2.0 2.0 2.0 3.0 3.0 3.0 3.0
  46. 48.

    DR NIC WILLIAMS | ENGINE YARD | FUTURE OF DEPLOYMENT

    | GORUCO 2012, NYC 2.0 3.0 2.0 2.0 2.0 2.0 2.0 small batches 2.0 2.0 2.0 3.0 3.0 3.0 3.0 3.0 3.0 3.0 3.0
  47. 49.

    DR NIC WILLIAMS | ENGINE YARD | FUTURE OF DEPLOYMENT

    | GORUCO 2012, NYC AVAILABLE? Does such a thing exist?
  48. 50.

    DR NIC WILLIAMS | ENGINE YARD | FUTURE OF DEPLOYMENT

    | GORUCO 2012, NYC build yourself http://www.slideshare.net/AnthonyShortland/dto-chefconf2012
  49. 51.

    DR NIC WILLIAMS | ENGINE YARD | FUTURE OF DEPLOYMENT

    | GORUCO 2012, NYC bosh • release and lifecycle mgmt • stemcells, releases, manifests • github:cloudfoundry/bosh • github:drnic/bosh-getting-started
  50. 52.

    DR NIC WILLIAMS | ENGINE YARD | FUTURE OF DEPLOYMENT

    | GORUCO 2012, NYC enterprise deploys • Interesting to you? • drnic@engineyard.com • See me at the yacht!
  51. 53.

    DR NIC WILLIAMS | ENGINE YARD | FUTURE OF DEPLOYMENT

    | GORUCO 2012, NYC Our tools shape our thinking