Introduction to orchestration using Mcollective

2,581
-1

Published on

"Introduction to orchestration using MCollective" by Pieter Loubser at Puppet Camp London 2013. Find the video here: http://puppetlabs.com/community/puppet-camp

Published in: Technology, Business
0 Comments
10 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,581
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
69
Comments
0
Likes
10
Embeds 0
No embeds

No notes for slide

Introduction to orchestration using Mcollective

  1. 1. Introduction to orchestration using MCollective Pieter Loubser! Puppet Camp London! 18 November 2013
  2. 2. Who am I? Developer at Puppet Labs in London! On the MCollective team for 2 years! @pieterloubser on the twitter! ploubser on IRC
  3. 3. Finite State Machines Abstract machine that can only be in one of a finite number of states! It can move from one state to another when an event or condition is triggered (transitions)
  4. 4. Old app Magic? Winning
  5. 5. Orchestration It can be a Finite State Machine Determine your states! Determine your transitions
  6. 6. What is MCollective? ! A framework for building server orchestration tools and a parallel job execution system
  7. 7. The moving parts Message Oriented Middleware! MCollective Server (mcollectived)! MCollective Client
  8. 8. Server RPC Request Server RPC Request Server RPC Request Middleware RPC Request Client
  9. 9. Request : Determine the status of the puppet service Server Agents rpcutil puppet Actions package status service start ... stop ... Response
  10. 10. Server stopped Server stopped Middleware Client Process results Server running
  11. 11. Agents - State Transitions Agents can change the state the world is in! Agents can determine what state the world is in ! An agent consists of two parts! The DDL file which describes the Agent
  12. 12. Agents - State Transitions Agents can change the state the world is in! Agents can determine what state the world is in ! An agent consists of two parts! The DDL file which describes the Agent! An implementation file that defines the actions
  13. 13. State We’re not always looking at the system as a whole MCollective uses discovery plugins as the source of truth! But touching all the things can sometimes be a bad idea! There is a desire for fine grained filtering
  14. 14. Filters Filter on fact sources
  15. 15. Filters Filter on fact sources! Filter on Puppet classes
  16. 16. Filters Filter on fact sources! Filter on Puppet classes! Filter on identity
  17. 17. Filters Filter on fact sources! Filter on Puppet classes! Filter on identity! Complex filtering based on logical language
  18. 18. Data Plugins Enables you to determine system state by executing code in a similar manner to agents! Consist of the same two parts as Agents! DDL! Implementation
  19. 19. Orchestration A simple deployment scenario 5 web servers sitting behind a load balancer! Mark a web server as down! Update the application! Mark the web server as up! Profit
  20. 20. Group 1 web1 web2 web3 lb1 web4 web5
  21. 21. Ready for upgrade Removed from load balancer Pre deployment Failed upgrade Successful upgrade Ready for load balancer Failed to return to load balancer Failed to remove from load balancer Failed deploy Returned to load balancer Successful deploy
  22. 22. The code https://github.com/ploubser/puppetcamp-london
  23. 23. Here goes everything…
  24. 24. Questions?

×