R.I. Pienaar, creator of MCollective discusses his new project (Choria.io), and why NATS (www.nats.io) was the ideal choice for a simple, scalable middleware for Choria.
2. R.I.Pienaar | rip@devco.net | http://devco.net | @ripienaar
Who am I?
• Consultant for 20+ years
• Government, Finance, Health, Social Media,
Fortune 50, Startups
• DevOps, Automation, Architect,
Development
• Open Source @ github.com/ripienaar
• Architect and Author of many Puppet
related tools
3. R.I.Pienaar | rip@devco.net | http://devco.net | @ripienaar
MCollective - Overview
• Large scale Operations orientated RPC framework
• Provides ad-hoc orchestration within the Puppet eco
system
• Flexible discovery that integrates into many data sources
• Strong Authentication, Authorisation, Auditing
• Extendible using Ruby
• Communications over Middleware
4. R.I.Pienaar | rip@devco.net | http://devco.net | @ripienaar
$ mco rpc service restart service=httpd -W country=uk -W customer=acme
* [ ============================================================> ] 15 / 15
windev1.example.net Unknown Request Status
Cannot stop https, error was: Execution of 'C:/WINDOWS/system32/net.exe stop httpd'
returned 2: The service name is invalid.
Summary of Service Status:
running = 14
unknown = 1
Finished processing 15 / 15 hosts in 8352.48 ms
MCollective - CLI
5. R.I.Pienaar | rip@devco.net | http://devco.net | @ripienaar
$ mco rpc service restart service=httpd -W country=uk -W customer=acme
* [ ============================================================> ] 15 / 15
windev1.example.net Unknown Request Status
Cannot stop https, error was: Execution of 'C:/WINDOWS/system32/net.exe stop httpd'
returned 2: The service name is invalid.
Summary of Service Status:
running = 14
unknown = 1
Finished processing 15 / 15 hosts in 8352.48 ms
MCollective - CLI
Context aware summaries
“service” api
“restart” action discovery
18. R.I.Pienaar | rip@devco.net | http://devco.net | @ripienaar
Playbooks
Ease of Installation
Modern PKISRV Records
AuditingPuppetDB Integration
Improved
Connectivity
Batteries Included
JSON
19. R.I.Pienaar | rip@devco.net | http://devco.net | @ripienaar
Choria - Middleware Needs
• Easy to deploy
• Easy to secure using standard TLS
• Easy to operate and monitor
• Must be scalable and highly available
• Good documentation
• Responsive community
• Good Ruby support - but others needed too
21. R.I.Pienaar | rip@devco.net | http://devco.net | @ripienaar
HTTP Monitoring
Single binary install
TLS
Good docs
and comm
Good trace logging
Full Mesh
Clustering
Many languages
supported
Scalable to
thousands