BACKGROUND IMAGE: iSTOCK/GETTY IMAGES
Modern IT operations tools grease the skids of DevOps evolution by maintaining crucial collaboration between developers and IT ops teams.
Infrastructure as code is a well-established means of bringing application development and operations together, but container management tools, monitoring and logging tools, and ChatOps all increasingly perform similar functions.
Take a newly released open source container management tool from Rancher Labs, for example. It's being used at a New York City agency working to adopt Agile development processes despite a slowly evolving centralized hosted IT infrastructure.
Docker containers are a logical choice to implement microservices, which can more quickly be developed and deployed than traditional application structures. They're also important for developers in this environment because by policy, they don't have root access to the operating system in hosted virtual machines, according to Dan MacDonald, architect and principal technical lead for the agency. But small Linux OS images such as Alpine can be encapsulated within containers, allowing developers to experiment with libraries and other tools without needing to wait for access to the VM's OS.
Meanwhile, Rancher allows for catalog-based deployment of containers by operations people through a graphical user interface that doesn't require an understanding of the finer points of containerization, according to MacDonald.
"The Rancher catalog gives you base functionality, but there are a lot more features that they're planning in the future for more automation [in production]," he said. In the meantime, during the test phase, "a developer will create a new image, it gets added to the Rancher catalog automatically, and when a QA [quality assurance engineer] decides they want to test it, they can just deploy it at will to any of our environments."
Shared monitoring and logging tools boost collaboration
Feedback on a DevOps environment on the back end is as important to its success as automated tools are on the front end, according to a number of industry experts. This dictates that IT operations and developers should be looking at the same monitoring and logging interfaces to quickly identify and solve problems.
In the New York City agency environment, the IT ops staff has transitioned to only managing the servers themselves, and they interface between the app dev team and the hosting facility to get new hosts that they need or storage-area network mounts.
"Once we deploy and get going, they'll also be actively monitoring the application," MacDonald said. "They'll function as a 24/7 support team and if anything gets to a critical severity level, that brings in the developers."
For these purposes, MacDonald's team is looking at new IT operations tools for monitoring and logging, such as Skye Instruments' DataHog, AppDynamics products and an open-source utility called Prometheus. Other commercial products such as Splunk and open-source utilities such as Elasticsearch can be useful for shared monitoring and logging among DevOps professionals.
Just as operators need to become more like developers, as infrastructure as code moves closer to reality, developers need to better understand the environments they are deploying on and the operations side of the house.
"Developers need to be looking at monitoring, looking at logs, things like that, and not be responding after a ticket or something like that," said Nirmal Mehta, senior lead technologist for the strategic innovation group at Booz Allen Hamilton Inc., in McLean, Va., who works with government organizations to establish DevOps culture.
ChatOps gains momentum
While a picture in an app monitoring dashboard can be worth a thousand words, a human interface shared among app developers and IT operations is also desirable -- and that's where ChatOps comes in.
Through programs such as Slack and Atlassian's HipChat, developers and IT pros can gather to manage complex deployments and solve problems collaboratively. It's a place for everything from transferring files to making jokes, and it can be integrated with tools like Jenkins and Chef.
"Having all this information in one place improves teamwork, especially for disparate organizations and groups," said Thomas McGonagle, a senior DevOps consultant who works with large enterprises on DevOps adoption.
"We're heavy believers in ChatOps," agreed Baron Schwartz, founder and CEO of VividCortex, a database monitoring SaaS provider based in Charlottesville, Va. There are bots in his group's HipChat channel that are listening for commands like "Deploy website to production." When the bot gets that command, it gets the latest website build and runs the commands that will take it the rest of the way to production deployment, then report back on whether the job succeeded or failed.
Start fleshing out your DevOps tool chain
Here's how to succeed in IT Ops
Break into the DevOps job market