Server Configuration via Salt

As a developer, solving problems is at my core. My newest project was no exception. I inherited a fairly sophisticated AWS infrustructure with a mixture of machines each with its own independent level of services and applications. After budget contraints forced us to part ways with our Sys Ops team, it became my job, as lead developer to maintain and scale this growing infrastructure.

One of the most tedious and time consuming issues with maintaining your own infrastructure beyond troubleshooting when stuff  breaks, is user management, and adding new servers to your expanding stack. This is especially true in a company that’s growing and working with multiple vendors.

So what’s the solution?…Automate!

Enter Salt. Salt is a Python based server automation application that allows a central machine (Salt Master), to talk to manage any machine running the client (Salt Minion) via easy to read scripts (Salt States). Machines can be assigned roles via Salt Grains in the Salt Minion config file (ex web server, MYSQL server, Redis), and software installation, maintenance, and configuration can be targeted based on these grains. Salt also has a plethrea of built in grains that allow you to target servers by things like: OS, hostname, previously installed software, and hardware components like RAM and CPU just to name a few.

Salt, out of the box, has modules for  most major software applications,  and gives you in depth command functionality like the ability to add MYSQL users, add and drop tables, and flush in Redis.

Their documentation is really easy to read, and their Salt States’s GitHub page has a bunch of easy examples to follow.

Published by Markus Robinson

Markus Robinson, an entrepreneur with more than ten years of professional experience in Information Technology, is the owner of Robinson Innovations, a start-up business. He has created custom web applications and mobile apps for businesses, including Radio One and Connxus. Currently, he is the lead for a team of developers and designers at Interactive One’s Innovation who research, develop, deploy and launch new web and mobile products using Lean Agile development techniques. He is a co-founder of Black Web Media (Flagship site Black Web 2.0).

Leave a comment

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.