The Salt platform is an open source Python config management solution for automation and deployment. It’s a somewhat newer open source project comparable to Chef or Ansible.
Salt and the SaltStack are easy to debug if you know how to Google for solutions. But even with Google and the online documentation it can be difficult learning the basics.
In this guide I’ll share the best Salt books for Python developers who want to learn and master this config system. It’s pretty simple to get started but you’ll only master this setup through repetition and practice exercises.
If you’re a complete newbie to Salt config management I’d recommend starting with Salt Essentials. This book is easy to read and while it does get somewhat technical it’s also written in plain English. The authors have extensive working knowledge of Salt and they have a teaching style that vibes well with new users.
When it comes to getting started and picking up all the newest Salt features I have to recommend Learning SaltStack by Colton Myers. This is one of the more recently published books and it starts from the very basics of Salt.
You’ll learn how to install Salt on your server and how to manage your system from the command line. Colton has years of experience as a software engineer and he’s constantly toying with new Python tools. He also has a unique way of writing that can easily connect with inexperienced readers.
While this book starts off light it quickly moves into detailed topics on cloud computing and managing public/private servers with Salt. Colton even talks about self-healing automation tools and techniques for building scalable applications on the Salt platform.
This book is only 200 pages long but it covers everything you could possibly need to know about Salt. The writing style is fantastic and this really feels like a beginner’s book.
It’s also one of the newest books in this list so you’ll get all the latest features along with the traditional SaltStack workflow tips.
What I like most about Salt Essentials is the low barrier to entry. You just need some basic knowledge of Linux and JSON/XML code to work your way through this 170-page introductory guide to Salt.
You’ll learn how to install and deploy Salt for a range of environments including salt-cloud for virtualized servers. The authors cover each step in great detail so you’ll never be lost.
Each chapter covers a new topic like execution modules and grains/pillars which are fundamental topics in the Salt platform.
If you have any prior sysadmin experience you can pick up this book and literally work through Salt in a day. The exercises are clear and simple to follow, especially if you know what you’re looking for.
The writing style is what really sells me on this book. It is certainly not the most detailed or the most advanced intro guide. But it is crystal clear so almost everyone should be able to follow along with relative ease.
Every great framework uses extensions and modules to expand the core functionality. This is also true with Salt and you can learn all the best resources with Extending SaltStack by Joseph Hall.
The book has 240 pages full of techniques for extending Salt and SaltStack with custom modules and server features. Hall teaches with a tutorial-oriented style so you’ll be able to follow along with each new module as it’s introduced.
When first getting started you’ll learn some basics like the grain, pillar, and SDB extensions. You’ll quickly move into unit testing and troubleshooting with SaltStack modules that already exist, plus you’ll learn how to write your own from scratch.
You do not need extensive programming knowledge before reading this book. It’s always helpful if you plan to work with servers or in Devops but you can get by with limited coding skills.
This book really teaches you how to customize existing modules and how to write your own that run on top of other 3rd party systems. By the end of this book you’ll feel comfortable writing your own SaltStack modules which let you customize almost any server config.
I highly recommend this book to anyone familiar with Salt that wants to go deeper with custom options and customized environments.
The merger of development and systems administration gave birth to devops and the field is booming. The DevOps 2.0 Toolkit is the ultimate intro guide to managing an IT environment with production servers and deployment workflows.
This book is not a Salt book. It does not specifically cover Salt, however it does explain the benefit of automation and configuration management tools like Salt. You’ll learn common workflows from a devops perspective to help you see through the eyes of a devops engineer.
Everything you learn in this book can apply to Salt and SaltStack. Devops engineers should think about how they run Salt, how it connects into the stack, and how to automate parts of this system. The DevOps 2.0 Toolkit offers 400+ pages full of workflows and common solutions to push you down this path.
From microservice development to deployment tools like Docker, this is the ultimate book to get you moving with everything DevOps.
If you’re learning Salt to help improve your career or to build your resume then this book is easily worth its weight in gold.
Most server environments run on Linux and these often include free open source tools to go along with it. DevOps Troubleshooting: Linux Server Best Practices teaches the fundamentals of devops for handling major Linux environments.
The author Kyle Rankin is a sr. systems administrator who has written many other Linux books for sysadmins. This one covers troubleshooting and metrics tracking along with scripting for basic automation.
I should note this is also not a Salt book. It does not cover Python or Salt’s configuration management system.
However the author does talk about config management and how it applies to the Linux administration workflow.
I added this book as a follow-up to the DevOps toolkit mentioned previously. Both are fantastic books for aspiring sysadmins and/or devops engineers who want to learn the entire workflow behind a Salt environment.
Once you know how to install Salt and know the basic features you’ll be ready for Mastering SaltStack. This book is currently in its second edition with a new total of 405 pages featuring tips, techniques, and troubleshooting workflows for Salt.
You’ll learn how to properly scale big data infrastructure and how to use automation to make your job easier. The author gets into more complex topics of monitoring performance and managing the many extensions of Salt for cloud computing, clustering, and optimization(among others).
Since each project uses Salt in different environments there are many different techniques you’ll need to learn. Thankfully this book covers everything needed to truly master any Salt environment with 3rd party extensions and powerful automation tools.
As long as you’re somewhat comfortable with the foundations of Salt you can dive right into this book. I think this pairs well with an intro book like Learning SaltStack because they naturally transition from beginner-level concepts into more advanced topics.
If you’re looking for common recipes for distributed servers, remote execution, or other Salt features then you’ll absolutely love this book.
The Salt Cookbook by Anirban Saha comes with 300+ pages full of custom recipes for problem solving and troubleshooting in a SaltStack environment. Each recipe offers a step-by-step approach to solving any type of problem with automation, 3rd party extensions, or even the core features of Salt’s management system.
All code snippets use Ruby and Python for modules and custom extensions. These can tie into other chapters but most of the book is scattered across a variety of different topics. You can easily jump around and find whatever solutions you need without reading any prior chapters.
This cookbook makes a fantastic desk reference if you’re still uncomfortable with Salt in your daily life. The more you toy around the easier it gets and the more confidence you’ll have with Salt configurations.
I do think beginners could find some handy stuff in this book. However it’s really meant for intermediate-to-advanced users who work with Salt regularly.
There are many different config management platforms to choose and Salt is just one more config platform grain in the silo. But Salt is a trusted open source project and Python users will treasure the simplicity and custom extensions that go along with it.
If you’re having trouble with Salt and don’t know where to start I’d recommend Salt Essentials. It’s just under 200 pages long but it covers everything you need to know as a beginner.
From there you could pick up a copy of Mastering SaltStack or even the Salt Cookbook and challenge yourself with more detailed exercises.
But all of the books in this list are great for improving your knowledge of Salt and the sysadmin/devops workflow as a whole.