Puppet at the centre of everything by David Mytton

356 views

Published on

Puppet can be used as a control panel to perform a wide variety of tasks within your infrastructure. It can be used to trigger failover between hot standby servers or entire data centres. It can be used to deploy package updates across large clusters. It can be used to deploy code to staging and then onto production, ensuring the right versions are present. It can be used to replicate production environments locally for all our engineers. And it can even be used for config management!
This talk will take a hands on technical look at how we use Puppet to achieve all these things. It will include code samples, hints and tips and explain how the flexibility of Puppet can be used to really control your entire infrastructure.

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
356
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Puppet at the centre of everything by David Mytton

  1. 1. Puppet at the centre of everything
  2. 2. David Mytton Woop Japan!
  3. 3. Server Density Architecture •100 servers - Ubuntu 12.04
  4. 4. Server Density Architecture •100 servers - Ubuntu 12.04 •50% virtual
  5. 5. Server Density Architecture •100 servers - Ubuntu 12.04 •50% virtual •Nginx, Python, MongoDB
  6. 6. Server Density Architecture •100 servers - Ubuntu 12.04 •50% virtual •Nginx, Python, MongoDB •25TB data per month
  7. 7. • Config Use cases
  8. 8. • Config • Failover Use cases
  9. 9. • Config • Failover • Code deploys Use cases
  10. 10. • Config • Failover • Code deploys • System updates Use cases
  11. 11. • Base manifest Config
  12. 12. • Base manifest • Sub manifests Config
  13. 13. • base • softlayer • softlayer-dedicated • rackspace • ...
  14. 14. Failover • /etc/hosts <%= metrics2IP %> alerts.honshuu.prod audit.honshuu.prod auth.honshuu.prod cloud.honshuu.prod datastore.honshuu.prod inventory.honshuu.prod ...
  15. 15. Failover • /etc/hosts 108.168.254.33 puppet
  16. 16. Dealing with outages Expected
  17. 17. Dealing with outages Really test your vendors
  18. 18. Dealing with outages Simulations
  19. 19. • Commit Code deploys
  20. 20. • Commit • Build Code deploys
  21. 21. • Commit • Build • Deploy Code deploys
  22. 22. /opt/puppet/bin/mco puppetd runonce -I <host>
  23. 23. • Commit • Build • Deploy • Puppet run Code deploys
  24. 24. Code deploys Advantages APIs
  25. 25. Code deploys Advantages APIs Already there
  26. 26. Code deploys Advantages APIs Already there System facts
  27. 27. Code deploys Disadvantages Slow
  28. 28. Code deploys Disadvantages Slow Puppet run already
  29. 29. Code deploys Disadvantages Slow Puppet run already Eventually consistent
  30. 30. • Bash script System updates
  31. 31. System updates • Bash script • Remote commands
  32. 32. System updates • Bash script • Remote commands • Notifications
  33. 33. System updates • Bash script • Remote commands • Notifications • Canaries
  34. 34. •Build master (buildbot): VM x2 CPU 2.0Ghz, 2GB RAM – $89/m Colo experiment •Build slave (buildbot): VM x1 CPU 2.0Ghz, 1GB RAM – $40/m •Staging load balancer: VM x1 CPU 2.0Ghz, 1GB RAM – $40/m •Staging server 1: VM x2 CPU 2.0Ghz, 8GB RAM – $165/m •Staging server 2: VM x1 CPU 2.0Ghz, 2GB RAM – $50/m •Puppet master: VM x2 CPU 2.0Ghz, 2GB RAM – $89/m
  35. 35. Colo experiment •Dell 1U R415 •x2 8C AMD 2.8Ghz •32GB RAM
  36. 36. Colo experiment •Dell 1U R415 •x2 8C AMD 2.8Ghz •32GB RAM •Dual PSU, NIC
  37. 37. Colo experiment •Dell 1U R415 •x2 8C AMD 2.8Ghz •32GB RAM •Dual PSU, NIC •x4 1TB SATA hot swappable
  38. 38. Dedicated?
  39. 39. Dedicated? •Hardware replacement
  40. 40. Dedicated? •Hardware replacement •Managed/support
  41. 41. Dedicated? •Hardware replacement •Managed/support •Networking
  42. 42. Colo?
  43. 43. •Hardware spec/value Colo?
  44. 44. •Hardware spec/value •Total cost Colo?
  45. 45. •Hardware spec/value •Total cost •Internal skills? Colo?
  46. 46. •Hardware spec/value •Total cost •Internal skills? •More fun?! Colo?
  47. 47. •£300-350/kWh/m •4.5A = £520/m •9A = £900/m Colo: Power
  48. 48. David Mytton @davidmytton david@serverdensity.com blog.serverdensity.com Woop Japan!

×