SlideShare a Scribd company logo
1 of 47
Download to read offline
Real-time cloud management with Salt
Unlocked.io Seth House <shouse@saltstack.com>
2013-06-14
1 / 47
Salt philosophy
1 Salt philosophy
Building blocks
What are our building blocks?
Building blocks and complexity
Success comes from simplicity
Salt is aptly named
Flow + state = EVERYTHING
Building on state and flow
Building blocks for infra
Building remote ex
Building states
Building cloud
Building monitoring
Conclusion
2 Salt internals (briefly)
2 / 47
Salt philosophy Building blocks
Building blocks
3 / 47
Salt philosophy Building blocks
Building blocks
Everything we have is built on earlier generations
Building blocks of history
Agriculture
Cities
Governments
Mathematics
Manufacturing
Language
4 / 47
Salt philosophy What are our building blocks?
What are our building blocks?
Computers Systems
Data centers are the modern platform of invention
Large scale computing drives virtually all high level human interactions
Data centers themselves are becoming the building blocks
5 / 47
Salt philosophy Building blocks and complexity
Building blocks and complexity
As systems grow they become more complex
Increased complexity makes using larger building blocks impossible
Building blocks used today are simple
Easy to use
Easy to understand
Yet powerful
6 / 47
Salt philosophy Success comes from simplicity
Success comes from simplicity
Viable building blocks are fundamentally simple
Things that are in themselves simple to understand and use
Concepts that can cross barriers and cleanly apply to many higher level
uses
YAML is a great example
Unix is a great example
7 / 47
Salt philosophy Salt is aptly named
Salt is aptly named
8 / 47
Salt philosophy Salt is aptly named
Salt is aptly named
The name is the vision
Salt is in nature, a building block
Salt is in cooking, a building block
Salt is in life, a building block
Yes, this is where the logo came from
Yes, this is why it is Salt STACK
9 / 47
Salt philosophy Flow + state = EVERYTHING
Flow + state = EVERYTHING
Core idea behind Salt
Flow = Access and control
State = The functional state of the system
Between them All things are controlled
10 / 47
Salt philosophy Building on state and flow
Building on state and flow
Basics
Remote execution built on Flow
Config Management built on State
Ramping Up
Monitoring build on Flow + State
Cloud management is Flow + State
Auto healing is Flow + Flow
Orchestration is Flow + State
Distributed Deployment is Flow + State
11 / 47
Salt philosophy Building blocks for infra
Building blocks for infra
Salt has “Configuration Management”
Salt has “Remote Execution”
12 / 47
Salt philosophy Building remote ex
Building remote ex
Async Message Bus
Micro publish commands
Minion Side Logic
Return to arbitrary location
13 / 47
Salt philosophy Building states
Building states
All about data
Low level data structure calls state functions
High level data structure defines state calls
Languages are now arbitrary
14 / 47
Salt philosophy Building cloud
Building cloud
Remote Ex controls hypers
Remote ex commands hypers
All runs on Live data
15 / 47
Salt philosophy Building monitoring
Building monitoring
Remote Ex build on system libs
Data gathering is already there!
States used to detect the state of a system
States can declare that the state of a system is out of bounds
Fires back to the event bus
16 / 47
Salt philosophy Conclusion
Conclusion
17 / 47
Salt philosophy Conclusion
Conclusion
Salt is comprised of many building blocks
The underlying components are available, but they do not need to be
interfaced with
Salt is made to morph into the needs of the infra
Made to make small infrastructures easy, and large infrastructures
powerful
18 / 47
Salt internals (briefly)
1 Salt philosophy
2 Salt internals (briefly)
Master
Minions
Execution modules
Execution example
State modules
State module example
3 Salt speed
4 Minion data
5 Events
19 / 47
Salt internals (briefly) Master
Master
salt-master -d
Open two ports (pub/sub & reply channel)
20 / 47
Salt internals (briefly) Minions
Minions
salt-minion -d
Connect to the master
No open ports required
Listens for pubs from the master
/etc/salt/minion:
#master: salt
21 / 47
Salt internals (briefly) Execution modules
Execution modules
Contain all the functionality
22 / 47
Salt internals (briefly) Execution example
Execution example
salt ’web-*’ network.interfaces
23 / 47
Salt internals (briefly) State modules
State modules
Wrap execution modules
Before-check
test=true
Call out to execution modules
After-check
24 / 47
Salt internals (briefly) State module example
State module example
top.sls:
base:
’web-*’:
- httpd
httpd.sls:
httpd:
pkg:
- installed
25 / 47
Salt speed
1 Salt philosophy
2 Salt internals (briefly)
3 Salt speed
Communication
pub/sub
4 Minion data
5 Events
6 Schedules
7 What’s coming
26 / 47
Salt speed Communication
Communication
ZeroMQ
msgpack
27 / 47
Salt speed pub/sub
pub/sub
Asynchronous
Minions determine targeting match
Minions do all the work
28 / 47
Minion data
1 Salt philosophy
2 Salt internals (briefly)
3 Salt speed
4 Minion data
Peer
Peer example
Salt Mine
Salt Mine example
Returners
Returner full-circle example
5 Events
29 / 47
Minion data
Live data; peer interface
Recent data; Salt mine
Historical data; returners
30 / 47
Minion data Peer
Peer
/etc/salt/master:
peer:
lb-.*:
- network.interfaces
Be mindful of data security
Communication still goes through the master
31 / 47
Minion data Peer example
Peer example
Configuring haproxy.cfg:
{% for server,ip in
salt[’publish.publish’](
’web*’,
’network.interfaces’,
[’eth0’]).items() %}
server {{ server }} {{ ip[0] }}:80 check
{% endfor %}
32 / 47
Minion data Salt Mine
Salt Mine
/etc/salt/{master,minion}:
mine_functions:
network.interfaces: [eth0]
mine_interval: 60
New in Salt v0.15
Either master or minion config
Be mindful of data security
33 / 47
Minion data Salt Mine example
Salt Mine example
Configuring haproxy.cfg:
{% for server,ip in
salt[’mine.get’](
’web-*’,
’network.interfaces’,
[’eth0’]).items() %}
server {{ server }} {{ ip[0] }}:80 check
{% endfor %}
34 / 47
Minion data Returners
Returners
/etc/salt/{master,minion}:
redis.db: 0
redis.host: myredis
redis.port: 6379
Minions write directly
Can be read into Pillar via ext_pillar
35 / 47
Minion data Returner full-circle example
Returner full-circle example
Collect the data:
salt ’web-*’ network.interfaces eth0 
--return redis_return
Fetch the data via a custom ext_pillar module.
Use the data:
{% for server,ip in
salt[’pillar.get’](’web.ip_addrs’, {}).items()
server {{ server }} {{ ip[0] }}:80 check
{% endfor %}
36 / 47
Events
1 Salt philosophy
2 Salt internals (briefly)
3 Salt speed
4 Minion data
5 Events
Fire events
Watch for events (manually)
Reactor (react to events)
6 Schedules
7 What’s coming 37 / 47
Events Fire events
Fire events
salt ’lb-*’ event.fire_master 
refresh_pool loadbalancer
38 / 47
Events Watch for events (manually)
Watch for events (manually)
Some assembly required
salt/tests/eventlisten.py
Coming soon to salt-api
39 / 47
Events Reactor (react to events)
Reactor (react to events)
/etc/salt/master:
reactor:
- loadbalancer:
- /src/reactor/refresh_pool.sls
/src/reactor/refresh_pool.sls:
{% if data[’type’] == ’refresh_pool’ %}
highstate_run:
cmd.state.highstate:
- tgt: lb-*
{% endif %}
40 / 47
Schedules
1 Salt philosophy
2 Salt internals (briefly)
3 Salt speed
4 Minion data
5 Events
6 Schedules
Add events
Stats gathering
7 What’s coming
41 / 47
Schedules Add events
Add events
/etc/salt/{master,minion} (or pillar):
schedule:
highstate:
function: state.highstate
minutes: 60
42 / 47
Schedules Stats gathering
Stats gathering
schedule:
uptime:
function: status.uptime
seconds: 60
returner: redis
meminfo:
function: status.meminfo
minutes: 5
returner: redis
43 / 47
What’s coming
1 Salt philosophy
2 Salt internals (briefly)
3 Salt speed
4 Minion data
5 Events
6 Schedules
7 What’s coming
Monitoring states
Data resolution
44 / 47
What’s coming
Salt v.0.next
45 / 47
What’s coming Monitoring states
Monitoring states
Configure inline with existing states
Individual components are in place
Needed: glue
Needed: alerting
46 / 47
What’s coming Data resolution
Data resolution
Time-series data
Thin and/or summarize older and older data
Free with some returners
47 / 47

More Related Content

What's hot

Introduction to SaltStack
Introduction to SaltStackIntroduction to SaltStack
Introduction to SaltStackAymen EL Amri
 
A user's perspective on SaltStack and other configuration management tools
A user's perspective on SaltStack and other configuration management toolsA user's perspective on SaltStack and other configuration management tools
A user's perspective on SaltStack and other configuration management toolsSaltStack
 
Understanding salt modular sub-systems and customization
Understanding salt   modular sub-systems and customizationUnderstanding salt   modular sub-systems and customization
Understanding salt modular sub-systems and customizationjasondenning
 
SaltConf 2014: Safety with powertools
SaltConf 2014: Safety with powertoolsSaltConf 2014: Safety with powertools
SaltConf 2014: Safety with powertoolsThomas Jackson
 
Salt conf 2014 - Using SaltStack in high availability environments
Salt conf 2014 - Using SaltStack in high availability environmentsSalt conf 2014 - Using SaltStack in high availability environments
Salt conf 2014 - Using SaltStack in high availability environmentsBenjamin Cane
 
SaltStack Configuration Management
SaltStack Configuration ManagementSaltStack Configuration Management
SaltStack Configuration ManagementNathan Sickler
 
OpenNebula and SaltStack - OpenNebulaConf 2013
OpenNebula and SaltStack - OpenNebulaConf 2013OpenNebula and SaltStack - OpenNebulaConf 2013
OpenNebula and SaltStack - OpenNebulaConf 2013databus.pro
 
Running at Scale: Practical Performance Tuning with Puppet - PuppetConf 2013
Running at Scale: Practical Performance Tuning with Puppet - PuppetConf 2013Running at Scale: Practical Performance Tuning with Puppet - PuppetConf 2013
Running at Scale: Practical Performance Tuning with Puppet - PuppetConf 2013Puppet
 
Containerizing Network Services - Alon Harel - OpenStack Day Israel 2016
Containerizing Network Services - Alon Harel - OpenStack Day Israel 2016Containerizing Network Services - Alon Harel - OpenStack Day Israel 2016
Containerizing Network Services - Alon Harel - OpenStack Day Israel 2016Cloud Native Day Tel Aviv
 
Continuous Deployment with Jenkins and Salt
Continuous Deployment with Jenkins and SaltContinuous Deployment with Jenkins and Salt
Continuous Deployment with Jenkins and SaltAnirban Saha
 
Puppet Availability and Performance at 100K Nodes - PuppetConf 2014
Puppet Availability and Performance at 100K Nodes - PuppetConf 2014Puppet Availability and Performance at 100K Nodes - PuppetConf 2014
Puppet Availability and Performance at 100K Nodes - PuppetConf 2014Puppet
 
Lifecycle Management with Foreman
Lifecycle Management with ForemanLifecycle Management with Foreman
Lifecycle Management with ForemanJulien Pivotto
 
SaltConf14 - Forrest Alvarez, Choice Hotels - Salt Formulas and States
SaltConf14 - Forrest Alvarez, Choice Hotels - Salt Formulas and StatesSaltConf14 - Forrest Alvarez, Choice Hotels - Salt Formulas and States
SaltConf14 - Forrest Alvarez, Choice Hotels - Salt Formulas and StatesSaltStack
 
Configuration management and orchestration with Salt
Configuration management and orchestration with SaltConfiguration management and orchestration with Salt
Configuration management and orchestration with SaltAnirban Saha
 
SaltConf14 - Craig Sebenik, LinkedIn - SaltStack at Web Scale
SaltConf14 - Craig Sebenik, LinkedIn - SaltStack at Web ScaleSaltConf14 - Craig Sebenik, LinkedIn - SaltStack at Web Scale
SaltConf14 - Craig Sebenik, LinkedIn - SaltStack at Web ScaleSaltStack
 
Experiences from Running Masterless Puppet - PuppetConf 2014
Experiences from Running Masterless Puppet - PuppetConf 2014Experiences from Running Masterless Puppet - PuppetConf 2014
Experiences from Running Masterless Puppet - PuppetConf 2014Puppet
 
Writing Custom Saltstack Execution Modules
Writing Custom Saltstack Execution ModulesWriting Custom Saltstack Execution Modules
Writing Custom Saltstack Execution ModulesJulian Pacheco
 
Red Hat Satellite 6 - Automation with Puppet
Red Hat Satellite 6 - Automation with PuppetRed Hat Satellite 6 - Automation with Puppet
Red Hat Satellite 6 - Automation with PuppetMichael Lessard
 
Linux host orchestration with Foreman, Puppet and Gitlab
Linux host orchestration with Foreman, Puppet and GitlabLinux host orchestration with Foreman, Puppet and Gitlab
Linux host orchestration with Foreman, Puppet and GitlabBen Tullis
 
Integration testing for salt states using aws ec2 container service
Integration testing for salt states using aws ec2 container serviceIntegration testing for salt states using aws ec2 container service
Integration testing for salt states using aws ec2 container serviceSaltStack
 

What's hot (20)

Introduction to SaltStack
Introduction to SaltStackIntroduction to SaltStack
Introduction to SaltStack
 
A user's perspective on SaltStack and other configuration management tools
A user's perspective on SaltStack and other configuration management toolsA user's perspective on SaltStack and other configuration management tools
A user's perspective on SaltStack and other configuration management tools
 
Understanding salt modular sub-systems and customization
Understanding salt   modular sub-systems and customizationUnderstanding salt   modular sub-systems and customization
Understanding salt modular sub-systems and customization
 
SaltConf 2014: Safety with powertools
SaltConf 2014: Safety with powertoolsSaltConf 2014: Safety with powertools
SaltConf 2014: Safety with powertools
 
Salt conf 2014 - Using SaltStack in high availability environments
Salt conf 2014 - Using SaltStack in high availability environmentsSalt conf 2014 - Using SaltStack in high availability environments
Salt conf 2014 - Using SaltStack in high availability environments
 
SaltStack Configuration Management
SaltStack Configuration ManagementSaltStack Configuration Management
SaltStack Configuration Management
 
OpenNebula and SaltStack - OpenNebulaConf 2013
OpenNebula and SaltStack - OpenNebulaConf 2013OpenNebula and SaltStack - OpenNebulaConf 2013
OpenNebula and SaltStack - OpenNebulaConf 2013
 
Running at Scale: Practical Performance Tuning with Puppet - PuppetConf 2013
Running at Scale: Practical Performance Tuning with Puppet - PuppetConf 2013Running at Scale: Practical Performance Tuning with Puppet - PuppetConf 2013
Running at Scale: Practical Performance Tuning with Puppet - PuppetConf 2013
 
Containerizing Network Services - Alon Harel - OpenStack Day Israel 2016
Containerizing Network Services - Alon Harel - OpenStack Day Israel 2016Containerizing Network Services - Alon Harel - OpenStack Day Israel 2016
Containerizing Network Services - Alon Harel - OpenStack Day Israel 2016
 
Continuous Deployment with Jenkins and Salt
Continuous Deployment with Jenkins and SaltContinuous Deployment with Jenkins and Salt
Continuous Deployment with Jenkins and Salt
 
Puppet Availability and Performance at 100K Nodes - PuppetConf 2014
Puppet Availability and Performance at 100K Nodes - PuppetConf 2014Puppet Availability and Performance at 100K Nodes - PuppetConf 2014
Puppet Availability and Performance at 100K Nodes - PuppetConf 2014
 
Lifecycle Management with Foreman
Lifecycle Management with ForemanLifecycle Management with Foreman
Lifecycle Management with Foreman
 
SaltConf14 - Forrest Alvarez, Choice Hotels - Salt Formulas and States
SaltConf14 - Forrest Alvarez, Choice Hotels - Salt Formulas and StatesSaltConf14 - Forrest Alvarez, Choice Hotels - Salt Formulas and States
SaltConf14 - Forrest Alvarez, Choice Hotels - Salt Formulas and States
 
Configuration management and orchestration with Salt
Configuration management and orchestration with SaltConfiguration management and orchestration with Salt
Configuration management and orchestration with Salt
 
SaltConf14 - Craig Sebenik, LinkedIn - SaltStack at Web Scale
SaltConf14 - Craig Sebenik, LinkedIn - SaltStack at Web ScaleSaltConf14 - Craig Sebenik, LinkedIn - SaltStack at Web Scale
SaltConf14 - Craig Sebenik, LinkedIn - SaltStack at Web Scale
 
Experiences from Running Masterless Puppet - PuppetConf 2014
Experiences from Running Masterless Puppet - PuppetConf 2014Experiences from Running Masterless Puppet - PuppetConf 2014
Experiences from Running Masterless Puppet - PuppetConf 2014
 
Writing Custom Saltstack Execution Modules
Writing Custom Saltstack Execution ModulesWriting Custom Saltstack Execution Modules
Writing Custom Saltstack Execution Modules
 
Red Hat Satellite 6 - Automation with Puppet
Red Hat Satellite 6 - Automation with PuppetRed Hat Satellite 6 - Automation with Puppet
Red Hat Satellite 6 - Automation with Puppet
 
Linux host orchestration with Foreman, Puppet and Gitlab
Linux host orchestration with Foreman, Puppet and GitlabLinux host orchestration with Foreman, Puppet and Gitlab
Linux host orchestration with Foreman, Puppet and Gitlab
 
Integration testing for salt states using aws ec2 container service
Integration testing for salt states using aws ec2 container serviceIntegration testing for salt states using aws ec2 container service
Integration testing for salt states using aws ec2 container service
 

Similar to Real-time Cloud Management with SaltStack

This is the way - Holistic (Network) Automation
This is the way - Holistic (Network) AutomationThis is the way - Holistic (Network) Automation
This is the way - Holistic (Network) AutomationMaximilan Wilhelm
 
Apply, rinse and repeat: avoid the fidelity gap
Apply, rinse and repeat: avoid the fidelity gapApply, rinse and repeat: avoid the fidelity gap
Apply, rinse and repeat: avoid the fidelity gaprhirschfeld
 
[Webinar] Site24x7 - The All-in-One Monitoring Solution for DevOps & IT
[Webinar] Site24x7 - The All-in-One Monitoring Solution for DevOps & IT[Webinar] Site24x7 - The All-in-One Monitoring Solution for DevOps & IT
[Webinar] Site24x7 - The All-in-One Monitoring Solution for DevOps & ITSite24x7
 
Chef arista devops days a'dam 2015
Chef arista devops days a'dam 2015Chef arista devops days a'dam 2015
Chef arista devops days a'dam 2015Edwin Beekman
 
All-in-one monitoring solution for DevOps & IT
All-in-one monitoring solution for DevOps & ITAll-in-one monitoring solution for DevOps & IT
All-in-one monitoring solution for DevOps & ITRex Antony Peter
 
Autoscaling OpenStack Natively with Heat, Ceilometer and LBaaS
Autoscaling OpenStack Natively with Heat, Ceilometer and LBaaSAutoscaling OpenStack Natively with Heat, Ceilometer and LBaaS
Autoscaling OpenStack Natively with Heat, Ceilometer and LBaaSShixiong Shang
 
Managing and Monitoring Application Performance
Managing and Monitoring Application PerformanceManaging and Monitoring Application Performance
Managing and Monitoring Application PerformanceSebastian Marek
 
Unconference Round Table Notes
Unconference Round Table NotesUnconference Round Table Notes
Unconference Round Table NotesTimothy Spann
 
Puppet Camp Tokyo 2014: Keynote
Puppet Camp Tokyo 2014: KeynotePuppet Camp Tokyo 2014: Keynote
Puppet Camp Tokyo 2014: KeynotePuppet
 
Serverless (Distributed computing)
Serverless (Distributed computing)Serverless (Distributed computing)
Serverless (Distributed computing)Sri Prasanna
 
Chicago Docker Meetup Presentation - Mediafly
Chicago Docker Meetup Presentation - MediaflyChicago Docker Meetup Presentation - Mediafly
Chicago Docker Meetup Presentation - MediaflyMediafly
 
OSMC 2015: Monitor Open stack environments from the bottom up and front to ba...
OSMC 2015: Monitor Open stack environments from the bottom up and front to ba...OSMC 2015: Monitor Open stack environments from the bottom up and front to ba...
OSMC 2015: Monitor Open stack environments from the bottom up and front to ba...NETWAYS
 
OSMC 2015 | Monitor OpenStack environments from the bottom up and front to ba...
OSMC 2015 | Monitor OpenStack environments from the bottom up and front to ba...OSMC 2015 | Monitor OpenStack environments from the bottom up and front to ba...
OSMC 2015 | Monitor OpenStack environments from the bottom up and front to ba...NETWAYS
 
ChinaNetCloud - The Zabbix Database - Zabbix Conference 2014
ChinaNetCloud - The Zabbix Database - Zabbix Conference 2014ChinaNetCloud - The Zabbix Database - Zabbix Conference 2014
ChinaNetCloud - The Zabbix Database - Zabbix Conference 2014ChinaNetCloud
 
From MSS to TelScale - Mobicents Summit 2011
From MSS to TelScale - Mobicents Summit 2011From MSS to TelScale - Mobicents Summit 2011
From MSS to TelScale - Mobicents Summit 2011telestax
 
CI-CD Jenkins, GitHub Actions, Tekton
CI-CD Jenkins, GitHub Actions, Tekton CI-CD Jenkins, GitHub Actions, Tekton
CI-CD Jenkins, GitHub Actions, Tekton Araf Karsh Hamid
 
Why And When Should We Consider Stream Processing In Our Solutions Teqnation ...
Why And When Should We Consider Stream Processing In Our Solutions Teqnation ...Why And When Should We Consider Stream Processing In Our Solutions Teqnation ...
Why And When Should We Consider Stream Processing In Our Solutions Teqnation ...Soroosh Khodami
 
JCON_15FactorWorkshop.pptx
JCON_15FactorWorkshop.pptxJCON_15FactorWorkshop.pptx
JCON_15FactorWorkshop.pptxGrace Jansen
 

Similar to Real-time Cloud Management with SaltStack (20)

This is the way - Holistic (Network) Automation
This is the way - Holistic (Network) AutomationThis is the way - Holistic (Network) Automation
This is the way - Holistic (Network) Automation
 
Apply, rinse and repeat: avoid the fidelity gap
Apply, rinse and repeat: avoid the fidelity gapApply, rinse and repeat: avoid the fidelity gap
Apply, rinse and repeat: avoid the fidelity gap
 
[Webinar] Site24x7 - The All-in-One Monitoring Solution for DevOps & IT
[Webinar] Site24x7 - The All-in-One Monitoring Solution for DevOps & IT[Webinar] Site24x7 - The All-in-One Monitoring Solution for DevOps & IT
[Webinar] Site24x7 - The All-in-One Monitoring Solution for DevOps & IT
 
Chef arista devops days a'dam 2015
Chef arista devops days a'dam 2015Chef arista devops days a'dam 2015
Chef arista devops days a'dam 2015
 
All-in-one monitoring solution for DevOps & IT
All-in-one monitoring solution for DevOps & ITAll-in-one monitoring solution for DevOps & IT
All-in-one monitoring solution for DevOps & IT
 
Autoscaling OpenStack Natively with Heat, Ceilometer and LBaaS
Autoscaling OpenStack Natively with Heat, Ceilometer and LBaaSAutoscaling OpenStack Natively with Heat, Ceilometer and LBaaS
Autoscaling OpenStack Natively with Heat, Ceilometer and LBaaS
 
Managing and Monitoring Application Performance
Managing and Monitoring Application PerformanceManaging and Monitoring Application Performance
Managing and Monitoring Application Performance
 
Unconference Round Table Notes
Unconference Round Table NotesUnconference Round Table Notes
Unconference Round Table Notes
 
Puppet Camp Tokyo 2014: Keynote
Puppet Camp Tokyo 2014: KeynotePuppet Camp Tokyo 2014: Keynote
Puppet Camp Tokyo 2014: Keynote
 
Serverless (Distributed computing)
Serverless (Distributed computing)Serverless (Distributed computing)
Serverless (Distributed computing)
 
Chicago Docker Meetup Presentation - Mediafly
Chicago Docker Meetup Presentation - MediaflyChicago Docker Meetup Presentation - Mediafly
Chicago Docker Meetup Presentation - Mediafly
 
OSMC 2015: Monitor Open stack environments from the bottom up and front to ba...
OSMC 2015: Monitor Open stack environments from the bottom up and front to ba...OSMC 2015: Monitor Open stack environments from the bottom up and front to ba...
OSMC 2015: Monitor Open stack environments from the bottom up and front to ba...
 
OSMC 2015 | Monitor OpenStack environments from the bottom up and front to ba...
OSMC 2015 | Monitor OpenStack environments from the bottom up and front to ba...OSMC 2015 | Monitor OpenStack environments from the bottom up and front to ba...
OSMC 2015 | Monitor OpenStack environments from the bottom up and front to ba...
 
ChinaNetCloud - The Zabbix Database - Zabbix Conference 2014
ChinaNetCloud - The Zabbix Database - Zabbix Conference 2014ChinaNetCloud - The Zabbix Database - Zabbix Conference 2014
ChinaNetCloud - The Zabbix Database - Zabbix Conference 2014
 
From MSS to TelScale - Mobicents Summit 2011
From MSS to TelScale - Mobicents Summit 2011From MSS to TelScale - Mobicents Summit 2011
From MSS to TelScale - Mobicents Summit 2011
 
CI-CD Jenkins, GitHub Actions, Tekton
CI-CD Jenkins, GitHub Actions, Tekton CI-CD Jenkins, GitHub Actions, Tekton
CI-CD Jenkins, GitHub Actions, Tekton
 
Why And When Should We Consider Stream Processing In Our Solutions Teqnation ...
Why And When Should We Consider Stream Processing In Our Solutions Teqnation ...Why And When Should We Consider Stream Processing In Our Solutions Teqnation ...
Why And When Should We Consider Stream Processing In Our Solutions Teqnation ...
 
JCON_15FactorWorkshop.pptx
JCON_15FactorWorkshop.pptxJCON_15FactorWorkshop.pptx
JCON_15FactorWorkshop.pptx
 
Restfs internals
Restfs internalsRestfs internals
Restfs internals
 
PDC Highlights
PDC HighlightsPDC Highlights
PDC Highlights
 

More from SaltStack

Salt Air 19 - Intro to SaltStack RAET (reliable asyncronous event transport)
Salt Air 19 - Intro to SaltStack RAET (reliable asyncronous event transport)Salt Air 19 - Intro to SaltStack RAET (reliable asyncronous event transport)
Salt Air 19 - Intro to SaltStack RAET (reliable asyncronous event transport)SaltStack
 
Arnold Bechtoldt, Inovex GmbH Linux systems engineer - Configuration Manageme...
Arnold Bechtoldt, Inovex GmbH Linux systems engineer - Configuration Manageme...Arnold Bechtoldt, Inovex GmbH Linux systems engineer - Configuration Manageme...
Arnold Bechtoldt, Inovex GmbH Linux systems engineer - Configuration Manageme...SaltStack
 
SaltConf14 - Matthew Williams, Flowroute - Salt Virt for Linux contatiners an...
SaltConf14 - Matthew Williams, Flowroute - Salt Virt for Linux contatiners an...SaltConf14 - Matthew Williams, Flowroute - Salt Virt for Linux contatiners an...
SaltConf14 - Matthew Williams, Flowroute - Salt Virt for Linux contatiners an...SaltStack
 
Configuration Management - Finding the tool to fit your needs
Configuration Management - Finding the tool to fit your needsConfiguration Management - Finding the tool to fit your needs
Configuration Management - Finding the tool to fit your needsSaltStack
 
SaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
SaltConf14 - Ben Cane - Using SaltStack in High Availability EnvironmentsSaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
SaltConf14 - Ben Cane - Using SaltStack in High Availability EnvironmentsSaltStack
 
SaltConf14 - Oz Akan, Rackspace - Deploying OpenStack Marconi with SaltStack
SaltConf14 - Oz Akan, Rackspace - Deploying OpenStack Marconi with SaltStackSaltConf14 - Oz Akan, Rackspace - Deploying OpenStack Marconi with SaltStack
SaltConf14 - Oz Akan, Rackspace - Deploying OpenStack Marconi with SaltStackSaltStack
 
SaltConf14 - Yazz Atlas, HP Cloud - Installing OpenStack using SaltStack
SaltConf14 - Yazz Atlas, HP Cloud - Installing OpenStack using SaltStackSaltConf14 - Yazz Atlas, HP Cloud - Installing OpenStack using SaltStack
SaltConf14 - Yazz Atlas, HP Cloud - Installing OpenStack using SaltStackSaltStack
 
SaltConf14 - Ryan Lane, Wikimedia - Immediate consistency with Trebuchet Depl...
SaltConf14 - Ryan Lane, Wikimedia - Immediate consistency with Trebuchet Depl...SaltConf14 - Ryan Lane, Wikimedia - Immediate consistency with Trebuchet Depl...
SaltConf14 - Ryan Lane, Wikimedia - Immediate consistency with Trebuchet Depl...SaltStack
 
SaltConf14 - Justin Carmony, Deseret Digital Media - Teaching Devs About DevOps
SaltConf14 - Justin Carmony, Deseret Digital Media - Teaching Devs About DevOpsSaltConf14 - Justin Carmony, Deseret Digital Media - Teaching Devs About DevOps
SaltConf14 - Justin Carmony, Deseret Digital Media - Teaching Devs About DevOpsSaltStack
 
SaltConf14 - Thomas Jackson, LinkedIn - Safety with Power Tools
SaltConf14 - Thomas Jackson, LinkedIn - Safety with Power ToolsSaltConf14 - Thomas Jackson, LinkedIn - Safety with Power Tools
SaltConf14 - Thomas Jackson, LinkedIn - Safety with Power ToolsSaltStack
 
SaltConf14 - Eric johnson, Google - Orchestrating Google Compute Engine with ...
SaltConf14 - Eric johnson, Google - Orchestrating Google Compute Engine with ...SaltConf14 - Eric johnson, Google - Orchestrating Google Compute Engine with ...
SaltConf14 - Eric johnson, Google - Orchestrating Google Compute Engine with ...SaltStack
 
SaltStack - An open source software story
SaltStack - An open source software storySaltStack - An open source software story
SaltStack - An open source software storySaltStack
 
Adding to your Python Armory - OpenWest 2013
Adding to your Python Armory - OpenWest 2013Adding to your Python Armory - OpenWest 2013
Adding to your Python Armory - OpenWest 2013SaltStack
 
Writing SaltStack Modules - OpenWest 2013
Writing SaltStack Modules - OpenWest 2013Writing SaltStack Modules - OpenWest 2013
Writing SaltStack Modules - OpenWest 2013SaltStack
 

More from SaltStack (14)

Salt Air 19 - Intro to SaltStack RAET (reliable asyncronous event transport)
Salt Air 19 - Intro to SaltStack RAET (reliable asyncronous event transport)Salt Air 19 - Intro to SaltStack RAET (reliable asyncronous event transport)
Salt Air 19 - Intro to SaltStack RAET (reliable asyncronous event transport)
 
Arnold Bechtoldt, Inovex GmbH Linux systems engineer - Configuration Manageme...
Arnold Bechtoldt, Inovex GmbH Linux systems engineer - Configuration Manageme...Arnold Bechtoldt, Inovex GmbH Linux systems engineer - Configuration Manageme...
Arnold Bechtoldt, Inovex GmbH Linux systems engineer - Configuration Manageme...
 
SaltConf14 - Matthew Williams, Flowroute - Salt Virt for Linux contatiners an...
SaltConf14 - Matthew Williams, Flowroute - Salt Virt for Linux contatiners an...SaltConf14 - Matthew Williams, Flowroute - Salt Virt for Linux contatiners an...
SaltConf14 - Matthew Williams, Flowroute - Salt Virt for Linux contatiners an...
 
Configuration Management - Finding the tool to fit your needs
Configuration Management - Finding the tool to fit your needsConfiguration Management - Finding the tool to fit your needs
Configuration Management - Finding the tool to fit your needs
 
SaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
SaltConf14 - Ben Cane - Using SaltStack in High Availability EnvironmentsSaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
SaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
 
SaltConf14 - Oz Akan, Rackspace - Deploying OpenStack Marconi with SaltStack
SaltConf14 - Oz Akan, Rackspace - Deploying OpenStack Marconi with SaltStackSaltConf14 - Oz Akan, Rackspace - Deploying OpenStack Marconi with SaltStack
SaltConf14 - Oz Akan, Rackspace - Deploying OpenStack Marconi with SaltStack
 
SaltConf14 - Yazz Atlas, HP Cloud - Installing OpenStack using SaltStack
SaltConf14 - Yazz Atlas, HP Cloud - Installing OpenStack using SaltStackSaltConf14 - Yazz Atlas, HP Cloud - Installing OpenStack using SaltStack
SaltConf14 - Yazz Atlas, HP Cloud - Installing OpenStack using SaltStack
 
SaltConf14 - Ryan Lane, Wikimedia - Immediate consistency with Trebuchet Depl...
SaltConf14 - Ryan Lane, Wikimedia - Immediate consistency with Trebuchet Depl...SaltConf14 - Ryan Lane, Wikimedia - Immediate consistency with Trebuchet Depl...
SaltConf14 - Ryan Lane, Wikimedia - Immediate consistency with Trebuchet Depl...
 
SaltConf14 - Justin Carmony, Deseret Digital Media - Teaching Devs About DevOps
SaltConf14 - Justin Carmony, Deseret Digital Media - Teaching Devs About DevOpsSaltConf14 - Justin Carmony, Deseret Digital Media - Teaching Devs About DevOps
SaltConf14 - Justin Carmony, Deseret Digital Media - Teaching Devs About DevOps
 
SaltConf14 - Thomas Jackson, LinkedIn - Safety with Power Tools
SaltConf14 - Thomas Jackson, LinkedIn - Safety with Power ToolsSaltConf14 - Thomas Jackson, LinkedIn - Safety with Power Tools
SaltConf14 - Thomas Jackson, LinkedIn - Safety with Power Tools
 
SaltConf14 - Eric johnson, Google - Orchestrating Google Compute Engine with ...
SaltConf14 - Eric johnson, Google - Orchestrating Google Compute Engine with ...SaltConf14 - Eric johnson, Google - Orchestrating Google Compute Engine with ...
SaltConf14 - Eric johnson, Google - Orchestrating Google Compute Engine with ...
 
SaltStack - An open source software story
SaltStack - An open source software storySaltStack - An open source software story
SaltStack - An open source software story
 
Adding to your Python Armory - OpenWest 2013
Adding to your Python Armory - OpenWest 2013Adding to your Python Armory - OpenWest 2013
Adding to your Python Armory - OpenWest 2013
 
Writing SaltStack Modules - OpenWest 2013
Writing SaltStack Modules - OpenWest 2013Writing SaltStack Modules - OpenWest 2013
Writing SaltStack Modules - OpenWest 2013
 

Recently uploaded

Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 

Recently uploaded (20)

Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 

Real-time Cloud Management with SaltStack

  • 1. Real-time cloud management with Salt Unlocked.io Seth House <shouse@saltstack.com> 2013-06-14 1 / 47
  • 2. Salt philosophy 1 Salt philosophy Building blocks What are our building blocks? Building blocks and complexity Success comes from simplicity Salt is aptly named Flow + state = EVERYTHING Building on state and flow Building blocks for infra Building remote ex Building states Building cloud Building monitoring Conclusion 2 Salt internals (briefly) 2 / 47
  • 3. Salt philosophy Building blocks Building blocks 3 / 47
  • 4. Salt philosophy Building blocks Building blocks Everything we have is built on earlier generations Building blocks of history Agriculture Cities Governments Mathematics Manufacturing Language 4 / 47
  • 5. Salt philosophy What are our building blocks? What are our building blocks? Computers Systems Data centers are the modern platform of invention Large scale computing drives virtually all high level human interactions Data centers themselves are becoming the building blocks 5 / 47
  • 6. Salt philosophy Building blocks and complexity Building blocks and complexity As systems grow they become more complex Increased complexity makes using larger building blocks impossible Building blocks used today are simple Easy to use Easy to understand Yet powerful 6 / 47
  • 7. Salt philosophy Success comes from simplicity Success comes from simplicity Viable building blocks are fundamentally simple Things that are in themselves simple to understand and use Concepts that can cross barriers and cleanly apply to many higher level uses YAML is a great example Unix is a great example 7 / 47
  • 8. Salt philosophy Salt is aptly named Salt is aptly named 8 / 47
  • 9. Salt philosophy Salt is aptly named Salt is aptly named The name is the vision Salt is in nature, a building block Salt is in cooking, a building block Salt is in life, a building block Yes, this is where the logo came from Yes, this is why it is Salt STACK 9 / 47
  • 10. Salt philosophy Flow + state = EVERYTHING Flow + state = EVERYTHING Core idea behind Salt Flow = Access and control State = The functional state of the system Between them All things are controlled 10 / 47
  • 11. Salt philosophy Building on state and flow Building on state and flow Basics Remote execution built on Flow Config Management built on State Ramping Up Monitoring build on Flow + State Cloud management is Flow + State Auto healing is Flow + Flow Orchestration is Flow + State Distributed Deployment is Flow + State 11 / 47
  • 12. Salt philosophy Building blocks for infra Building blocks for infra Salt has “Configuration Management” Salt has “Remote Execution” 12 / 47
  • 13. Salt philosophy Building remote ex Building remote ex Async Message Bus Micro publish commands Minion Side Logic Return to arbitrary location 13 / 47
  • 14. Salt philosophy Building states Building states All about data Low level data structure calls state functions High level data structure defines state calls Languages are now arbitrary 14 / 47
  • 15. Salt philosophy Building cloud Building cloud Remote Ex controls hypers Remote ex commands hypers All runs on Live data 15 / 47
  • 16. Salt philosophy Building monitoring Building monitoring Remote Ex build on system libs Data gathering is already there! States used to detect the state of a system States can declare that the state of a system is out of bounds Fires back to the event bus 16 / 47
  • 18. Salt philosophy Conclusion Conclusion Salt is comprised of many building blocks The underlying components are available, but they do not need to be interfaced with Salt is made to morph into the needs of the infra Made to make small infrastructures easy, and large infrastructures powerful 18 / 47
  • 19. Salt internals (briefly) 1 Salt philosophy 2 Salt internals (briefly) Master Minions Execution modules Execution example State modules State module example 3 Salt speed 4 Minion data 5 Events 19 / 47
  • 20. Salt internals (briefly) Master Master salt-master -d Open two ports (pub/sub & reply channel) 20 / 47
  • 21. Salt internals (briefly) Minions Minions salt-minion -d Connect to the master No open ports required Listens for pubs from the master /etc/salt/minion: #master: salt 21 / 47
  • 22. Salt internals (briefly) Execution modules Execution modules Contain all the functionality 22 / 47
  • 23. Salt internals (briefly) Execution example Execution example salt ’web-*’ network.interfaces 23 / 47
  • 24. Salt internals (briefly) State modules State modules Wrap execution modules Before-check test=true Call out to execution modules After-check 24 / 47
  • 25. Salt internals (briefly) State module example State module example top.sls: base: ’web-*’: - httpd httpd.sls: httpd: pkg: - installed 25 / 47
  • 26. Salt speed 1 Salt philosophy 2 Salt internals (briefly) 3 Salt speed Communication pub/sub 4 Minion data 5 Events 6 Schedules 7 What’s coming 26 / 47
  • 28. Salt speed pub/sub pub/sub Asynchronous Minions determine targeting match Minions do all the work 28 / 47
  • 29. Minion data 1 Salt philosophy 2 Salt internals (briefly) 3 Salt speed 4 Minion data Peer Peer example Salt Mine Salt Mine example Returners Returner full-circle example 5 Events 29 / 47
  • 30. Minion data Live data; peer interface Recent data; Salt mine Historical data; returners 30 / 47
  • 31. Minion data Peer Peer /etc/salt/master: peer: lb-.*: - network.interfaces Be mindful of data security Communication still goes through the master 31 / 47
  • 32. Minion data Peer example Peer example Configuring haproxy.cfg: {% for server,ip in salt[’publish.publish’]( ’web*’, ’network.interfaces’, [’eth0’]).items() %} server {{ server }} {{ ip[0] }}:80 check {% endfor %} 32 / 47
  • 33. Minion data Salt Mine Salt Mine /etc/salt/{master,minion}: mine_functions: network.interfaces: [eth0] mine_interval: 60 New in Salt v0.15 Either master or minion config Be mindful of data security 33 / 47
  • 34. Minion data Salt Mine example Salt Mine example Configuring haproxy.cfg: {% for server,ip in salt[’mine.get’]( ’web-*’, ’network.interfaces’, [’eth0’]).items() %} server {{ server }} {{ ip[0] }}:80 check {% endfor %} 34 / 47
  • 35. Minion data Returners Returners /etc/salt/{master,minion}: redis.db: 0 redis.host: myredis redis.port: 6379 Minions write directly Can be read into Pillar via ext_pillar 35 / 47
  • 36. Minion data Returner full-circle example Returner full-circle example Collect the data: salt ’web-*’ network.interfaces eth0 --return redis_return Fetch the data via a custom ext_pillar module. Use the data: {% for server,ip in salt[’pillar.get’](’web.ip_addrs’, {}).items() server {{ server }} {{ ip[0] }}:80 check {% endfor %} 36 / 47
  • 37. Events 1 Salt philosophy 2 Salt internals (briefly) 3 Salt speed 4 Minion data 5 Events Fire events Watch for events (manually) Reactor (react to events) 6 Schedules 7 What’s coming 37 / 47
  • 38. Events Fire events Fire events salt ’lb-*’ event.fire_master refresh_pool loadbalancer 38 / 47
  • 39. Events Watch for events (manually) Watch for events (manually) Some assembly required salt/tests/eventlisten.py Coming soon to salt-api 39 / 47
  • 40. Events Reactor (react to events) Reactor (react to events) /etc/salt/master: reactor: - loadbalancer: - /src/reactor/refresh_pool.sls /src/reactor/refresh_pool.sls: {% if data[’type’] == ’refresh_pool’ %} highstate_run: cmd.state.highstate: - tgt: lb-* {% endif %} 40 / 47
  • 41. Schedules 1 Salt philosophy 2 Salt internals (briefly) 3 Salt speed 4 Minion data 5 Events 6 Schedules Add events Stats gathering 7 What’s coming 41 / 47
  • 42. Schedules Add events Add events /etc/salt/{master,minion} (or pillar): schedule: highstate: function: state.highstate minutes: 60 42 / 47
  • 43. Schedules Stats gathering Stats gathering schedule: uptime: function: status.uptime seconds: 60 returner: redis meminfo: function: status.meminfo minutes: 5 returner: redis 43 / 47
  • 44. What’s coming 1 Salt philosophy 2 Salt internals (briefly) 3 Salt speed 4 Minion data 5 Events 6 Schedules 7 What’s coming Monitoring states Data resolution 44 / 47
  • 46. What’s coming Monitoring states Monitoring states Configure inline with existing states Individual components are in place Needed: glue Needed: alerting 46 / 47
  • 47. What’s coming Data resolution Data resolution Time-series data Thin and/or summarize older and older data Free with some returners 47 / 47