API Monitoring: 3 Tips to Help You Ride Out the Storm
If you are on the East Coast, or know someone on the East Coast, you've probably checked multiple sources for news about Hurricane Sandy. Today's world relies on fast and available information like never before, especially in emergency situations.
While we all enjoy a round of "Angry Birds" now and again, it’s during a crisis that we grip our smartphones tighter and surf the Internet for all the latest updates. In response to this basic human reaction, the market has seen a surge of emergency mobile apps that are designed to give you the most current information to ride out the storm.
But what happens when the storm hits the hosting service that you're getting those applications from? What if those apps are relying on the availability of APIs that are in the storm’s path? Data center personnel are trained to deal with disaster recovery and high availability and they have been preparing for Hurricane Sandy for days. But if you integrate with third party APIs, you have no way to know where they are being hosted and how stable they'll be during the course of the storm.
Here are three tips for keeping an eye on your application’s stability in the eye of the storm.
1. Regularly monitor the APIs you rely on.
APIs are the backbone of many software applications these days. They provide key functionality for web applications, as well as just about all mobile applications. If you have incorporated third-party APIs into your application, you are betting a portion of your business on someone else. Most third-party API providers are reliable and responsible, keeping their code up-to-date and available. But if you're relying on their code to be performing quickly and reliably, why wouldn’t you exercise the same production monitoring on those APIs as you do on the rest of your code? Establishing benchmarks against those APIs in your production environment by running API tests regularly lets you know what to expect from their performance.
That way, when the storm hits, you can be alerted proactively if their performance begins to degrade. Better yet, if you are a soapUI user, you can just re-use your existing tests rather than building separate monitoring scripts. Used in combination with AlertSite, those tests can run on a regularly scheduled basis and you can set thresholds to let you know something is amiss.
2. Set up the right notifications to the right people.
Okay, so Hurricane Sandy is battering your API hosting center and now you are getting alerts from your production monitors telling you that one of your APIs has degraded performance. Now is the time to make sure the right people know. Which APIs are customer-facing? Are they likely to notice immediately that your functionality has broken? Is it business-critical functionality? As you're setting up your production monitoring, you should ask these questions and make sure you get the right people “in the know” as soon as possible. You can use AlertSite’s notification groups to make sure everyone is aware of the situation in its earliest stages.
For example, if you have support staff who will start getting phone calls from customers when that API fails, it would be wise to set up AlertSite with notification groups that notify them as soon as possible. At least they will be ready to handle the situation until it is rectified. If the API in question is internal to your company, you can notify the developers or testers who are responsible for it as well. Many companies these days rely just as much on APIs developed by various development teams within their organization as they do on third-party APIs.
3. Replace unreliable APIs before the storm hits.
Waiting until the hurricane is on your doorstep is not the time to figure out which ones you can rely on. Natural disasters are a good reason for an API to become unavailable – Hurricane Sandy is currently affecting hundreds of East Coast data centers and hosting services, for example. Hopefully your API provider has a contingency plan in place so service disruption is minimal. But it's your responsibility to weed out those providers whose code or hosting environment is not robust before disaster strikes.
Using a production monitoring service like AlertSite in conjunction with solid API tests like the ones you can create in soapUI lets you find the weak links early. If your code depends on their code, don’t let every day be Hurricane Sandy for your application. Make sure you use the information provided by regular monitoring to replace unstable APIs when the weather is calm so you can withstand the storms.