7 cool tools for doing devops right

Bridge the divide between development and operations with these standout technologies

7 cool tools for doing devops right
Credit: iStockphoto
7 cool tools for doing devops right

Once upon a time, developers and operations were often at each other’s throats. Production code was never updated quickly enough for developers’ liking, and administrators in charge of keeping the servers running smoothly chafed at developers’ hasty insistence on shortcutting processes and piling up serve requests.

Since the advent of devops, however, these battle lines have been falling away, thanks to tools that have arisen to bridge the gap, offering services ranging from configuration management to application portability. Here are several standout tools catching the attention of devops-minded organizations these days.

Atlas
Atlas

HashiCorp’s newly introduced Atlas provides visibility into infrastructure, including servers, containers, and virtual machines, in addition to configuration management and service discovery. Building on the company’s popular open source projects Vagrant, Packer, Serf, Consul, and Terraform, the proprietary closed-source Atlas enables devops across a variety of cloud services, including AWS, Google Compute Engine, Azure, and OpenStack, and provides a dashboard for developing, deploying, and maintaining applications.

Justin Franks, lead operations engineer at Lithium Technologies, is a current Vagrant user who is considering Atlas for the company’s customer engagement platform. Franks, who says Lithium Technologies had input into Atlas, is looking at Atlas for continuous integration and deployment. “There are a lot of tools out there like Jenkins and Travis and Bamboo,” Franks says. “The last mile, the deployment part, they really don’t handle that.”

On-premises installations of Atlas are expected early this year.

Chef
Chef

Chef is a systems and cloud infrastructure framework that automates the building, deploying, and management of infrastructure via short, repeatable scripts called “recipes.” But the real power of Chef may be in its use of pluggable configuration modules (aka cookbooks), nearly 2,000 of which are available via the Chef community. High-profile Chef user Facebook recently open-sourced some of its own Chef cookbooks, including its Taste Tester testing framework and Grocery Delivery, which watches a source code repo, such as Git, and keeps the local Chef server in sync.

The University of Pennsylvania’s Wharton School is a Chef user as well. "Chef automates complex tasks that are otherwise time- and resource-intensive, but more importantly it allows us to focus our efforts on innovating and improving the quality of our services,” says Sanjay Modi, a technical director at the school, in a case study on Chef’s website. “It also opens the door to more collaboration and efficiency across the organization." Chef has been used by Wharton to automate configuration management for Amazon EC2 resources, Linux nodes, and local virtual machines.

Docker
Docker

Docker brings portability to applications via its containerization technology, wherein applications run in self-contained units that can be moved across platforms. It consists of Docker Engine, which is a lightweight runtime and packaging tool, and Docker Hub, a cloud service for application-sharing and workflow automation.

"Docker has been a vital part of Yelp's next-generation testing and service management infrastructure,” says Sam Eaton, engineering director at Yelp, in a case study on the Docker website. “Isolation of dependencies and rapid spin up of containers has allowed us to shorten development cycles and increase testing speed by more than four times.”

Puppet
Puppet

Puppet Enterprise, from Puppet Labs, offers data center orchestration by automating configuration and management of machines and software. Version 3.7, the latest release, features Puppet Apps, purpose-built applications for IT automation, including Node Manager, for managing large numbers of systems that are changed often. An open source version of Puppet is also available.

Stanford University uses the open source version of Puppet “to bridge the gap between the software development that we need to do to create new kinds of digital library services and the systems administration that we need to do to keep those services running in a high-performant, secure way,” says Stanford’s Bess Sadler, in a video testimonial on Puppet’s website. Developers have become more involved in systems administration, while systems admins have deepened their involvement in software development, enabling quicker development of applications, she says.

SaltStack
SaltStack

SaltStack provides systems management for data automation, server provisioning, cloud building, and application configuration. An event-driven cloud infrastructure automation tool, it can automate tasks within the devops workflow. Deseret Digital Media has been using SaltStack for two years to automate its environment, which features approximately 200 virtual machines running a production and staging environment.

SaltStack “makes operations much more approachable for our developers,” says Justin Carmony, director of development at Deseret Digital. The company has three operations people and 30 developers; SaltStack lets them chip in with operations, such as provisioning of new servers. “Traditionally, ops and devs have always been at odds with each other,” Carmony says. SaltStack provides a common way and a common language to manage servers, thereby helping to bridge the gap between the two camps.

ScriptRock GuardRail
ScriptRock GuardRail

GuardRail provides configuration monitoring, with continuous overseeing of machine configuration state. It can help users ensure their production environment is identical to QA, test, and dev environments. VersionOne, maker of an agile project management platform, encountered challenges with configuration drift and automation, so it turned to GuardRail.

“Devs were taking shortcuts to make the automation easier. In order to get builds running on new agents, they were changing what was previously working for other builds. The instability of infrastructure was undermining what is possible with multiple build agents,” says Ian Buchanan, VersionOne product manager, in a case study. “With GuardRail, we can now understand how any build agent is configured so we can reliably scale to as many agents as we want.” VersionOne has gained visibility into configuration drift, can document expectations, and has created human-readable tests, thus saving the equivalent of a full-time tester.

Splunk
Splunk

Splunk is a tool for finding and fixing issues in real time across the application lifecycle, allowing developers to visualize data from production environments without having to access production machines. Splunk helps users embrace devops processes, including continuous integration and deployment.

User EnerNOC, which provides energy intelligence software for electric grid operators and others, has been a Splunk user for about five years. “Splunk fundamentally changed the way we operate our production systems,” says James Nichol, principal engineer at EnerNOC. “It has enabled technical and nontechnical users to gain insights into a very complex system that would otherwise be opaque to them. We’ve had VPs, development managers, and help-desk operators set up dashboards, alerts, and dig into the data -- impossible without Splunk.”