Introduction to orchestration using Mcollective

  • 1,587 views
Uploaded on

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

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

More in: Technology , Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,587
On Slideshare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
Downloads
45
Comments
0
Likes
9

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. Introduction to orchestration using MCollective Pieter Loubser! Puppet Camp London! 18 November 2013
  • 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. 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. Old app Magic? Winning
  • 5. Orchestration It can be a Finite State Machine Determine your states! Determine your transitions
  • 6. What is MCollective? ! A framework for building server orchestration tools and a parallel job execution system
  • 7. The moving parts Message Oriented Middleware! MCollective Server (mcollectived)! MCollective Client
  • 8. Server RPC Request Server RPC Request Server RPC Request Middleware RPC Request Client
  • 9. Request : Determine the status of the puppet service Server Agents rpcutil puppet Actions package status service start ... stop ... Response
  • 10. Server stopped Server stopped Middleware Client Process results Server running
  • 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. 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. 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. Filters Filter on fact sources
  • 15. Filters Filter on fact sources! Filter on Puppet classes
  • 16. Filters Filter on fact sources! Filter on Puppet classes! Filter on identity
  • 17. Filters Filter on fact sources! Filter on Puppet classes! Filter on identity! Complex filtering based on logical language
  • 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. 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. Group 1 web1 web2 web3 lb1 web4 web5
  • 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. The code https://github.com/ploubser/puppetcamp-london
  • 23. Here goes everything…
  • 24. Questions?