Developing Integrations at OpsGenie

by Aug 1, 2017 Halit Okumuş
developing-integrations-at-opsgenie.png

No serious IT company is doing business where incident response management isn’t at the center of their operations anymore. Hence, OpsGenie has taken up an important role in this endeavor. Now, it’s crucial for the center piece (OpsGenie) to be able to integrate with many products and services such as monitoring, metrics analysis, logging, ticketing, etc., bringing the operations workflow together.

Integrations are vital to OpsGenie’s success. Over the years, it’s proved to be an equally challenging task to connect OpsGenie with so many different tools. We have a dedicated team for steering the Integrations framework. This team develops new integrations, improves them, helps customers (yes: at OpsGenie, software engineers provide customer support as well!), creates new features and so on.

In this blog post, I’ll explain how OpsGenie adds new integrations... about what’s important to us and how we plan our roadmap.

Definition of a Great Integration

I am going to start with our vision of a great Integration: an OpsGenie Integration. An OpsGenie integration must have the following qualities...

Easy to configure:

Users must be able to quickly and easily configure an Integration. For example, when I’m setting up a New Relic integration, I want to get it working by following instructions. Instructions should be short with no missing steps to confuse or lose me. If I can get an Integration working —  that is, see an Alert created by it —  without having to think, then that’s what I call an easily-configured integration.

how to configure alerts in OpsGenie

Highly customizable and flexible:

The integration must be flexible and must support extensive customization. Does this contradict the previous remark? It usually does. More customization generally means more difficult to understand. When you present users with many settings,  buttons, select lists, etc., you force them to spend time and trouble exploring different options  —  when a user might only want to set up a basic, working configuration.

While that’s the general principle, let’s focus on the specific case for OpsGenie. Most of our users just want to use an integration’s simplest settings. Meaning they only care that the integration does what it’s supposed to do. Other customers want to be able to adapt the integration to their workflow, they want to control when an alert is to be created or when incoming alert events should be ignored, or they want to change alert format (according to their custom requirements).

OpsGenie’s policy is to keep things simple and let customers decide how much they want to do. In order to accomplish this, we divided integration pages into “Simple” and “Advanced” modes. Simple is the default mode. Users can just click Save, and they have a working integration that serves most requirements beautifully…...Other than the instructions provided for the target configuration, everything is now set…...No complications, no need to think about the choices.

This is simple mode:

Save Integration

The advanced mode is where you can substring the first part of a server status report and insert it in the alert description if you so desire. You can devise multiple setups for the integration to create, close, or acknowledge alerts based on different conditions. Check out our Integrations Framework documentation for more information.

This is advanced mode:

alerts filters and fields

 

Rich information flow:

If OpsGenie is going to be your main instrument for incident management, you cannot settle with merely being notified about the problem. A pager, a beep, or a phone notification alone will not be enough. To put it out there, OpsGenie is not only a notification tool. The integration collects rich information about the incident and decorates the alert with instant data, links, graphs, etc. where it’s applicable. At the least, it must provide informational variables parsed from the monitoring data, which the responders need to evaluate and respond to system events and incidents.

Powerful automations:

The integration does more with less. It’s important that the integration saves user time and trouble. For a simple example, when a monitoring tool integration like LogicMonitor creates an alert, it’s only natural that it would be able to automatically close the alert when the problem is cleared at LogicMonitor side. Users don’t need to go back and forth between the products.

Where applicable the integration works in two directions: OpsGenie not only receives data from the integrated tool, but it also sends alert events to it. To give an example, you can configure the Zendesk integration to resolve the Zendesk ticket when the OpsGenie alert is closed. Check out one of our Action Mapping posts to learn more about automating integrations to control and synchronize actions with integrated tools.

How We Build Our Roadmap For New Integrations

After 150+ integrations, we have not even begun to feel convinced that OpsGenie has enough of these. As stated before, it’s crucial that OpsGenie helps customers connect their tools for effective incident management resolution. And as you know, in this world, there are a lot of software products made for monitoring, ticketing, logging, team collaboration, etc. More and more are coming out every day so we will never run out of new integrations to develop.

How do we decide which integrations to build next? Here are the four simple factors that drive our planning sessions:

Customer requests:

OpsGenie is a product driven by its customers. I’m proud to say that the number one thing that paves the roadmap for integrations are feature requests. In fact we’ve become famous for it. OpsGenie is over the top when it comes to customer success. It’s no surprise that we get a number of new integration requests at a constant rate. And depending a bit on the relevance/cruciality of the target, we’re also famous for getting it done and done it fast. It’s quite a usual thing for us that we get up to build a giant integration because a trial customer said it’s important for them.

Fellow integration teams:

Just as our users want to integrate their tools with OpsGenie, companies want to integrate their tools with OpsGenie in order to provide better service to their current and future users. We never pass up the opportunity to meet and work with new people! We get together with them to jointly develop integrations, and we include such integrations as options on our Integrations page so that users can easily connect them. We’re always open to promoting integrations from outside!

Partnerships:

We frequently engage in teaming partnerships. In fact, we often co-host webinars with these teaming partners. This can sometimes result in an opportunity to work together to build a new or enhance an integration. We collaborate with the partnering engineering teams on integrations that make the best use of both our integrated tools and that help users do more with less —  part of our definition of a great integration!

Following trends:

We follow trends to keep up with tools that DevOps and operations teams are using. For example, even though our great Slack integration is powerful and popular, when we see that Microsoft is pushing out a Teams tool that some users will want to use, we know that we need to develop a great MS Teams integration, too. Not to give out secrets…  but that’s in the works too!

Getting your integrations on our roadmap

So… What do you want your incident response solution to do? Do you need to integrate your own tools or workflows? Contact our Customer Support team or join our Community. Our Community has a special Lab forum where engineers will collaborate with you about specific customization requests. It also has a DevOps Playground where you can explore some of our existing great integrations!