By Rajat Bhargava Posted May 20, 2014
Earlier this past week, I noticed an exchange between AWS’ CTO Werner Vogels and Medium’s CTO Don Neufeld. Werner had asked what else Don would like to see AWS build for them. Don’s top priority? A distributed scheduling system like the open source solution, Chronos. This is a timely subject for us at JumpCloud® because our Directory-as-a-Service® platform allows engineers to easily build complex distributed job scheduling systems. We are specifically referring to our platform’s device management functionality. We understand the importance of task and workflow scheduling to the management of your infrastructure. IT admins have been doing this for years with tools such as scripts and cron.
The History Behind the Hassle – Cron and Distributed Job Scheduling Systems
Unfortunately, none of this is easy. Scripts need to be run on a wide variety of servers and infrastructure. How do you manage the access to those devices? How do you orchestrate all of those tasks together across your infrastructure? One option is to keep writing code to build all of those input and output events. You could also manually track completion and kick off the next stage in your process. Admins usually mix the two and go as far as possible inside scripts before turning to manual execution. One-off solutions, which are difficult to reuse, are the likely result. While it may not be a pretty process, it usually works.
Cron is often found at the core of scheduling. Cron has been around since the ’70s, so it is definitely tried and true. Unfortunately, cron doesn’t have the concept of distributed job execution. Cron is built for executing tasks on one particular server. Also, visibility with cron leaves a lot to be desired. Unless you are willing to write more code around cron, you won’t get results, failures, etc. With more complex infrastructures being built every day, you need that visibility when one piece of the puzzle breaks down. It s easy to see why Dan wants something more useful. While Chronos handles distributed job scheduling, it still requires a lot of work. In order to create any complex tasks, you’ll be writing a fair bit of code and manually piecing some things together. Still, Chronos is a significant step-up over manual scripts or cron.
How JumpCloud Automates Device Management with a Cloud-based Directory
Building task workflows is critical in today’s cloud environments. Companies are building complex infrastructures and then trying to automate the management and execution of tasks on them. JumpCloud is trying to solve this problem with its Identity-as-a-Service platform. As a cloud directory service, we want to solve three core problems: authentication, authorization, and device management. While the focus of this topic is device management, it just as easily could be called server orchestration, job scheduling, or task and workflow automation, among others. In short, it’s the ability to execute a series of tasks on a server or other hardware device.
Automate Workflow with Distributed Job Scheduling Systems
JumpCloud lets you easily build a complex workflow of tasks. Tasks become building blocks which are executable on different groups of servers, laptops, desktops. Whether you call it distributed job scheduling, server orchestration, or something else, JumpCloud’s device management functionality is powerful and can help you easily automate workflow. Best of all, you won’t be writing loads of code. You’ll be able to quickly execute your tasks, saving tremendous time and headache.