cfengine3 at #lspe

988 views

Published on

Mark Burgess' presentation at #lspe on "Configuration Management" http://www.meetup.com/SF-Bay-Area-Large-Scale-Production-Engineering/events/73725682/

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

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

No notes for slide

cfengine3 at #lspe

  1. 1. 1 Cutting Edge Configuration Management Whats new in the world of CFEngine 3? Mark Burgess 13th September 2012
  2. 2. An advanced configuration system2 ● Declarative language – Desired state ● Advanced convergence – Keep trying until succeed ● Resource light – 3-6 MB, negligeable memory/CPU ● Run often and continuously – 5 minute default ● Pull based, 5000 clients per server
  3. 3. Spot the computer ...3
  4. 4. New and old platforms ...4 ● New platforms (embedded) – ARM boards – Raspberry Pi (3MB) – Android (Samsung Nexus) 4MB ● Old platforms – Zlinux – HPUX – AIX – Solaris 11
  5. 5. The primary challenges● Scale – Obsession with building new things ...● Complexity – Oversimplifying to cope ...● Uncertainty – Not really measuring actual state
  6. 6. Three personal challenges6 ● Challenge the state of the art in IT infrastructure management. ● Engineer for an era of ubiquitous, self-healing, knowledge-based environments with agile and continuous productivity. ● Re-humanize IT infrastructure, through the design autonomous technology so organizations can cope with growing scale and complexity, find the right roles for humans and machines, and engage engineers in the big picture, to enjoy certainty and predictability in their operations, while saving time and cost.
  7. 7. CFEngine components● Cf-agent – Change engine● Cf-serverd – Serve files and remote execution, peering● Cf-monitord – Collect and monitor local resource data● Cf-report – Command line tool for reports● Cf-execd – Self organizing scheduler, beats cron● Cf-runagent – Can be used for safe remote execution
  8. 8. Recent convergent capabilities● Older stuff ● Newer stuff – Exploit patterns – SQL db management – File management – XML text editing – Process management – Manage Vms – Service management – Private namespaces – Tripwire security – Code-free configuration with Design Center – Model based monitoring – Self-analysing knowledge – Dry-run modes
  9. 9. Treat everything as a maintainable resource● Everything self-corrects, for mission critical ● Virtual machines ● Processes ● Files, etc● Hands-free automation http://cfengine.com/demos/cfengine-vmware
  10. 10. Examples 101● Template expansion (unit_edit_template.cf)● Set a variable (unit_setvar.cf)● Manage a process● etc
  11. 11. What does service mgt look like?body common control{bundlesequence => { "test" };Inputs => { “cfengine_stdlib.cf” };}#bundle agent test{vars: "mail" slist => { "spamassassin", "postfix" };services: "www"; "$(mail)";}
  12. 12. Example: Inserting “XML” Virtual Hostserver.xml:host entry:
  13. 13. Example: Inserting “XML” Virtual Host
  14. 14. Orchestration from withinbundle agent dominoes_symphony{methods:    host1::   "dominoes" usebundle => hand_over("localhost","host1","overture");  host2::   "dominoes" usebundle => hand_over("host1","host2","first movement");  host3::   "dominoes" usebundle => hand_over("host2","host3","second movement");  host4::   "dominoes" usebundle => hand_over("host3","host4","final movement"),              classes   => if_ok("finale");}
  15. 15. Outputhost$ ~/LapTop/cfengine/core/src/cf-agent -f ./unit_orchestrate_dominoes2.cf-KR: Singing the overture...R: Singing the first adagio...R: Singing second allegro...R: Trumpets for the finaleR: The visitors book of the Dominoes methodR: Knocked over host1 and did: overtureR: Knocked over host2 and did: first_movementR: Knocked over host3 and did: second_movementR: Knocked over host4 and did: final_movement
  16. 16. APIs to CFEngine● The promise language – For making self-healing changes● The command line – Cf-report for accessing information – Cf-agent- for making stuff happen – Cf-runagent for safe remote control● REST API for data● Web portal
  17. 17. Host app
  18. 18. Knowledge app
  19. 19. Whats coming up?
  20. 20. Massive scale● Largest CFEngine site we know: 200,000 hosts● Scaling depends on frequency – Simple star network – 5 minute checks on policy / data aggregation – 5000 host per hub● Multiple hubs – Constellation network
  21. 21. Infrastructure as a service● Build your own cloud – guest_environments ● Kvm ● Xen ● Vmware ESX● Borrow someone elses – EC2 – VMWare – Openstack● It must self-heal
  22. 22. Design Center● Like Chefs cookbooks for CFEngine● Repository on GitHub – Examples – Data driven methods● Tools for composing policy from building blocks, without need to code
  23. 23. Manage from without or within?
  24. 24. contact@cfengine.com Every time someone logs onto a system by hand, they jeopardize everyone’sunderstanding of the system. — Mark Burgess 24

×