Chef, Puppet, and JumpCloud Server Management Tools
Join the DZone community and get the full member experience.Join For Free
We often hear how we compare to Chef and Puppet (and all of the rest of the configuration automation / management solutions). The simple answer on how we compare is that we each do something different. Chef and Puppet programmatically manage your infrastructure. They build your systems and ensure that your configurations are correct and updated.
What is JumpCloud?
JumpCloud is an ops tool that enables you to execute scheduled, ad hoc, or event driven tasks and workflows. Said another way, we automate system admin tasks. It’s easy to read that last statement say “OK that makes sense”, but lets peel the onion back a few layers to illustrate what we mean by that:
- Reacting to events on your network: Taking pre-programmed action as a result of an event that occurs in your environment. Such as your health monitoring tool (Nagios, Zabbix, New Relic, Stack Driver, etc.), a security agent (IDPS, log monitor, etc.). JumpCloud lets you pre-program responses to these events, so that your whole network can respond intelligently to them as they occur, rather than waiting for an update to a recipe or manifest.
- Coordinating tasks across large numbers of servers: A task runs on server A, and only when it’s finished do we want to run the next task on servers B and C. When those finish, let’s wrap everything up by restarting a service on server A. Take that simple example and run it across hundreds or even thousands of servers like some of our customers do.
- Patching: Applying patches on an automatic or ad hoc basis across large numbers of servers. Anyone remember Heartbleed?
- Running commands remotely: Whether your access via RDP or SSH is limited, or you’ve only got your smartphone handy, JumpCloud lets you control your servers on en masse, in short order, without worrying about network boundaries, or traditional access methods.
On the other hand Chef and Puppet handle the “traditional” system admin tasks of configuring a system and ensuring the configurations are always correct. But where is the boundary line and what tasks would JumpCloud be the right tool for?
Modern day system administration
Before we get really tactical with what you can do with each solution, let’s discuss how the overall landscape has evolved – especially with the cloud. Admins today are managing their servers in a four-step lifecycle. They are:
- Provisioning servers – first through API calls and software. Once these servers – often times now virtual or in the cloud – are spun up, they can be a clean OS install, or based on a pre-configured image (such as an AMI or VMDK).
- Automating the installation and configuration of the software.
- Instrumenting these servers with tools to monitor their performance and health.
- Operational management of these servers.
How to use server management tools like Chef and Puppet effectively with JumpCloud
Now, let’s get really granular about the best way to use each group of tools. This isn’t a comprehensive, exhaustive list, but one for us to illustrate the categories or areas where each tool excels.
- Build out your server infrastructure – install and configure your operating system software and application software
- Manage your configuration files – ensure that they are exactly what you want and that changes propagate through and stay consistent
- Update your software build and propagate that to all servers (can include software updates, patches, etc.)
- Push standard, updated images and configurations to all devices
- Distributed, dependent, or complex job and task scheduling
- Dynamic, event triggered job and task scheduling
- Ad hoc system administration tasks across the server infrastructure
- Centralized cron management
- Secure user management without coding / scripting and user self-service infrastructure
- Monitoring of user-based attacks – brute force and malicious command execution
- Write scripts in whatever language you want
The bottom line is that if you are interested in keeping your systems in a consistent state, use the configuration automation tools. If you need to execute complex tasks and jobs or dynamic, event-based actions, use JumpCloud!
Hopefully this helps make sense on where you can leverage JumpCloud alongside of your Chef or Puppet implementation. Please feel free to email us comments, questions, or thoughts!
Published at DZone with permission of Topher Marie, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.
Multi-Stream Joins With SQL
DevOps Pipeline and Its Essential Tools
The Native Way To Configure Path Aliases in Frontend Projects
Write a Smart Contract With ChatGPT, MetaMask, Infura, and Truffle