Enterprise Software

Five criteria for choosing Web service vendors

These are five things developers should look at when picking a third-party Web service to integrate into their applications.

In the last several years, it has become very common to use third-party Web services in our applications. Third-party Web services allow us to do a lot of things very easily with no maintenance on our part. Third-party Web services also allow us to have additional options in our business models. Instead of purchasing expensive components from third parties, we can use their services on a usage basis or a subscription basis. At the same time, moving away from libraries and towards Web services carries some risk. Here are the kinds of things you need to think about when selecting a Web service provider.

1: Ensure the vendor offers reliable service levels

One of the biggest concerns when selecting a Web service vendor is determining how reliable they're going to be. The cloud has become quite popular, but there have also been a number of high-profile failures with the cloud. Issues such as uptime and latency are real concerns.

When you pick a web service provider, make sure their service levels are at least equal to the service levels your application guarantees. In addition, you want to see how the vendor responds to downtime. For example, some vendors maintain a blog or Twitter account showing expected and unexpected downtime and the current status. Look for a vendor that does this, and examine past incidents to get an idea of what to expect from the vendor. If the vendor does not do this at all, you should be very cautious about them.

2: Confirm the Web service truly meets your needs

All too often the Web service that looks good in its marketing material does not really work as advertised. Do not commit to a Web service until you're absolutely sure that it does what you need. Many Web services should allow you to do a trial period, or to use a limited-use developer account to create your application. Take advantage of this offer to put together a small proof of concept application.

3: Work with vendors that version their services

Another thing to look at is the vendor's past history, especially regarding the issue of compatibility and versioning. You want to work with a vendor that does version its service, and the longer old versions are supported, the better. In my experience, some vendors do not version their service at all, and you can be badly burned when the vendor decides to make a breaking change, and you do not have the chance to update your application in time.

4: Be cautious about free Web services

It is tempting to use free Web services -- after all, they're free. The problem with free Web services is when the vendor tries to monetize them. Because you're not paying for the service, you have little leverage with the vendor regarding how they make their money. Some vendors will decide to shut down the service entirely. One vendor who is particularly bad about this is Google. In the past several years, Google shut down many of its Web services and APIs. Facebook has also changed its APIs many times. Remember, these companies are in business to make money for themselves, not to make money for you. When these vendors provide something for free, it is because they hope to make money from it somehow, which may be done in a way that does not work well for you.

5: Test the vendor's customer service and tech support options

I've had some bad experiences with third-party vendors in the past, where I loved the product but hated the company. After a while, you become pretty miserable. The better the support, the happier you will be in the long run.

Let us know in the forums about your criteria and tips for selecting a third-party Web service vendor.

J.Ja

About

Justin James is the Lead Architect for Conigent.

7 comments
mattohare
mattohare

If it is a complicated process, make sure you can make sense of the whole process before you commit if you can. We use two sources for our application. One has very few (12) methods (services), but one simple path. Just a simple drill-down. And, they include a fairly verbose description of how to follow the path. The other has over a hundred methods and several paths. Methods for one path are not compatible with another. The only description of the paths is a web page (that looks more like a spreadsheet, so I took it into Excel) that lists the method names, but nothing about how they work together. Both of these charge. The former charges for the last method call that gets the real payload. The latter charges for all the various lookups. Just read their documents if you can to see if they make sense.

dlessard
dlessard

I agree for the most part of your points but for free web hosting. I've known several and tried 10s of them, most of them are like you said : they always try to monetize their service. But some, do it, in a way that it won`t affect you, like they`re selling services (related to web) off their main website and that way they monetize their free web hosting services. It's true that you won't have leverage compared to paid hosting, but if you don't have a too much professionnal website, it worth a try. Oh yea, let me present one i'm using right now which is pretty good. : Cixx6 at http://cixx6.com If you know others like this, let us know. Best regards, Dan.

HAL 9000
HAL 9000

There is no Guarantee that things will work as they should. The big things to look out for can not be covered things like what happens if the Cloud Provider goes broke. Who Owns any Data or Services based in that Cloud? What happens to those Services or Data in the event of a new Cloud Provider taking control? Things like that are vitally important and simply unanswerable. A very good reason to avoid the Cloud as much as possible. Even something like Web Hosting services which are not Technically "Cloud" can be very hit and miss. Just recently my Web Hosting Service stopped responding to Service Tickets after a major Merger when they finished moving all of the Services of the companies that they absorbed. Most of their clients didn't even notice but because my Web Site was no longer present I did and was unable to get through to them on their Service Tickets well I could open and post to Service Tickets but got no response, their Phone Line was No Longer working, Their Twitter Account had no action and so on and so forth. I thought that they had gone broke and shut up shop but the reality of the situation was that their staff simply quit and walked out. Hence no support for over 2 months and even then I only got to know about this because out of desperation I submitted a Support Ticket to Sales asking about a new service. I didn't expect an answer but I certainly got one, though at the moment I'm not sure what's going to happen there as they are now claiming that My Domain Name is parked at another company who is no longer in business. Not bad for a service that I have had running for 10 years now is it? And not something that I could do anything about to prevent happening. That isn't even a "Cloud" Service which is far more important. It just affects a few where as what is being discussed here can affect thousands of different Developers who are left scambling for a solution to the mess that they have interested because of others screw up's. There is no mention of the Millions of End Users who are affected just those who have to come up with a solution Fast. Which is something I want to see happen so that people begin to realize just how weak the entire system is. Sure it looks great on paper but introduce a little bit of Private Enterprise into the mix and things can get very nasty very quickly. ;) Col

Sterling chip Camden
Sterling chip Camden

I wouldn't use a third-party service for anything critical unless there was no other option. It's great to be able to tap into a free service for something that's a bell or whistle, though. Just so long as you can live with it going down from time to time.

Justin James
Justin James

I wasn't talking about hosting, I was talking specifically about Web services, which you call from one application to add functionality in the application. J.Ja

Justin James
Justin James

... I've found that third-parties can typically "keep the lights on" better than I can, because of specialization and infrastructure. They have racks and racks of redundant servers and multiple data centers. I've got one rack in one building... and for my "day job" that rack is in a building that loses power at least once a week from July through September, we've got a ton of UPS's and they get run down often enough that we're offline for a few hours a month during the storm season. :( J.Ja

Sterling chip Camden
Sterling chip Camden

Even though they might be more reliable, the few times they do go down will never be at the same time that your site goes down, so they make your uptime problem worse even though they're better.

Editor's Picks