Cfengine presentation @Loadays

2 511 vues

Publié le

Going through the details of each platform when managing computer is a time consuming task; configuration management software can help lightens the burden of the repetitive tasks and let you keep a tracked record of all modification on your systems.

Cfengine is a cross-platform configuration management software written in C that is autonomous, automated and aims at keeping the computer in the promised state.
Based on the Promise Theory, if offers solution for security, provisioning, compliance, monitoring and IT automation.

The document is licensed under the terms of cc by-nc-sa

Publié dans : Technologie
0 commentaire
2 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
2 511
Sur SlideShare
0
Issues des intégrations
0
Intégrations
21
Actions
Partages
0
Téléchargements
2
Commentaires
0
J’aime
2
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Cfengine presentation @Loadays

  1. 1. Cfengine presentation - Configuration management - Promise technology - Cfengine features - Real-life examples
  2. 2. About the speaker  Nicolas CHARLES : nicolas.charles@normation.com  Developer in different languages and fields for the past 7 years  2009, cofounded Normation  Active member of the Cfengine community  Normation  Software company  Compliance and Drift assessment  Cfengine partner  Consulting on Identity and Service Management © Normation 2010 -  Tous droits réservés – Document strictement confidentiel. Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable. 2
  3. 3. Why should I manage configurations? © Normation 2010 -  Tous droits réservés – Document strictement confidentiel. Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable. 3
  4. 4. History of configuration management © Normation 2010 -  Tous droits réservés – Document strictement confidentiel. Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable. 4
  5. 5. Some Cfengine users  Long track-record with millions servers managed by thousands registered users including: © Normation 2010 -  Tous droits réservés – Document strictement confidentiel. Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable. 5
  6. 6. Promise Technology  Based on Promise Theory  Goals are invariants  Recipes depend on circumstances  Simple connection to « Service Level Agreements »  Promise that an Apache server is up and running  A promise is a documentation by itself © Normation 2010 -  Tous droits réservés – Document strictement confidentiel. Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable. 6
  7. 7. Convergence  Promises focus on the desired state  Convergence is built in Cfengine © Normation 2010 -  Tous droits réservés – Document strictement confidentiel. Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable. 7
  8. 8. Cfengine features © Normation 2010 -  Tous droits réservés – Document strictement confidentiel. Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable. 8
  9. 9. Cfengine agent  Agent installed on each server  Written in C  Cross platform (Linux, Unixes, *BSD, Windows, MacOS)  Few external dependencies (OpenSSL, [PCRE])  Very small memory footprint (less than 30 MB) © Normation 2010 -  Tous droits réservés – Document strictement confidentiel. Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable. 9
  10. 10. Cfengine agent  Aware of the computer's configuration  Autonomous  Automated  Continuous operation  Reliable : only one vulnerability on 17 years © Normation 2010 -  Tous droits réservés – Document strictement confidentiel. Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable. 10
  11. 11. Cfengine architecture © Normation 2010 -  Tous droits réservés – Document strictement confidentiel. Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable. 11
  12. 12. Cfengine architecture  Each node is responsible for its own state  High scalability  Resilient to network outage  Agents use external resources on demand  Fetch policies updates from orchestrator  Package management integration  LDAP and Database integration* © Normation 2010 -  Tous droits réservés – Document strictement confidentiel. Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable. 12
  13. 13. Installation  Installation packages available for :  CentOS  Debian  Fedora  FreeBSD*  RedHat  Solaris*  SUSE  Ubuntu  Windows* © Normation 2010 -  Tous droits réservés – Document strictement confidentiel. Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable. 13
  14. 14. Generic promise syntax type:  classe::   "promiser" ­> { "promisee1", "promisee2" },      attribute_1 => body_or_template1,      attribute_2 => body_or_template2; © Normation 2010 -  Tous droits réservés – Document strictement confidentiel. Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable. 14
  15. 15. Generic promise syntax  Types :  vars  classes  interfaces  processes  storage  packages  commands  methods  files  databases*  services*  reports © Normation 2010 -  Tous droits réservés – Document strictement confidentiel. Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable. 15
  16. 16. Use library body common control { bundlesequence => { "packages" }; inputs => {"cfengine_stdlib.cf"}; } bundle agent packages { vars: "match_package" slist => { "airstrike", "sudoku" # "apache2-mod_php5", "apache2-prefork", "php5" }; packages: "$(match_package)" package_policy => "add", package_method => apt; } © Normation 2010 -  Tous droits réservés – Document strictement confidentiel. Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable. 16
  17. 17. Examples © Normation 2010 -  Tous droits réservés – Document strictement confidentiel. Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable. 17
  18. 18. A word of caution  body common control {   bundlesequence => { "killall" };  }  bundle agent killall {   processes: ".*"    signals => { "kill" };  } Don't try this at home ! © Normation 2010 -  Tous droits réservés – Document strictement confidentiel. Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable. 18
  19. 19. Acknowledgements  Mark Burgess  Wrote Cfengine  Borrowed heavily from him :  Cfengine Reborn, Paris, 2009  http://cfengine.com/pages/demos  Loadays  Thank you for this conference © Normation 2010 -  Tous droits réservés – Document strictement confidentiel. Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable. 19
  20. 20. Want more ?  http://www.cfengine.org/  https://cfengine.com/forum/  Mailing-list : help-cfengine@cfengine.org  IRC : freenode #cfengine © Normation 2010 -  Tous droits réservés – Document strictement confidentiel. Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable. 20
  21. 21. Q&A Thank you for your attention ! © Normation 2010 -  Tous droits réservés – Document strictement confidentiel. Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable. 21

×