Saltstack For DevOps
Extremely fast and simple IT automation and configuration managment
Through this book you will learn how to use one of the most powerful DevOps tools.
Foreman is a lifecycle management tool for physical and virtual servers, that has traditionally been Puppet-centric. There are now several plugins for additional configuration management systems, including Salt. This talk will demo provisioning a new minion, applying states, viewing grains, setting pillars and more -- all from within the Foreman UI.
Integration testing for salt states using aws ec2 container serviceSaltStack
A SaltConf16 use case talk by Steven Braverman of Dun & Bradstreet. Testing configuration changes for multiple server roles can be time consuming when real instances or legacy container systems are used. Applying configuration changes to each role in parallel can be difficult. So what's the best way to test configuration changes efficiently, quickly, and securely prior to applying them? See how an integrated test setup using AWS EC2 Container Service (ECS), AWS AutoScaling Group, and SaltStack simplifies the application of configuration changes and allows you to test configuration changes in parallel to reduce the time spent testing.
An introductory talk to Foreman, with an overview of how Foreman's plugin ecosystem can help you manage your data center. We'll talk about Discovery, Katello, Docker, and additional configuration management platforms beyond Puppet.
Si è svolta a Roma, presso l’Auditorium del MAXXI, la presentazione di “Citymorphosis. Politiche culturali per città che cambiano”, nono Rapporto Civita su politiche culturali, sviluppo urbano e opportunità di crescita. Coordinati dal giornalista Antonello Piroso, gli interventi si sono susseguiti come da programma; dopo un indirizzo di saluto in cui l’Arch. Pio Baldi Baldi, Presidente della Fondazione MAXXI, ha ricordato la forte attinenza fra i temi affrontati nel volume e l’esperienza del MAXXI, dalla sua genesi agli effetti che la sua presenza fa registrare sul territorio, il Vice Presidente dell’Associazione Civita Bernabò Bocca ha evidenziato, dati alla mano, il ritardo rispetto al posizionamento internazionale delle città italiane, ma anche le grandi opportunità che risiedono nella cultura e in politiche che la sostengano e la valorizzino.
Presentazione IX Rapporto Civita:
CITYMORPHOSIS Politiche culturali per città che cambiano
Venerdì 24 febbraio 2012, ore 10.00
Roma, Auditorium MAXXI – Museo nazionale delle arti del XXI secolo
via Guido Reni 4/A, Roma
Foreman is a lifecycle management tool for physical and virtual servers, that has traditionally been Puppet-centric. There are now several plugins for additional configuration management systems, including Salt. This talk will demo provisioning a new minion, applying states, viewing grains, setting pillars and more -- all from within the Foreman UI.
Integration testing for salt states using aws ec2 container serviceSaltStack
A SaltConf16 use case talk by Steven Braverman of Dun & Bradstreet. Testing configuration changes for multiple server roles can be time consuming when real instances or legacy container systems are used. Applying configuration changes to each role in parallel can be difficult. So what's the best way to test configuration changes efficiently, quickly, and securely prior to applying them? See how an integrated test setup using AWS EC2 Container Service (ECS), AWS AutoScaling Group, and SaltStack simplifies the application of configuration changes and allows you to test configuration changes in parallel to reduce the time spent testing.
An introductory talk to Foreman, with an overview of how Foreman's plugin ecosystem can help you manage your data center. We'll talk about Discovery, Katello, Docker, and additional configuration management platforms beyond Puppet.
Si è svolta a Roma, presso l’Auditorium del MAXXI, la presentazione di “Citymorphosis. Politiche culturali per città che cambiano”, nono Rapporto Civita su politiche culturali, sviluppo urbano e opportunità di crescita. Coordinati dal giornalista Antonello Piroso, gli interventi si sono susseguiti come da programma; dopo un indirizzo di saluto in cui l’Arch. Pio Baldi Baldi, Presidente della Fondazione MAXXI, ha ricordato la forte attinenza fra i temi affrontati nel volume e l’esperienza del MAXXI, dalla sua genesi agli effetti che la sua presenza fa registrare sul territorio, il Vice Presidente dell’Associazione Civita Bernabò Bocca ha evidenziato, dati alla mano, il ritardo rispetto al posizionamento internazionale delle città italiane, ma anche le grandi opportunità che risiedono nella cultura e in politiche che la sostengano e la valorizzino.
Presentazione IX Rapporto Civita:
CITYMORPHOSIS Politiche culturali per città che cambiano
Venerdì 24 febbraio 2012, ore 10.00
Roma, Auditorium MAXXI – Museo nazionale delle arti del XXI secolo
via Guido Reni 4/A, Roma
Understanding salt modular sub-systems and customizationjasondenning
Overview of the modular sub-systems in SaltStack, and basics for writing custom execution modules and state modules for Salt. Presented to the Portland SaltStack Users Group (http://www.meetup.com/Portland-SaltStack-Users-Group/) by me (Jason Denning) on 04/21/2015.
Second and last episode of my SaltStack series for Programmers in Padua.
This one focuses on the configuration management features of SaltStack and ends with a demo of a full solution for installing Sentry. There will be a video recording soon.
Repo for the salt states: https://github.com/unicolet/salt-sentry
Using SaltStack to orchestrate microservices in application containers at Sal...Love Nyberg
More and more applications are being built or re-built with a micro-service architecture. Application containers are great working blocks to quickly and easily get a micro-service system up and running. Saltstack is then a perfect match to scale such a system. This talk will dive into how Saltstack can be used to scale a micro-service system like Docker.
Orchestrate Event-Driven Infrastructure with SaltStackLove Nyberg
Saltstack is by it's design a event driven configuration management tool. In talk will do a deep dive into salt reactor, runners and beacon systems. Talk will also cover a demo of event driven application releases process.
"Peeling Design Patterns: For Beginners and Interviews" by Narasimha Karumanchi and Prof. Sreenivasa Rao Meda is a book that presents design patterns in simple and straightforward manner with a clear-cut explanation. This book will provide an introduction to the basics and covers many real-time design interview questions. It comes handy as an interview and exam guide for computer scientists.
Salient Features of Book:
Readers without any background in software design will be able to understand it easily and completely.
Presents the concepts of design patterns in simple and straightforward manner with a clear-cut explanation.
After reading the book, readers will be in a position to come up with better designs than before and participate in design discussions which happen in their daily office work.
The book provides enough real-time examples so that readers get better understanding of the design patterns and also useful for the interviews. We mean, the book should cover design interview questions.
Table of Contents:
Introduction
UML Basics
Design Patterns Introduction
Creational Patterns
Structural Patterns
Behavioral Patterns
Glossary and Tips
Design Interview Questions
Miscellaneous Concepts
On Selecting JavaScript Frameworks (Women Who Code 10/15)Zoe Landon
For front-end developers, there's a never-ending stream of new things to learn. New frameworks, with new philosophies, seem to be released on a daily basis. How, then, do you pick which one to use? The answer, as it happens, has nothing to do at all with JavaScript.
Understanding salt modular sub-systems and customizationjasondenning
Overview of the modular sub-systems in SaltStack, and basics for writing custom execution modules and state modules for Salt. Presented to the Portland SaltStack Users Group (http://www.meetup.com/Portland-SaltStack-Users-Group/) by me (Jason Denning) on 04/21/2015.
Second and last episode of my SaltStack series for Programmers in Padua.
This one focuses on the configuration management features of SaltStack and ends with a demo of a full solution for installing Sentry. There will be a video recording soon.
Repo for the salt states: https://github.com/unicolet/salt-sentry
Using SaltStack to orchestrate microservices in application containers at Sal...Love Nyberg
More and more applications are being built or re-built with a micro-service architecture. Application containers are great working blocks to quickly and easily get a micro-service system up and running. Saltstack is then a perfect match to scale such a system. This talk will dive into how Saltstack can be used to scale a micro-service system like Docker.
Orchestrate Event-Driven Infrastructure with SaltStackLove Nyberg
Saltstack is by it's design a event driven configuration management tool. In talk will do a deep dive into salt reactor, runners and beacon systems. Talk will also cover a demo of event driven application releases process.
"Peeling Design Patterns: For Beginners and Interviews" by Narasimha Karumanchi and Prof. Sreenivasa Rao Meda is a book that presents design patterns in simple and straightforward manner with a clear-cut explanation. This book will provide an introduction to the basics and covers many real-time design interview questions. It comes handy as an interview and exam guide for computer scientists.
Salient Features of Book:
Readers without any background in software design will be able to understand it easily and completely.
Presents the concepts of design patterns in simple and straightforward manner with a clear-cut explanation.
After reading the book, readers will be in a position to come up with better designs than before and participate in design discussions which happen in their daily office work.
The book provides enough real-time examples so that readers get better understanding of the design patterns and also useful for the interviews. We mean, the book should cover design interview questions.
Table of Contents:
Introduction
UML Basics
Design Patterns Introduction
Creational Patterns
Structural Patterns
Behavioral Patterns
Glossary and Tips
Design Interview Questions
Miscellaneous Concepts
On Selecting JavaScript Frameworks (Women Who Code 10/15)Zoe Landon
For front-end developers, there's a never-ending stream of new things to learn. New frameworks, with new philosophies, seem to be released on a daily basis. How, then, do you pick which one to use? The answer, as it happens, has nothing to do at all with JavaScript.
Wait A Moment? How High Workload Kills Efficiency! - Roman PicklPROIDEA
Join me in this talk about why high workload leads to increasing waiting times and is detrimental to your project’s efficiency. We will not only talk about queueing theory and capacity management, but also about strategies to cope with high utilization and how to start a virtuous circle.
Mark Mzyk
Engineering Manager with Chef
Find more by Mark Mzyk: https://speakerdeck.com/mmzyk
All Things Open
October 26-27, 2016
Raleigh, North Carolina
Speed Writing Guide - How To Increase Speed WritingIlya Bilbao
Table of Contents
Table of Contents ...................................... 3
Introduction................................................ 5
Research .................................................. 6
Outlining ................................................... 7
Typing Speed ........................................... 8
Practice Often .......................................... 8
Dictation ................................................... 9
Eliminate Distractions............................... 11
In-Home Distractions ............................... 11
Software ................................................... 12
Writer’s Block ........................................... 13
Free Writing .............................................. 13
Switching Subjects ................................... 14
Conclusion................................................. 15
Resources ................................................. 16
You may ask this:
1 how can i increase my writing speed
2 how can i speed up my writing
3 how can we increase writing speed
4 how do i increase my writing speed
5 how do i speed up my writing
6 how to do speed writing
7 how to hold pen for speed writing
8 how to improve speed writing
9 how to increase speed writing
10 how to learn speed writing
11 how to learn speed writing free
12 how to make speed writing
13 how to practice speed writing
14 how to speed writing
15 how to speed writing free
16 how to teach speed writing
17 how to write speed writing
18 how we can improve your writing speed
19 how we can increase your writing speed
20 what does speed writing mean
21 what is a good writing speed
22 what is meant by speed writing
23 what is shorthand speed writing
24 what is speed writing
25 what is speed writing in abacus
26 what is speed writing wpm
27 what is the average writing speed
28 what is the best writing speed for a dvd
29 what is the difference between shorthand and speed writing
30 what to do to increase writing speed
31 what writing speed should i use
32 which writing speed for dvd
33 which writing speed is the best
The Roadmap to Becoming a DevOps ProfessionalAymen EL Amri
Even if there is one common definition for "DevOps", it should be re-defined every few months since DevOps ecosystem is changing fast.
I am trying through this presentation to give my opinion about the DevOps engineer position, DevOps teams & a standardization framework for the DevOps success.
Experience our free, in-depth three-part Tendenci Platform Corporate Membership Management workshop series! In Session 1 on May 14th, 2024, we began with an Introduction and Setup, mastering the configuration of your Corporate Membership Module settings to establish membership types, applications, and more. Then, on May 16th, 2024, in Session 2, we focused on binding individual members to a Corporate Membership and Corporate Reps, teaching you how to add individual members and assign Corporate Representatives to manage dues, renewals, and associated members. Finally, on May 28th, 2024, in Session 3, we covered questions and concerns, addressing any queries or issues you may have.
For more Tendenci AMS events, check out www.tendenci.com/events
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns
Unlocking Business Potential: Tailored Technology Solutions by Prosigns
Discover how Prosigns, a leading technology solutions provider, partners with businesses to drive innovation and success. Our presentation showcases our comprehensive range of services, including custom software development, web and mobile app development, AI & ML solutions, blockchain integration, DevOps services, and Microsoft Dynamics 365 support.
Custom Software Development: Prosigns specializes in creating bespoke software solutions that cater to your unique business needs. Our team of experts works closely with you to understand your requirements and deliver tailor-made software that enhances efficiency and drives growth.
Web and Mobile App Development: From responsive websites to intuitive mobile applications, Prosigns develops cutting-edge solutions that engage users and deliver seamless experiences across devices.
AI & ML Solutions: Harnessing the power of Artificial Intelligence and Machine Learning, Prosigns provides smart solutions that automate processes, provide valuable insights, and drive informed decision-making.
Blockchain Integration: Prosigns offers comprehensive blockchain solutions, including development, integration, and consulting services, enabling businesses to leverage blockchain technology for enhanced security, transparency, and efficiency.
DevOps Services: Prosigns' DevOps services streamline development and operations processes, ensuring faster and more reliable software delivery through automation and continuous integration.
Microsoft Dynamics 365 Support: Prosigns provides comprehensive support and maintenance services for Microsoft Dynamics 365, ensuring your system is always up-to-date, secure, and running smoothly.
Learn how our collaborative approach and dedication to excellence help businesses achieve their goals and stay ahead in today's digital landscape. From concept to deployment, Prosigns is your trusted partner for transforming ideas into reality and unlocking the full potential of your business.
Join us on a journey of innovation and growth. Let's partner for success with Prosigns.
Enhancing Research Orchestration Capabilities at ORNL.pdfGlobus
Cross-facility research orchestration comes with ever-changing constraints regarding the availability and suitability of various compute and data resources. In short, a flexible data and processing fabric is needed to enable the dynamic redirection of data and compute tasks throughout the lifecycle of an experiment. In this talk, we illustrate how we easily leveraged Globus services to instrument the ACE research testbed at the Oak Ridge Leadership Computing Facility with flexible data and task orchestration capabilities.
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Globus
The Earth System Grid Federation (ESGF) is a global network of data servers that archives and distributes the planet’s largest collection of Earth system model output for thousands of climate and environmental scientists worldwide. Many of these petabyte-scale data archives are located in proximity to large high-performance computing (HPC) or cloud computing resources, but the primary workflow for data users consists of transferring data, and applying computations on a different system. As a part of the ESGF 2.0 US project (funded by the United States Department of Energy Office of Science), we developed pre-defined data workflows, which can be run on-demand, capable of applying many data reduction and data analysis to the large ESGF data archives, transferring only the resultant analysis (ex. visualizations, smaller data files). In this talk, we will showcase a few of these workflows, highlighting how Globus Flows can be used for petabyte-scale climate analysis.
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Globus
The U.S. Geological Survey (USGS) has made substantial investments in meeting evolving scientific, technical, and policy driven demands on storing, managing, and delivering data. As these demands continue to grow in complexity and scale, the USGS must continue to explore innovative solutions to improve its management, curation, sharing, delivering, and preservation approaches for large-scale research data. Supporting these needs, the USGS has partnered with the University of Chicago-Globus to research and develop advanced repository components and workflows leveraging its current investment in Globus. The primary outcome of this partnership includes the development of a prototype enterprise repository, driven by USGS Data Release requirements, through exploration and implementation of the entire suite of the Globus platform offerings, including Globus Flow, Globus Auth, Globus Transfer, and Globus Search. This presentation will provide insights into this research partnership, introduce the unique requirements and challenges being addressed and provide relevant project progress.
Quarkus Hidden and Forbidden ExtensionsMax Andersen
Quarkus has a vast extension ecosystem and is known for its subsonic and subatomic feature set. Some of these features are not as well known, and some extensions are less talked about, but that does not make them less interesting - quite the opposite.
Come join this talk to see some tips and tricks for using Quarkus and some of the lesser known features, extensions and development techniques.
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfJay Das
With the advent of artificial intelligence or AI tools, project management processes are undergoing a transformative shift. By using tools like ChatGPT, and Bard organizations can empower their leaders and managers to plan, execute, and monitor projects more effectively.
We describe the deployment and use of Globus Compute for remote computation. This content is aimed at researchers who wish to compute on remote resources using a unified programming interface, as well as system administrators who will deploy and operate Globus Compute services on their research computing infrastructure.
Understanding Globus Data Transfers with NetSageGlobus
NetSage is an open privacy-aware network measurement, analysis, and visualization service designed to help end-users visualize and reason about large data transfers. NetSage traditionally has used a combination of passive measurements, including SNMP and flow data, as well as active measurements, mainly perfSONAR, to provide longitudinal network performance data visualization. It has been deployed by dozens of networks world wide, and is supported domestically by the Engagement and Performance Operations Center (EPOC), NSF #2328479. We have recently expanded the NetSage data sources to include logs for Globus data transfers, following the same privacy-preserving approach as for Flow data. Using the logs for the Texas Advanced Computing Center (TACC) as an example, this talk will walk through several different example use cases that NetSage can answer, including: Who is using Globus to share data with my institution, and what kind of performance are they able to achieve? How many transfers has Globus supported for us? Which sites are we sharing the most data with, and how is that changing over time? How is my site using Globus to move data internally, and what kind of performance do we see for those transfers? What percentage of data transfers at my institution used Globus, and how did the overall data transfer performance compare to the Globus users?
First Steps with Globus Compute Multi-User EndpointsGlobus
In this presentation we will share our experiences around getting started with the Globus Compute multi-user endpoint. Working with the Pharmacology group at the University of Auckland, we have previously written an application using Globus Compute that can offload computationally expensive steps in the researcher's workflows, which they wish to manage from their familiar Windows environments, onto the NeSI (New Zealand eScience Infrastructure) cluster. Some of the challenges we have encountered were that each researcher had to set up and manage their own single-user globus compute endpoint and that the workloads had varying resource requirements (CPUs, memory and wall time) between different runs. We hope that the multi-user endpoint will help to address these challenges and share an update on our progress here.
How Recreation Management Software Can Streamline Your Operations.pptxwottaspaceseo
Recreation management software streamlines operations by automating key tasks such as scheduling, registration, and payment processing, reducing manual workload and errors. It provides centralized management of facilities, classes, and events, ensuring efficient resource allocation and facility usage. The software offers user-friendly online portals for easy access to bookings and program information, enhancing customer experience. Real-time reporting and data analytics deliver insights into attendance and preferences, aiding in strategic decision-making. Additionally, effective communication tools keep participants and staff informed with timely updates. Overall, recreation management software enhances efficiency, improves service delivery, and boosts customer satisfaction.
Developing Distributed High-performance Computing Capabilities of an Open Sci...Globus
COVID-19 had an unprecedented impact on scientific collaboration. The pandemic and its broad response from the scientific community has forged new relationships among public health practitioners, mathematical modelers, and scientific computing specialists, while revealing critical gaps in exploiting advanced computing systems to support urgent decision making. Informed by our team’s work in applying high-performance computing in support of public health decision makers during the COVID-19 pandemic, we present how Globus technologies are enabling the development of an open science platform for robust epidemic analysis, with the goal of collaborative, secure, distributed, on-demand, and fast time-to-solution analyses to support public health.
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...informapgpstrackings
Keep tabs on your field staff effortlessly with Informap Technology Centre LLC. Real-time tracking, task assignment, and smart features for efficient management. Request a live demo today!
For more details, visit us : https://informapuae.com/field-staff-tracking/
Into the Box Keynote Day 2: Unveiling amazing updates and announcements for modern CFML developers! Get ready for exciting releases and updates on Ortus tools and products. Stay tuned for cutting-edge innovations designed to boost your productivity.
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Globus
Large Language Models (LLMs) are currently the center of attention in the tech world, particularly for their potential to advance research. In this presentation, we'll explore a straightforward and effective method for quickly initiating inference runs on supercomputers using the vLLM tool with Globus Compute, specifically on the Polaris system at ALCF. We'll begin by briefly discussing the popularity and applications of LLMs in various fields. Following this, we will introduce the vLLM tool, and explain how it integrates with Globus Compute to efficiently manage LLM operations on Polaris. Attendees will learn the practical aspects of setting up and remotely triggering LLMs from local machines, focusing on ease of use and efficiency. This talk is ideal for researchers and practitioners looking to leverage the power of LLMs in their work, offering a clear guide to harnessing supercomputing resources for quick and effective LLM inference.
In software engineering, the right architecture is essential for robust, scalable platforms. Wix has undergone a pivotal shift from event sourcing to a CRUD-based model for its microservices. This talk will chart the course of this pivotal journey.
Event sourcing, which records state changes as immutable events, provided robust auditing and "time travel" debugging for Wix Stores' microservices. Despite its benefits, the complexity it introduced in state management slowed development. Wix responded by adopting a simpler, unified CRUD model. This talk will explore the challenges of event sourcing and the advantages of Wix's new "CRUD on steroids" approach, which streamlines API integration and domain event management while preserving data integrity and system resilience.
Participants will gain valuable insights into Wix's strategies for ensuring atomicity in database updates and event production, as well as caching, materialization, and performance optimization techniques within a distributed system.
Join us to discover how Wix has mastered the art of balancing simplicity and extensibility, and learn how the re-adoption of the modest CRUD has turbocharged their development velocity, resilience, and scalability in a high-growth environment.
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisGlobus
JASMIN is the UK’s high-performance data analysis platform for environmental science, operated by STFC on behalf of the UK Natural Environment Research Council (NERC). In addition to its role in hosting the CEDA Archive (NERC’s long-term repository for climate, atmospheric science & Earth observation data in the UK), JASMIN provides a collaborative platform to a community of around 2,000 scientists in the UK and beyond, providing nearly 400 environmental science projects with working space, compute resources and tools to facilitate their work. High-performance data transfer into and out of JASMIN has always been a key feature, with many scientists bringing model outputs from supercomputers elsewhere in the UK, to analyse against observational or other model data in the CEDA Archive. A growing number of JASMIN users are now realising the benefits of using the Globus service to provide reliable and efficient data movement and other tasks in this and other contexts. Further use cases involve long-distance (intercontinental) transfers to and from JASMIN, and collecting results from a mobile atmospheric radar system, pushing data to JASMIN via a lightweight Globus deployment. We provide details of how Globus fits into our current infrastructure, our experience of the recent migration to GCSv5.4, and of our interest in developing use of the wider ecosystem of Globus services for the benefit of our user community.
Globus Connect Server Deep Dive - GlobusWorld 2024Globus
We explore the Globus Connect Server (GCS) architecture and experiment with advanced configuration options and use cases. This content is targeted at system administrators who are familiar with GCS and currently operate—or are planning to operate—broader deployments at their institution.
3. Tweet This Book!
Please help Aymen El Amri - @eon01 by spreading the word about this book on Twitter!
The suggested tweet for this book is:
I just bought SaltStack For DevOps book. Check it out : https://leanpub.com/saltstackfordevops
The suggested hashtag for this book is ##Salt4DevOps.
Find out what other people are saying about the book by clicking on this link to search for this
hashtag on Twitter:
https://twitter.com/search?q=##Salt4DevOps
5. Preface
1 o ^__^
2 o (oo)_______
3 (__) )/
4 ||----w |
5 || ||
Every Book Has A Story, This Story Has A Book
I wanted to quickly resign from that job, my suggestions about setting up a continuous delivery/de-
ployment have not been considered! I’m lazy and there are hundreds of configuration files and
thousands of variables to copy from an excel file and to reconfigure in some platforms, a huge
number of poorly-configured servers; hundreds of servers to manage. . I wanted to work on the
automation of procedures, I was aware that this is the solution, that was not the priority of the
customer.
It was a position within a team of ten people working on the integration of a number of heavy
applications. At the beginning, I was obliged to follow my colleagues and my boss in the methods
of work they have adopted which have one goal : satisfy the unceasing demands of the customer.
No, but .. wait, this is not good at all!
I spent almost two weeks searching and working on some solutions before I convinced my boss to
give me the time to set up what I am working on, so that it can ease the heavy load, accelerate
daily procedures and reduce human errors. Among other procedures I have set up, I found Saltstack
the perfect solution that meets the expectations of integration process, or rather, the continious
integration, deployments and tests.
I hesitated between several alternatives: puppet, CFEngine, Ansible .. etc. The choice was made based
on several criteria and I have never regretted.
In the beginning I wanted to resign from my job, just few days after of the discovery of Salt, I was
in love with my job, with what I was doing and with Saltstack.
Well, I tried SaltStack first time when I saw my team taking more than 3 days to configure hosted
platforms at each deployment. After using SaltStack, the same procedure was taking less than 1/2
hour.
Through this book, it’s your turn to discover Saltstack, I am your guide.
I wish you a pleasant reading.
6. Preface 2
To whom is this book addressed ?
To developers, system administrators and anyone faced to work in one of these environments in
collaboration with the other or simply in an environment that requires knowledge in development
and system administration.
The most common idea, is that developers think they are here to serve the machines by writing
code and applications, systems administrators think that machines should works for them, simply
by making them happy.
Moreover, within the same company there is generally some tension between the two teams:
System administrators accuse developers to write code that consumes memory, does not meet system
security standards or not adapted to the configuration of available machines.
Developers accuse system administrators to be lazy, to lack innovation and to be seriously uncool!
No more mutual accusations, now with the evolution of software development, infrastructure and
methodologies adopted (such as Agile / Scrum), the concept of Devops was born.
The DevOps is a concept and a job that seeks closer collaboration and a combination of different
roles involved in software development such as the role of developer, responsible for operations and
responsible of quality assurance. The software must be produced at a frenetic pace while at the same
time the developing in cascade seems to have reached its limits.
If you are a fan of this concept, if you are a system administrator working on software operations,
if you are a start up developer seeking to join the new movement this book is addressed to you.
Conventions used in this book
Basically, this is a technical book where you will find commands (Saltstack commands) and code
(Python, YAML, Jinja2 ..etc). Commands and code are written in different fonts.
Example :
1 python -c 'import urllib; print urllib.urlopen("https://bootstrap.saltstack.com"
2 ).read()' | sudo sh -s -- git develop
• Some technical words are quoted Some others are using bold or italic font. The goal is to get
your attention when you’re reading and help you identify keywords.
• You will find two icons, I have tried to be as simple as possible so I have chosen not to use too
many symbols, you’ll only find:
To highlight useful and important information.
7. Preface 3
To highlight a warning or to prevent.
How to properly enjoy this book
This book contains technical explanations and shows in each case an example of a command or a
configuration to follow. The only explanation gives you a general idea and the code that follows
gives you convenience and help you to practice what you’re reading. Preferably, you should always
look both parts for a maximum of understanding. Like any new tool or programming language
you learned, it is normal to find difficulties and confusions in the beginning, perhaps even after. If
you’re not used to learn new technologies, you can even have a modest understanding while being
in an advanced stage of this book. Do not worry, everyone has passed at least once by this kind of
situations. At the beginning try to make a diagonal reading while focusing on the basic concepts,
then try the first practical manipulation on your server or just using your laptop and occasionally
come back to this book for further reading on a about a specefic subject or concept. This book is
not an encyclopedia, but sets out the most important parts to learn and even to master Saltstack, if
you find words or concepts that you are not comfortable with, just try take your time and do your
research. Learning can be serial so understanding a topic require the understandding of other topics.
Through this book, you will learn how to install configure and use Saltstack. Just before finishing
the book, you will go through a chapter where a good example of a practical use case is explained.
Through this chapter, try to showcase your acquired undrestanding, and no it will not hurt to go
back to previous chapters if you are unsure or in doubt. Finally, try to be pragmatic and have an
open mind if you encounter a problem. The resolution begins by asking the right questions.
How to contribute to this book ?
This work is in progress. I am an adopter of the lean philosophy, so the book will be continuously
improved in function of many criteria, but the most important one is your feedback. If you have any
suggestions please do not hesitate to contact me, you can find me on Twitter¹ or you can use my
blog contact page².
This book is not perfect, so you can find typo, punctuation errors or missing words, like in every book
but every line of the used code was tested before (I used mainly Redhat and Debian distributions).
About The Author
Aymen El Amri³ is a Linux/web engineer, he worked on development and system administration for
companies and co-founded some projects in connection with the community of free and open source
¹https://twitter.com/eon01
²http://eon01.com/blog/contact-me/
³http://eon01.com
8. Preface 4
software. He is more and more interested in the DevOps philosophy, the lean programming and the
tools/methodologies that comes with since his last experiences in this domain were successful.
9. Chapter 0 - Introduction
1 o ^__^
2 o (@@)_______
3 (__) )/
4 ||----w |
5 || ||
Configuration Management And Data Center
Automation
Configuration management and data center automation are mechanisms to manage the technical
description of a system, its components and all of the changes on the configuration during the life
cycle of a system or during its different processes.
Source code deployments on multiple environments requires a configuration management and
provisioning tool.
From the development, integration, test, deployment, to the production environment, configuration
management becomes a process of normalization of the configuration of the application according
to the state of the infrastructure and other requirements. The same process of normalization should
be ensured when changing the environment, the infrastructure or when the configuration itself
changes.
With the adoption of agile development methods, the process of development, test and deployment
of a software component has accelerated and therefore the methods of management have become
faster, more automated and more adapted to changes.
DevOps Evolution
Even if many specialists consider provisioning, change management and automation as a business
issue, not an IT issue but to make this happen some special technical skills are required. That’s
why new positions in the IT industry have emerged: DevOps. The illustration below (taken from
Wikipedia) shows the essence of the DevOps philosophy.
10. Chapter 0 - Introduction 6
DevOps as the intersection of development (software engineering), technology operations and quality assurance
(QA)
Automation is important to the success of critical IT processes that are part of the life cycle
of a product, including provision, change management, release management, patch management,
compliance and security. Therefore having the technical skills and the know-how are very important
to any “lazy but pragmatic sysadmin”. This book will help you to learn using one of the most
important IT automation configuration management and infrastructure automation/orchestration
tool: SaltStack.
DevOps Tool
Currently, several FOSS and proprietary automation and configuration management tools exists.
Choosing one of these tools could based on several criteria.
Choice Criteria
Performance : Between the memory consumption, the speed of execution and the adaptation to
increasingly complexes architectures, several performance criteria could help you decide on the
performance of a such tool.
License : You may choose between FOSS and proprietary software. Most of the existing softwares
are Open Source. It remains to be seen what FOSS license you should choose: GPL, BSD, Apache,
MIT..etc
Programming Language : A such tool is coded using a programming language, but it does not mean
that the a DevOps will manage and automate ops and servers using the same language. For example,
11. Chapter 0 - Introduction 7
SaltStack uses Jinja and YAML ..etc Most of those tools are written in Python, Ruby or Java, but one
can also find perl, C and C ++.
Authentication Methods : A configuration management or a data center automation tool is based
on a model, roughly consisting of clients and a server. The authentication between a client and a
server can be automatic, encrypted, secure, fast .. or not.
Agents : Some tools use agents that must be installed on the target servers (clients), some tools work
without agents and others offer both choices.
Scalability : A tool that grows and evolves with the enterprise must provide technical means and
capabilities to ensure scalability at several features and extended functional scopes.
Portability : Most if not all configuration management tools are compatible with *nix systems. Some
servers runs on BSD, AIX, HP-UX, Mac OS X, Solaris, Windows and other OSs. In this case you must
see this point: the compatibility.
Thanks to Wikipedia⁴ and its contributor for the next comparison concerning the portability of the
following tools.
AIX BSD HP-
UX
Linux Mac
OS X
Solaris WindowsOthers
Ansible Yes Yes Yes Yes Yes Yes Yes Yes
Bcfg Partial Yes No Yes Partial Yes No No
CFEngineYes Yes Yes Yes Yes Yes Yes Yes
cdist Yes Yes Yes No
Chef Yes Yes Yes Yes Yes Yes Yes Yes
ISconf Yes Yes Yes Yes Yes Yes No No
Juju Yes
LCFG No No No Partial Partial Partial No No
OCS
Inven-
tory
NG
Yes Yes Yes Yes Yes Yes Yes No
Opsi No No No Yes No No Yes No
PIKT Yes Yes Yes Yes Yes Yes No Yes
Puppet Yes Yes Yes Yes Partial Yes Yes Yes
Quattor No No No Yes Partial Yes No No
Radmind Yes Yes No Yes Yes Yes Yes No
Rex Yes Yes Yes Yes Yes No
Rudder Yes Partial No Yes Partial Partial Yes Yes
Rundeck Yes Yes Yes Yes Yes Yes Yes No
SmartFrogNo No Yes Yes Yes Yes Yes No
Salt Yes Yes Partial Yes Yes Yes Yes Partial
SpacewalkNo No No Yes No Yes No No
STAF Yes Yes Yes Yes Yes Yes Yes Yes
⁴http://en.wikipedia.org/wiki/Comparison_of_open-source_configuration_management_software
12. Chapter 0 - Introduction 8
AIX BSD HP-
UX
Linux Mac
OS X
Solaris WindowsOthers
Synctool Yes Yes Yes Yes Yes Yes Yes Yes
Vagrant Yes Yes Yes
Documentation, Support and Latest Stable Release: Keep in mind that the quantity and the quality
of official documentations, forums, groups, and paid support differs from a tool to another. A good
thing to do is to see the date of the latest stable release, some tools are just no more updated which
can cause security risks.
Popular tools
Among the best and the most popular tools we find : Ansible, CFEngine, Puppet, Saltstack.
Among the best and the most popular tools we find : Ansible, CFEngine, Puppet, Saltstack.
Ansible : Combines multi-node deployment and ad-hoc task execution. Manages the nodes with
SSH and requires Python (2.4 or later). Uses JSON and YAML modules and state as descriptions. It
is built on python but its modules can be written in any language. Ansible⁵ is one of the most used
softwares. It is used by Spotify, Twitter, NASA and evernote.
Puppet : Puppet⁶ is based on a custom declarative language to describe the system configuration,
⁵http://www.ansible.com/home
⁶http://puppetlabs.com/
13. Chapter 0 - Introduction 9
uses the distributed client-server paradigm, and a library for configuration tasks. Puppet requires
the installation of a master server and client agents on every system that is to be managed. It is used
by Vmware, Cisco, Paypal and SalesForce.
Saltstack : Salt⁷ is what the next chapter of this book will details.
⁷http://saltstack.com/
14. Chapter I - A Taste Of Salt
1 o ^__^
2 o (==)_______
3 (__) )/
4 ||----w |
5 || ||
Presentation
SaltStack is an Open Source project, you can read and modify its source code under the Apache
license.
Its source code is available on github⁸.
SALSTACK Inc. is the company behind SaltStack, it was founded by Thomas Hatch, the original
creator of SaltStack. SaltStack is used by Apple inc, Rackspace, Photobucket, NASA, LinkedIn, Hulu,
HP Cloud Services, Cloud Flare and other know companies.
SaltStack Logo
SaltStack fundamentally improves the way system administrators, integrators and DevOps use to
configure and manage all aspects of a modern data center infrastructure.
It provides a different approach to some existing alternatives such as speed and adaptation to the
size of the cloud. Several recognized businesses use SaltStack to orchestrate and control their cloud
servers and infrastructure and automate the “DevOps Toolchain”.
⁸http://girhub.com/salstack/salt
15. Chapter I - A Taste Of Salt 11
It is built on a platform running relatively fast while allowing remote control of distributed infras-
tructures, code and data. A layer of security is established while having two-way communications
between the different components of this platform.
The following chapters are conceived for new and experienced system administrators, DevOps and
full stack developers seeking to manage and configure multiple servers / application and software
platforms more easily.
The infrastructure to manage can be virtual machines, cloud (Amazon EC2 instances, Rackspace
..etc) or physical machines as well hosted applications and platforms that rely on configuration files.
All you need is a root access, a good understanding of the environment to manage and the basic
know-how for a sysadmin.
Even if it is possible to use a web access to manage SaltStack but the use of the command line
is always more adapted to our needs for several reasons such as speed and efficiency. If you are
familiar with the command line and programming, understanding Salt commands and its syntax
will be easier but this is not a requirement to start using SaltStack.
Salt is portable and works with these systems:
• Amazon Linux 2012.09
• Arch, CentOS 5/6
• Debian 6.x/7.x/8(git installations only)
• Fedora 17/18
• FreeBSD 9.1/9.2/10
• Gentoo
• Linaro
• Linux Mint 13/14
• OpenSUSE 12.x
• Oracle Linux 5/5
• Red Hat 5/6
• Red Hat Enterprise 5/6
• Scientific Linux 5/6
• SmartOS
• SuSE 11 SP1/11 SP2
• Ubuntu 10.x/11.x/12.x/13.04/13.10
• Elementary OS 0.2
According to the official website of Salt, other systems and distributions will be compatible in the
future. If you want to stay informed just follow the development branch.
In the following sections, the installation and the use of SaltStack will be in the context of Linux
server management. This could have some small differences for Windows, FreeBSD or Solaris..Etc.
Overall, principles are the same.
16. Chapter I - A Taste Of Salt 12
You can use Salt installed on an operating system to manage other systems (A Linux to manage a
Solaris or a BSD to manage a Windows … etc.). The installation part of this book will cover Redhat
and Debian. Be sure to check the documentation (docs.saltstack.com) for the installation and the
specific use with your particular operating system.
A brief summary
SaltStack is based on some special components:
• One or more “salt-master”, “salt-minion” and “salt-syndic”
• A key management system “salt-key” that allows the authentication of a “salt-minion” on a
“salt-master”
• A system of “states” to describe the configurations
• A “top.sls” that calls the “states”
• A system of “grain” on the minion to manage the configurations data
• A system of “pillars” to store other data on the master (such as confidential data)
• A transport and data management system called “ZeroMQ”
• An event management system called “reactors” “returners”, “outputters” ..etc
A master can manage configurations or execute remote commands on one or more minions. This
operations are based on “SLS” files, and these files are calling Salt modules, grains and/or pillars.
Salt could be used either from the command line or in executable scripts.
The various components of SaltStack will be explained in this book, some definitions appeal to
others, that’s why in the first order we need to have a global view on the functioning system of Salt.
Expanding Salt Use
Provisioning and testing tools based on Salt and its GUI will not be part of this documentation, but
they are interesting tools if you want to learn more about SaltStack.
Some of this tools are :
Salty Vagrant
Salty Vagrant is a Vagrant plugin that allows you to use Salt as a provisioning tool. You can use
“formulas” and existing configs for building development environments.
The simplest way to use Salty Vagrant is configuring it to work in “masterless” mode. Details are
explained in the official Vagrant documentation⁹.
⁹https://docs.vagrantup.com/v2/provisioning/salt.html
17. Chapter I - A Taste Of Salt 13
Salt Cloud
Salt Cloud¹⁰ is a public cloud provisioning tool created to integrate Salt to each of the major cloud
infrastructure providers (AWS, Rackspace, Parallels ..etc) in order to facilitate and accelerate the
supply process.
Salt Cloud allows managing a cloud infrastructure based on “maps” and “profiles” of virtual
machines. This means that many virtual machines in the cloud can be managed easier and faster.
Halite
Halite¹¹ is the client-side web interface (Salt GUI). It connects and operates a SaltStack infrastructure.
This tool is a graphical complement, but it is not indispensable for the functioning of Salt. For best
results, Halite works with Hydrogen and higher versions.
Conclusion
The general presentation of Salt is not enough to begin mastering the tool, but it is required if you
are not familiar with the concept of configuration management and data center automation.
¹⁰https://github.com/saltstack/salt-cloud
¹¹https://github.com/saltstack/halite