Welcome!

@DevOpsSummit Authors: Pat Romanski, Liz McMillan, Yeshim Deniz, Zakia Bouachraoui, Elizabeth White

Related Topics: @DevOpsSummit, Ruby-On-Rails, Apache

@DevOpsSummit: Blog Feed Post

ChatOps: Let’s Talk Plugins By @PagerDuty | @DevOpsSummit [#DevOps]

Once you've chosen a framework and kicked the tires a bit, you'll probably want to add features to your bot

ChatOps: Let’s Talk Plugins

By Eric Sigler

This is the second post in our series on ChatOps

In our last post, you learned what ChatOps is, how it works and the ways in which it can transform your organization. By promoting collaboration, communication and rapid learning, ChatOps presents some serious benefits not only for engineers, but also non-technical teams too.

We want to take that a bit farther with our next two posts. Once you've chosen a framework and kicked the tires a bit, you'll probably want to add features to your bot. The plugins detailed below can be easily added and will help out with previously manual tasks you may have had to do daily.

At PagerDuty, we use Ruby-based Lita and our chat bot, Officer URL, with a variety of plugins, so those are the examples we'll roll with below.  But, many of these plugins have alternatives in other frameworks so you can continue using what works best within your team.

lita-diglita-whois

"dig" and "whois" are simple plugins to look up DNS & whois records.  They're easy to drop in, and quick to get started with.  These are good examples for applying ChatOps to your day-to-day workflow - with them you can now ask in-line questions about things like record changes.  They also tie in really well with lita-enhance, which we'll go into more detail about below.

lita-dig

lita whois

lita-locker

lita-locker allows you to define resources (such as a server, or Git repo), and labels (such as "production").

lita-locker

When a PagerDuty engineer wants to take certain actions on an environment, they can signal to everyone else that environment is unavailable for other changes by "taking a lock".  Since lita-locker has the idea of both resources and labels, it can prevent accidental collisions if you have a single resource and two different labels that contain that resource.  (For example, a database server could be a resource to both the "request-backend" and "job-worker" labels.)

lita-github

lita github

lita github2

We use Github at PagerDuty, so it's really useful to be able to ask in a chat room for a code review, and have the merge in-line (especially along with the deployment and environment locks while the changes are being tested out).  If you have a company Github account, and you need to create a new repo within it, this plugin can be extremely helpful - now you don't have to hunt down someone with administrator rights on the account.

lita-wtf

lita wtf

Internally, we have a lot of projects, and a lot of service names.  As mentioned in our last post, ChatOps can help with onboarding new engineers and employees. When new people are starting up (or a new project is introduced and isn't well known yet), they don't have to feel silly asking a lot of "what is X?" questions. Everyone has access to a self-service dictionary right within your chat client.

lita-enhance

Often times log snippets get pasted into a chat room, but they contain opaque identifiers such as IP addresses or AWS instance ID's.  lita-enhance takes that text, and replaces it with more helpful information about parts of your infrastructure.  MAC addresses, IP addresses, short hostnames & DNS names, all can be turned into something more useful.  Combined with plugins such as lita-dig, you can get workflow like:

Screen Shot 2015-01-05 at 10.02.02 AM

lita-status

lita-status

Many sites have internal status pages of one kind or another.  And when there's a problem, that's often the first place people have to check out what's going on.  The status plugin helps us keep that information in-line within our chat client. You can avoid the "repeating what the computer said" effect on phone bridges, Google Hangouts or whatever it may be during an incident or outage.  It also keeps a convenient log for postmortem review. (Note, this plugin is not yet open-sourced, but will be shortly.)

Implementing these plugins (and many more) at PagerDuty has really helped us as we've scaled our team and infrastructure over the last year.  We value things that help make engineers more productive, and want to be able to share those things with other engineers and businesses. Because of that idea, we work to open source many of the things we build internally.

In part 3 of our series on ChatOps, we'll go over how we do deployments and schema migrations with Igor, our in-house deployment tool.

Read the original blog entry...

More Stories By PagerDuty Blog

PagerDuty’s operations performance platform helps companies increase reliability. By connecting people, systems and data in a single view, PagerDuty delivers visibility and actionable intelligence across global operations for effective incident resolution management. PagerDuty has over 100 platform partners, and is trusted by Fortune 500 companies and startups alike, including Microsoft, National Instruments, Electronic Arts, Adobe, Rackspace, Etsy, Square and Github.

@DevOpsSummit Stories
While some developers care passionately about how data centers and clouds are architected, for most, it is only the end result that matters. To the majority of companies, technology exists to solve a business problem, and only delivers value when it is solving that problem. 2017 brings the mainstream adoption of containers for production workloads. In his session at 21st Cloud Expo, Ben McCormack, VP of Operations at Evernote, discussed how data centers of the future will be managed, how the public cloud best suits your organization, and what the future holds for operations and infrastructure engineers in a post-container world. Is a serverless world inevitable?
Wooed by the promise of faster innovation, lower TCO, and greater agility, businesses of every shape and size have embraced the cloud at every layer of the IT stack – from apps to file sharing to infrastructure. The typical organization currently uses more than a dozen sanctioned cloud apps and will shift more than half of all workloads to the cloud by 2018. Such cloud investments have delivered measurable benefits. But they’ve also resulted in some unintended side-effects: complexity and risk. End users now struggle to navigate multiple environments with varying degrees of performance. Companies are unclear on the security of their data and network access. And IT squads are overwhelmed trying to monitor and manage it all.
With more than 30 Kubernetes solutions in the marketplace, it's tempting to think Kubernetes and the vendor ecosystem has solved the problem of operationalizing containers at scale or of automatically managing the elasticity of the underlying infrastructure that these solutions need to be truly scalable. Far from it. There are at least six major pain points that companies experience when they try to deploy and run Kubernetes in their complex environments. In this presentation, the speaker will detail these pain points and explain how cloud can address them.
Dhiraj Sehgal works in Delphix's product and solution organization. His focus has been DevOps, DataOps, private cloud and datacenters customers, technologies and products. He has wealth of experience in cloud focused and virtualized technologies ranging from compute, networking to storage. He has spoken at Cloud Expo for last 3 years now in New York and Santa Clara.
Dion Hinchcliffe is an internationally recognized digital expert, bestselling book author, frequent keynote speaker, analyst, futurist, and transformation expert based in Washington, DC. He is currently Chief Strategy Officer at the industry-leading digital strategy and online community solutions firm, 7Summits.