SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Wrapper Formulas
Put Your Formulas in a Formula So You Can
Orchestrate Your Orchestration!
About me
• Principal Software Engineer, Virtustream
• Previously:
– System Administrator
– Site Reliability Engineer
– Automation Engineer
• 4+ years experience with Saltstack
Virtustream
– Virtustream is a member of the EMC Federation
– Providing IaaS, Object Storage, and Managed Services
– Mission Critical Enterprise workloads in the Cloud
Platform Engineering
• Deploy and Manage:
– Mesos Platform
– Openstack Platform
Salt at Virtustream
• 15,000+ managed nodes
• 25+ sites
• Multi-Exabyte Object Storage
• VMware
• OpenStack
• Apache Mesos
Quick Review
Beginnings
• Deployed SaltStack primarily for remote
execution on our object storage platform
• Built up some states and pillar data
• Kept the state and pillar trees in a GitHub
repository
Beginnings
• Worked reasonably well for a single project
• Difficult to test
• Difficult to deploy
• Not multi-project friendly:
– Poor code reuse
– Divergence across projects
– Lacks consistent patterns
Individual Formulas (what they solve)
• Promotes code reuse
• Cookiecutter projects make it easy to get everyone using the same patterns.
• Debian packaging solves the distribution problem
• State and Execution modules bundled
• TeamCity runs our tests, builds, and deployments
• Version controlled
• Peer reviewed
• Tests executed on pull request and added to comments
• Test individual states
• Pillar data stored with project
• We’re up to 140+ formulas built this way!
Individual Formulas (results)
• Our project’s /srv/salt
directory is far less
populated
• /srv/formulas directory is
heavily populated
Questions
Individual Formulas (what they don’t solve)
• Poor support for formula interdependency
• Reusable pillar data is not exposed
• Does not allow testing of pillar data
Wrapper Formulas
• Captures a single
platform or product
• Ties individual
formulas together
Wrapper Formulas
• Orchestration and/or states from each formula
are included in one orchestration state
• This orchestration state orders the installation
and executes blocking health checks between
steps as necessary
Wrapper Formulas
• Includes
orchestration
and states from
each formula
Wrapper Formulas
• Extends orchestration
to enforce order
Wrapper Formulas
• Formulas bring their own orchestration as
needed.
• Contains all non-environment pillar data for the
platform
• Allows testing of the entire platform while still
allowing individual formula testing
Installs to known location
• Orchestration and state data installs into /srv/salt/ext/
• Pillar data installs into /srv/pillar/ext/
• This is done so that we know that the state and pillar
data came from a wrapper formula
Turn up a whole stack with one command!
• Now when we need to turn up a new datacenter
or testing environment it’s as easy as:
– salt-run state.orchestrate ext.tw.orchestration.bootstrap
Mesos Platform
• Our flagship wrapper formula
• Runs on bare metal in production and staging
• Runs on Vagrant and Openstack VMs for
development
• Chad Heuschober’s talk after this for more
details
Next steps
• Full platform testing via TeamCity
• Migration of other projects to this model
• Event driven orchestration?
Questions

Weitere ähnliche Inhalte

Was ist angesagt?

