Your SlideShare is downloading. ×
0
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Puppet camp europe 2011   hackability
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Puppet camp europe 2011 hackability

3,206

Published on

Watch along with the video at https://www.youtube.com/watch?v=ag-bI5lr55s …

Watch along with the video at https://www.youtube.com/watch?v=ag-bI5lr55s

Luke Kanies, CEO and Founder of Puppet Labs, talks on "Making Puppet More Hackable" at PuppetCamp Europe '11, Amsterdam, Netherlands. Learn more: http://www.puppetlabs.com

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,206
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
30
Comments
0
Likes
1
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. Wireless • Any “BvB Hotspot...” network • New browser page • User: bvbhotspot Password: berlag33Friday, May 13, 2011
  2. puppet labsFriday, May 13, 2011
  3. Making Puppet More Hackable Luke Kanies luke@puppetlabs.comFriday, May 13, 2011
  4. Question AuthorityFriday, May 13, 2011
  5. Puppet LabsFriday, May 13, 2011
  6. Puppet Labs • 40 employeesFriday, May 13, 2011
  7. Puppet Labs • 40 employees • Fantastic investors and board membersFriday, May 13, 2011
  8. Puppet Labs • 40 employees • Fantastic investors and board members • I’m still CEOFriday, May 13, 2011
  9. Puppet 2.7Friday, May 13, 2011
  10. Apache LicenseFriday, May 13, 2011
  11. FacesFriday, May 13, 2011
  12. Static CompilerFriday, May 13, 2011
  13. Certificate APIFriday, May 13, 2011
  14. Deterministic Ordering For otherwise unrelated resourcesFriday, May 13, 2011
  15. Enhanced Graph ManagementFriday, May 13, 2011
  16. Puppet EnterpriseFriday, May 13, 2011
  17. Always based on full releasesFriday, May 13, 2011
  18. Looking for PartnersFriday, May 13, 2011
  19. PE 1.1 - 5/11 • MCollective • RHEL 4/5/6, SLES, SolarisFriday, May 13, 2011
  20. PE 1.2 - 6/11 • Discovery • ProvisioningFriday, May 13, 2011
  21. Q3 • Full Windows support • 2.7 base • Change Lifecycle ManagementFriday, May 13, 2011
  22. Faces, Hackability, and MarketingFriday, May 13, 2011
  23. Puppet is different, but not in straightforward waysFriday, May 13, 2011
  24. AwkwardFriday, May 13, 2011
  25. I wanted to tell The Story of WhyFriday, May 13, 2011
  26. A bit of history: CfengineFriday, May 13, 2011
  27. I had no control • Stuckwith whatever application logic it shipped with • Core components were mandatoryFriday, May 13, 2011
  28. Do Not Question • Why is this file here? • What requires this package? • What will happen if I change this file? • Do these classes conflict?Friday, May 13, 2011
  29. Not ExtensibleFriday, May 13, 2011
  30. “Puppet is Different”Friday, May 13, 2011
  31. Easily extensible, everywhere A quick count shows 10 kinds of extensibilityFriday, May 13, 2011
  32. The Puppet world • Facts • Resources • Catalogs • Edges • EventsFriday, May 13, 2011
  33. Questions can be asked of every artifact • Is this file being managed? • What happens if I restart this service? • Who requires this package? • Did my service restart? • Were there any failures?Friday, May 13, 2011
  34. Data > Code • Caching • Validation • Implementation Independence • IntegrationFriday, May 13, 2011
  35. "Exec[createrepo-PM-RHEL5-noarch]" The Graph Matters "Yumrepo[PM-RHEL5-x86_64]" "Package[postgresql-server]" "Postgres::Role[puppet]" "Package[thttpd]" "File[/var/www/thttpd/html/yum-PM-RHEL5-x86_64]" "File[/var/www/thttpd/html/yum-PM-RHEL5-noarch]" "Exec[rsync-rpmdir-PM-RHEL5-x86_64]" "Exec[rsync-rpmdir-PM-RHEL5-noarch]" "Exec[createrepo-PM-RHEL5-x86_64]" "Yumrepo[PM-RHEL5-noarch]"Friday, May 13, 2011
  36. An Aside: The CompetitionFriday, May 13, 2011
  37. AFAIK, Puppet is the only tool that provides: • A complete list of every resource managed in your entire infrastructure • A complete list of every dependency in your entire infrastructure • A complete list of every single change that’s ever happened in your entire infrastructure • With full run simulation and inspection ...all in a queryable, storable, cacheable wayFriday, May 13, 2011
  38. Progress? •Declarative •Code runs on Cfengine client •Implicit •Imperative dependencies •Code runs on Chef client •Implicit dependencies •Declarative Puppet •Only data on clients, no code •Explicit dependenciesFriday, May 13, 2011
  39. How do we talk about this? Market this?Friday, May 13, 2011
  40. “Puppet is Model-Driven”Friday, May 13, 2011
  41. Procedural Code Catalog Compile Apply ReportFriday, May 13, 2011
  42. Model-driven Compile Apply Code Catalog Report It’s the artifacts that matterFriday, May 13, 2011
  43. Policy CMDB Remedy Complian Compile Apply Code Catalog Report LDAP CMDB NagiosFriday, May 13, 2011
  44. No one knows what ‘model driven’ meansFriday, May 13, 2011
  45. “Puppet is hackable” Props to Nick FagerlandFriday, May 13, 2011
  46. But it wasn’t really trueFriday, May 13, 2011
  47. You could *program* it, but not hack it like a sysadmin wouldFriday, May 13, 2011
  48. Really: Encapsulated, modular and data- drivenFriday, May 13, 2011
  49. Unfortunately the applications hard-code our logic • Download plugins • Upload Facts • Download Catalog • Apply Catalog • Send ReportFriday, May 13, 2011
  50. Other application world- views exist • Only update catalogs during maintenance windows • Push catalog updates • Send fact updates 10x as often as puppet runs • Combine multiple catalogs on the client side and run them together • Compile catalogs for hundreds of hosts and compare them • Manually view catalog diffs before deployingFriday, May 13, 2011
  51. It doesn’t make sense to extend the core apps with this logicFriday, May 13, 2011
  52. And doing it yourself is too hard with current toolsFriday, May 13, 2011
  53. So we should expose everything and let you build what you wantFriday, May 13, 2011
  54. Functions • Compiler • Transactions • Network • Indirector • Parser • RALFriday, May 13, 2011
  55. Data • Facts • Catalog • Reports • Resource Types (AST and RAL) • Nodes • CertificatesFriday, May 13, 2011
  56. InterfacesFriday, May 13, 2011
  57. Puppet FacesFriday, May 13, 2011
  58. A framework for exposing, combining, and extending core Puppet functions and data typesFriday, May 13, 2011
  59. A collection of Faces that does this in Ruby and on the CLIFriday, May 13, 2011
  60. Good: It directly exposes Puppet internals in a hackable wayFriday, May 13, 2011
  61. Bad: It directly exposes Puppet internalsFriday, May 13, 2011
  62. Examples • puppet catalog find <host> • puppet facts upload • puppet certificate sign <host> • puppet file find <sum>Friday, May 13, 2011
  63. Easily extensible • puppet config info <name> • puppet catalog select <host> <type> • puppet file diff <sum> <sum> • puppet node clean <name> • puppet catalog diff <host> <host>Friday, May 13, 2011
  64. What we’re working onFriday, May 13, 2011
  65. Team and CommunityFriday, May 13, 2011
  66. Flattening the on-rampFriday, May 13, 2011
  67. Ad-hoc ToolingFriday, May 13, 2011
  68. Cross-Node ApplicationsFriday, May 13, 2011
  69. DatabasesFriday, May 13, 2011
  70. Change LifecycleFriday, May 13, 2011
  71. Questions?Friday, May 13, 2011

×