Unbreakable SharePoint 2013 with SQL Server Always On Availability Groups (HA...
Unbreakable SharePoint 2013 with SQL Server Always On Availability Groups (HA...Unbreakable SharePoint 2013 with SQL Server Always On Availability Groups (HA...
Unbreakable SharePoint 2013 with SQL Server Always On Availability Groups (HA...serge luca
 
Deployment pipeline for Azure SQL Databases
Deployment pipeline for Azure SQL DatabasesDeployment pipeline for Azure SQL Databases
Deployment pipeline for Azure SQL DatabasesEduardo Piairo
 
AWS Webcast - Customizing AWS ops works with chef 11 and Amazon machine images
AWS Webcast - Customizing AWS ops works with chef 11 and Amazon machine imagesAWS Webcast - Customizing AWS ops works with chef 11 and Amazon machine images
AWS Webcast - Customizing AWS ops works with chef 11 and Amazon machine imagesAmazon Web Services
 
Java Application Servers Are Dead!
Java Application Servers Are Dead!Java Application Servers Are Dead!
Java Application Servers Are Dead!Eberhard Wolff
 
SQL AlwaysON for SharePoint HA/DR on Azure Global Azure Bootcamp 2017 Eisenac...
SQL AlwaysON for SharePoint HA/DR on Azure Global Azure Bootcamp 2017 Eisenac...SQL AlwaysON for SharePoint HA/DR on Azure Global Azure Bootcamp 2017 Eisenac...
SQL AlwaysON for SharePoint HA/DR on Azure Global Azure Bootcamp 2017 Eisenac...Lars Platzdasch
 
SQL Server Alwayson for SharePoint HA/DR Step by Step Guide
SQL Server Alwayson for SharePoint HA/DR Step by Step GuideSQL Server Alwayson for SharePoint HA/DR Step by Step Guide
SQL Server Alwayson for SharePoint HA/DR Step by Step GuideLars Platzdasch
 
Openstack devops challenges a journey from dump baremetal to functional ope...
Openstack devops challenges   a journey from dump baremetal to functional ope...Openstack devops challenges   a journey from dump baremetal to functional ope...
Openstack devops challenges a journey from dump baremetal to functional ope...Harish Kumar
 
Explicit Dedication of Resources in CloudStack
Explicit Dedication of Resources in CloudStackExplicit Dedication of Resources in CloudStack
Explicit Dedication of Resources in CloudStackSaksham Srivastava
 
(ATS6-PLAT09) Deploying Applications on load balanced AEP servers for high av...
(ATS6-PLAT09) Deploying Applications on load balanced AEP servers for high av...(ATS6-PLAT09) Deploying Applications on load balanced AEP servers for high av...
(ATS6-PLAT09) Deploying Applications on load balanced AEP servers for high av...BIOVIA
 
Backing Data Silo Atack: Alfresco sharding, SOLR for non-flat objects
Backing Data Silo Atack: Alfresco sharding, SOLR for non-flat objectsBacking Data Silo Atack: Alfresco sharding, SOLR for non-flat objects
Backing Data Silo Atack: Alfresco sharding, SOLR for non-flat objectsITD Systems
 
The Need For Speed - NxtGen Cambridge
The Need For Speed - NxtGen CambridgeThe Need For Speed - NxtGen Cambridge
The Need For Speed - NxtGen CambridgePhil Pursglove
 
Apache Curator: Past, Present and Future
Apache Curator: Past, Present and FutureApache Curator: Past, Present and Future
Apache Curator: Past, Present and FutureJordan Zimmerman
 
External Master Data in Alfresco: Integrating and Keeping Metadata Consistent...
External Master Data in Alfresco: Integrating and Keeping Metadata Consistent...External Master Data in Alfresco: Integrating and Keeping Metadata Consistent...
External Master Data in Alfresco: Integrating and Keeping Metadata Consistent...ITD Systems
 
Get involved with the Apache Software Foundation
Get involved with the Apache Software FoundationGet involved with the Apache Software Foundation
Get involved with the Apache Software FoundationShalin Shekhar Mangar
 
Developing Microservices using Spring - Beginner's Guide
Developing Microservices using Spring - Beginner's GuideDeveloping Microservices using Spring - Beginner's Guide
Developing Microservices using Spring - Beginner's GuideMohanraj Thirumoorthy
 
How Container Schedulers and Software-based Storage will Change the Cloud
How Container Schedulers and Software-based Storage will Change the CloudHow Container Schedulers and Software-based Storage will Change the Cloud
How Container Schedulers and Software-based Storage will Change the CloudDavid vonThenen
 
Load Balancer Component Architecture - Apache Stratos 4.0.0
Load Balancer Component Architecture - Apache Stratos 4.0.0Load Balancer Component Architecture - Apache Stratos 4.0.0
Load Balancer Component Architecture - Apache Stratos 4.0.0Imesh Gunaratne
 
Oracle E-Business Suite on Kubernetes Cluster
Oracle E-Business Suite on Kubernetes ClusterOracle E-Business Suite on Kubernetes Cluster
Oracle E-Business Suite on Kubernetes Clustervasuballa
 

Was ist angesagt? (20)

Unbreakable SharePoint 2013 with SQL Server Always On Availability Groups (HA...
Unbreakable SharePoint 2013 with SQL Server Always On Availability Groups (HA...Unbreakable SharePoint 2013 with SQL Server Always On Availability Groups (HA...
Unbreakable SharePoint 2013 with SQL Server Always On Availability Groups (HA...
 
Deployment pipeline for Azure SQL Databases
Deployment pipeline for Azure SQL DatabasesDeployment pipeline for Azure SQL Databases
Deployment pipeline for Azure SQL Databases
 
AWS Webcast - Customizing AWS ops works with chef 11 and Amazon machine images
AWS Webcast - Customizing AWS ops works with chef 11 and Amazon machine imagesAWS Webcast - Customizing AWS ops works with chef 11 and Amazon machine images
AWS Webcast - Customizing AWS ops works with chef 11 and Amazon machine images
 
eCAP Developer Walkthru
eCAP Developer WalkthrueCAP Developer Walkthru
eCAP Developer Walkthru
 
Java Application Servers Are Dead!
Java Application Servers Are Dead!Java Application Servers Are Dead!
Java Application Servers Are Dead!
 
SQL AlwaysON for SharePoint HA/DR on Azure Global Azure Bootcamp 2017 Eisenac...
SQL AlwaysON for SharePoint HA/DR on Azure Global Azure Bootcamp 2017 Eisenac...SQL AlwaysON for SharePoint HA/DR on Azure Global Azure Bootcamp 2017 Eisenac...
SQL AlwaysON for SharePoint HA/DR on Azure Global Azure Bootcamp 2017 Eisenac...
 
SQL Server Alwayson for SharePoint HA/DR Step by Step Guide
SQL Server Alwayson for SharePoint HA/DR Step by Step GuideSQL Server Alwayson for SharePoint HA/DR Step by Step Guide
SQL Server Alwayson for SharePoint HA/DR Step by Step Guide
 
Openstack devops challenges a journey from dump baremetal to functional ope...
Openstack devops challenges   a journey from dump baremetal to functional ope...Openstack devops challenges   a journey from dump baremetal to functional ope...
Openstack devops challenges a journey from dump baremetal to functional ope...
 
Explicit Dedication of Resources in CloudStack
Explicit Dedication of Resources in CloudStackExplicit Dedication of Resources in CloudStack
Explicit Dedication of Resources in CloudStack
 
(ATS6-PLAT09) Deploying Applications on load balanced AEP servers for high av...
(ATS6-PLAT09) Deploying Applications on load balanced AEP servers for high av...(ATS6-PLAT09) Deploying Applications on load balanced AEP servers for high av...
(ATS6-PLAT09) Deploying Applications on load balanced AEP servers for high av...
 
Backing Data Silo Atack: Alfresco sharding, SOLR for non-flat objects
Backing Data Silo Atack: Alfresco sharding, SOLR for non-flat objectsBacking Data Silo Atack: Alfresco sharding, SOLR for non-flat objects
Backing Data Silo Atack: Alfresco sharding, SOLR for non-flat objects
 
ELK Stack
ELK StackELK Stack
ELK Stack
 
The Need For Speed - NxtGen Cambridge
The Need For Speed - NxtGen CambridgeThe Need For Speed - NxtGen Cambridge
The Need For Speed - NxtGen Cambridge
 
Apache Curator: Past, Present and Future
Apache Curator: Past, Present and FutureApache Curator: Past, Present and Future
Apache Curator: Past, Present and Future
 
External Master Data in Alfresco: Integrating and Keeping Metadata Consistent...
External Master Data in Alfresco: Integrating and Keeping Metadata Consistent...External Master Data in Alfresco: Integrating and Keeping Metadata Consistent...
External Master Data in Alfresco: Integrating and Keeping Metadata Consistent...
 
Get involved with the Apache Software Foundation
Get involved with the Apache Software FoundationGet involved with the Apache Software Foundation
Get involved with the Apache Software Foundation
 
Developing Microservices using Spring - Beginner's Guide
Developing Microservices using Spring - Beginner's GuideDeveloping Microservices using Spring - Beginner's Guide
Developing Microservices using Spring - Beginner's Guide
 
How Container Schedulers and Software-based Storage will Change the Cloud
How Container Schedulers and Software-based Storage will Change the CloudHow Container Schedulers and Software-based Storage will Change the Cloud
How Container Schedulers and Software-based Storage will Change the Cloud
 
Load Balancer Component Architecture - Apache Stratos 4.0.0
Load Balancer Component Architecture - Apache Stratos 4.0.0Load Balancer Component Architecture - Apache Stratos 4.0.0
Load Balancer Component Architecture - Apache Stratos 4.0.0
 
Oracle E-Business Suite on Kubernetes Cluster
Oracle E-Business Suite on Kubernetes ClusterOracle E-Business Suite on Kubernetes Cluster
Oracle E-Business Suite on Kubernetes Cluster
 

Andere mochten auch

Bitfusion Saltconf16 - Seamless Docker Orchestration with SaltStack
Bitfusion Saltconf16 - Seamless Docker Orchestration with SaltStackBitfusion Saltconf16 - Seamless Docker Orchestration with SaltStack
Bitfusion Saltconf16 - Seamless Docker Orchestration with SaltStackSubbu Rama
 
Zagari eng video 1
Zagari eng video 1Zagari eng video 1
Zagari eng video 1fdzagari
 
Really Organised Ltd_Portfolio
Really Organised Ltd_PortfolioReally Organised Ltd_Portfolio
Really Organised Ltd_PortfolioRhiannon Osborne
 
Universidad y buen vivir plan de vida
Universidad y buen vivir plan de vidaUniversidad y buen vivir plan de vida
Universidad y buen vivir plan de vidaPaul Mendoza
 
Athletes maximize your health, mental & financial success. aug 27 2016
Athletes  maximize your health, mental & financial success. aug 27 2016Athletes  maximize your health, mental & financial success. aug 27 2016
Athletes maximize your health, mental & financial success. aug 27 2016Harold Kraft
 
Clases de física en el gimnasio
Clases de física en el gimnasioClases de física en el gimnasio
Clases de física en el gimnasioJacqueline Pino
 
Ppts new varsha export (1)
Ppts new varsha export (1)Ppts new varsha export (1)
Ppts new varsha export (1)prateek Kapoor
 
Investigacion cual
Investigacion cualInvestigacion cual
Investigacion cualyanny121213
 
Beneficios de la fisioterapia obstetrica
Beneficios de la fisioterapia obstetricaBeneficios de la fisioterapia obstetrica
Beneficios de la fisioterapia obstetricaZony Leon
 
Uso de drive
Uso de driveUso de drive
Uso de driveYuniorsh
 
Landing pages cases
Landing pages casesLanding pages cases
Landing pages casesDrammich
 
อุปกรณ์เชื่อมต่อคอมพิวเตอร์(PDF)
อุปกรณ์เชื่อมต่อคอมพิวเตอร์(PDF)อุปกรณ์เชื่อมต่อคอมพิวเตอร์(PDF)
อุปกรณ์เชื่อมต่อคอมพิวเตอร์(PDF)Nannapatktwrps
 
Dificultades de aprendizaje y de atención
Dificultades de aprendizaje y de atenciónDificultades de aprendizaje y de atención
Dificultades de aprendizaje y de atenciónROSA TULIA PERAZA MOLINA
 

Andere mochten auch (20)

Bitfusion Saltconf16 - Seamless Docker Orchestration with SaltStack
Bitfusion Saltconf16 - Seamless Docker Orchestration with SaltStackBitfusion Saltconf16 - Seamless Docker Orchestration with SaltStack
Bitfusion Saltconf16 - Seamless Docker Orchestration with SaltStack
 
Memoria descriptiva
Memoria descriptivaMemoria descriptiva
Memoria descriptiva
 
Zagari eng video 1
Zagari eng video 1Zagari eng video 1
Zagari eng video 1
 
Asa (1)
Asa (1)Asa (1)
Asa (1)
 
Really Organised Ltd_Portfolio
Really Organised Ltd_PortfolioReally Organised Ltd_Portfolio
Really Organised Ltd_Portfolio
 
El Ecosistema
El EcosistemaEl Ecosistema
El Ecosistema
 
Universidad y buen vivir plan de vida
Universidad y buen vivir plan de vidaUniversidad y buen vivir plan de vida
Universidad y buen vivir plan de vida
 
Athletes maximize your health, mental & financial success. aug 27 2016
Athletes  maximize your health, mental & financial success. aug 27 2016Athletes  maximize your health, mental & financial success. aug 27 2016
Athletes maximize your health, mental & financial success. aug 27 2016
 
Clases de física en el gimnasio
Clases de física en el gimnasioClases de física en el gimnasio
Clases de física en el gimnasio
 
Ppts new varsha export (1)
Ppts new varsha export (1)Ppts new varsha export (1)
Ppts new varsha export (1)
 
Investigacion cual
Investigacion cualInvestigacion cual
Investigacion cual
 
Ninja Sports Group Deck
Ninja Sports Group DeckNinja Sports Group Deck
Ninja Sports Group Deck
 
Beneficios de la fisioterapia obstetrica
Beneficios de la fisioterapia obstetricaBeneficios de la fisioterapia obstetrica
Beneficios de la fisioterapia obstetrica
 
Uso de drive
Uso de driveUso de drive
Uso de drive
 
Landing pages cases
Landing pages casesLanding pages cases
Landing pages cases
 
อุปกรณ์เชื่อมต่อคอมพิวเตอร์(PDF)
อุปกรณ์เชื่อมต่อคอมพิวเตอร์(PDF)อุปกรณ์เชื่อมต่อคอมพิวเตอร์(PDF)
อุปกรณ์เชื่อมต่อคอมพิวเตอร์(PDF)
 
Operador de sistemas atahua huarca (1)
Operador de sistemas   atahua huarca (1)Operador de sistemas   atahua huarca (1)
Operador de sistemas atahua huarca (1)
 
Dificultades de aprendizaje y de atención
Dificultades de aprendizaje y de atenciónDificultades de aprendizaje y de atención
Dificultades de aprendizaje y de atención
 
Plano de aula
Plano de aulaPlano de aula
Plano de aula
 
Queen Victoria
Queen VictoriaQueen Victoria
Queen Victoria
 

Ähnlich wie Wrapper formulas saltconf 2016

Training Slides: 103 - Basics - Simple Tungsten Clustering Installation
Training Slides: 103 - Basics - Simple Tungsten Clustering InstallationTraining Slides: 103 - Basics - Simple Tungsten Clustering Installation
Training Slides: 103 - Basics - Simple Tungsten Clustering InstallationContinuent
 
Infrastructure modeling with chef
Infrastructure modeling with chefInfrastructure modeling with chef
Infrastructure modeling with chefCharles Johnson
 
20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...
20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...
20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...garrett honeycutt
 
MIgrating to RAC using Dataguard
MIgrating to RAC  using Dataguard MIgrating to RAC  using Dataguard
MIgrating to RAC using Dataguard Fuad Arshad
 
Provisioning Oracle Fusion Middleware Environments with Chef and Puppet
Provisioning Oracle Fusion Middleware Environments with Chef and PuppetProvisioning Oracle Fusion Middleware Environments with Chef and Puppet
Provisioning Oracle Fusion Middleware Environments with Chef and PuppetEdwin Biemond
 
Best practices in Deploying SUSE CaaS Platform v3
Best practices in Deploying SUSE CaaS Platform v3Best practices in Deploying SUSE CaaS Platform v3
Best practices in Deploying SUSE CaaS Platform v3Juan Herrera Utande
 
SolrCloud Cluster management via APIs
SolrCloud Cluster management via APIsSolrCloud Cluster management via APIs
SolrCloud Cluster management via APIsAnshum Gupta
 
Road to database automation - Database source control
Road to database automation - Database source controlRoad to database automation - Database source control
Road to database automation - Database source controlEduardo Piairo
 
API-Testing-SOAPUI-1.pptx
API-Testing-SOAPUI-1.pptxAPI-Testing-SOAPUI-1.pptx
API-Testing-SOAPUI-1.pptxamarnathdeo
 
Agile db testing_techniques
Agile db testing_techniquesAgile db testing_techniques
Agile db testing_techniquesTarik Essawi
 
Lessons Learned Running The Largest OpenStack Clouds
Lessons Learned Running The Largest OpenStack CloudsLessons Learned Running The Largest OpenStack Clouds
Lessons Learned Running The Largest OpenStack CloudsKenneth Hui
 
Immutable infrastructure isn’t the answer
Immutable infrastructure isn’t the answerImmutable infrastructure isn’t the answer
Immutable infrastructure isn’t the answerSam Bashton
 
Midwest PHP - Scaling Magento
Midwest PHP - Scaling MagentoMidwest PHP - Scaling Magento
Midwest PHP - Scaling MagentoMathew Beane
 
Whirlpools in the Stream with Jayesh Lalwani
 Whirlpools in the Stream with Jayesh Lalwani Whirlpools in the Stream with Jayesh Lalwani
Whirlpools in the Stream with Jayesh LalwaniDatabricks
 
Performance of Microservice Frameworks on different JVMs
Performance of Microservice Frameworks on different JVMsPerformance of Microservice Frameworks on different JVMs
Performance of Microservice Frameworks on different JVMsMaarten Smeets
 
Deploying and managing Solr at scale
Deploying and managing Solr at scaleDeploying and managing Solr at scale
Deploying and managing Solr at scaleAnshum Gupta
 
Integration-Monday-Terraform-Serverless
Integration-Monday-Terraform-ServerlessIntegration-Monday-Terraform-Serverless
Integration-Monday-Terraform-ServerlessBizTalk360
 
Deployment and Configuration 3.7
Deployment and Configuration 3.7Deployment and Configuration 3.7
Deployment and Configuration 3.7StephenKardian
 
Vagrant for Effective DevOps Culture
Vagrant for Effective DevOps CultureVagrant for Effective DevOps Culture
Vagrant for Effective DevOps CultureVaidik Kapoor
 
Connections Migration soccnx12
Connections Migration soccnx12Connections Migration soccnx12
Connections Migration soccnx12Sharon James
 

Ähnlich wie Wrapper formulas saltconf 2016 (20)

Training Slides: 103 - Basics - Simple Tungsten Clustering Installation
Training Slides: 103 - Basics - Simple Tungsten Clustering InstallationTraining Slides: 103 - Basics - Simple Tungsten Clustering Installation
Training Slides: 103 - Basics - Simple Tungsten Clustering Installation
 
Infrastructure modeling with chef
Infrastructure modeling with chefInfrastructure modeling with chef
Infrastructure modeling with chef
 
20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...
20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...
20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...
 
MIgrating to RAC using Dataguard
MIgrating to RAC  using Dataguard MIgrating to RAC  using Dataguard
MIgrating to RAC using Dataguard
 
Provisioning Oracle Fusion Middleware Environments with Chef and Puppet
Provisioning Oracle Fusion Middleware Environments with Chef and PuppetProvisioning Oracle Fusion Middleware Environments with Chef and Puppet
Provisioning Oracle Fusion Middleware Environments with Chef and Puppet
 
Best practices in Deploying SUSE CaaS Platform v3
Best practices in Deploying SUSE CaaS Platform v3Best practices in Deploying SUSE CaaS Platform v3
Best practices in Deploying SUSE CaaS Platform v3
 
SolrCloud Cluster management via APIs
SolrCloud Cluster management via APIsSolrCloud Cluster management via APIs
SolrCloud Cluster management via APIs
 
Road to database automation - Database source control
Road to database automation - Database source controlRoad to database automation - Database source control
Road to database automation - Database source control
 
API-Testing-SOAPUI-1.pptx
API-Testing-SOAPUI-1.pptxAPI-Testing-SOAPUI-1.pptx
API-Testing-SOAPUI-1.pptx
 
Agile db testing_techniques
Agile db testing_techniquesAgile db testing_techniques
Agile db testing_techniques
 
Lessons Learned Running The Largest OpenStack Clouds
Lessons Learned Running The Largest OpenStack CloudsLessons Learned Running The Largest OpenStack Clouds
Lessons Learned Running The Largest OpenStack Clouds
 
Immutable infrastructure isn’t the answer
Immutable infrastructure isn’t the answerImmutable infrastructure isn’t the answer
Immutable infrastructure isn’t the answer
 
Midwest PHP - Scaling Magento
Midwest PHP - Scaling MagentoMidwest PHP - Scaling Magento
Midwest PHP - Scaling Magento
 
Whirlpools in the Stream with Jayesh Lalwani
 Whirlpools in the Stream with Jayesh Lalwani Whirlpools in the Stream with Jayesh Lalwani
Whirlpools in the Stream with Jayesh Lalwani
 
Performance of Microservice Frameworks on different JVMs
Performance of Microservice Frameworks on different JVMsPerformance of Microservice Frameworks on different JVMs
Performance of Microservice Frameworks on different JVMs
 
Deploying and managing Solr at scale
Deploying and managing Solr at scaleDeploying and managing Solr at scale
Deploying and managing Solr at scale
 
Integration-Monday-Terraform-Serverless
Integration-Monday-Terraform-ServerlessIntegration-Monday-Terraform-Serverless
Integration-Monday-Terraform-Serverless
 
Deployment and Configuration 3.7
Deployment and Configuration 3.7Deployment and Configuration 3.7
Deployment and Configuration 3.7
 
Vagrant for Effective DevOps Culture
Vagrant for Effective DevOps CultureVagrant for Effective DevOps Culture
Vagrant for Effective DevOps Culture
 
Connections Migration soccnx12
Connections Migration soccnx12Connections Migration soccnx12
Connections Migration soccnx12
 

Kürzlich hochgeladen

What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 

Kürzlich hochgeladen (20)

What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 

Wrapper formulas saltconf 2016

  • 1. Wrapper Formulas Put Your Formulas in a Formula So You Can Orchestrate Your Orchestration!
  • 2. About me • Principal Software Engineer, Virtustream • Previously: – System Administrator – Site Reliability Engineer – Automation Engineer • 4+ years experience with Saltstack
  • 3. Virtustream – Virtustream is a member of the EMC Federation – Providing IaaS, Object Storage, and Managed Services – Mission Critical Enterprise workloads in the Cloud
  • 4. Platform Engineering • Deploy and Manage: – Mesos Platform – Openstack Platform
  • 5. Salt at Virtustream • 15,000+ managed nodes • 25+ sites • Multi-Exabyte Object Storage • VMware • OpenStack • Apache Mesos
  • 7. Beginnings • Deployed SaltStack primarily for remote execution on our object storage platform • Built up some states and pillar data • Kept the state and pillar trees in a GitHub repository
  • 8. Beginnings • Worked reasonably well for a single project • Difficult to test • Difficult to deploy • Not multi-project friendly: – Poor code reuse – Divergence across projects – Lacks consistent patterns
  • 9. Individual Formulas (what they solve) • Promotes code reuse • Cookiecutter projects make it easy to get everyone using the same patterns. • Debian packaging solves the distribution problem • State and Execution modules bundled • TeamCity runs our tests, builds, and deployments • Version controlled • Peer reviewed • Tests executed on pull request and added to comments • Test individual states • Pillar data stored with project • We’re up to 140+ formulas built this way!
  • 10. Individual Formulas (results) • Our project’s /srv/salt directory is far less populated • /srv/formulas directory is heavily populated
  • 12. Individual Formulas (what they don’t solve) • Poor support for formula interdependency • Reusable pillar data is not exposed • Does not allow testing of pillar data
  • 13. Wrapper Formulas • Captures a single platform or product • Ties individual formulas together
  • 14. Wrapper Formulas • Orchestration and/or states from each formula are included in one orchestration state • This orchestration state orders the installation and executes blocking health checks between steps as necessary
  • 16. Wrapper Formulas • Extends orchestration to enforce order
  • 17. Wrapper Formulas • Formulas bring their own orchestration as needed. • Contains all non-environment pillar data for the platform • Allows testing of the entire platform while still allowing individual formula testing
  • 18. Installs to known location • Orchestration and state data installs into /srv/salt/ext/ • Pillar data installs into /srv/pillar/ext/ • This is done so that we know that the state and pillar data came from a wrapper formula
  • 19. Turn up a whole stack with one command! • Now when we need to turn up a new datacenter or testing environment it’s as easy as: – salt-run state.orchestrate ext.tw.orchestration.bootstrap
  • 20. Mesos Platform • Our flagship wrapper formula • Runs on bare metal in production and staging • Runs on Vagrant and Openstack VMs for development • Chad Heuschober’s talk after this for more details
  • 21. Next steps • Full platform testing via TeamCity • Migration of other projects to this model • Event driven orchestration?