Friday 16 May 2014

Azure API Management - Almost there

Concept strings are just completing a SaaS offering where access to our REST APIs is one of the key ingredients.
We downed tools when we saw the release of what had been Apiphany's offering re-launched as a part of Azure, wondering whether should ditch our infrastructure and use it,

The answer is no, but maybe in future. Here's why, for the benefit of any  Microsoft marketing people:

Documentation

Documenting your API is vital. Our web site is an MVC 5.1 site using Web.API.  This comes with an excellent help generator that creates documentation from the controller code.
Not only does this document the calls, but more importantly, since ours are quite complex, the Json/XML structures returned and expected.
The API manager in Azure imports WADL or Swagger. There's recentish code on NuGet for swagger with no instructions for use, and old code for WADL.
These don't seem viable options. Doing it by hand seems tedious, with no options to document the structures.  So if we were to use this, we'd provide a considerably worse set of documentation.

Billing integration

There isn't any.  So we'd have to respond to requests to register by email and lead customers to a second site to do it. The site permits quick initial trial sign up, but no more.

Marketing

Again, there isn't any. It's unclear if you sign up for this service that you'd get everybody and his dog viewing your APIs because it's part of a popular site, or nobody.

The structure

There are APIs, Products and applications. The former seem limited to one address. Products are really service levels, and applications are you or  other vendors who have created an APP that made use of your API.
Our idea of products, Like Concept Forms or Concept Strings are each composed of several APIs.
You sign up to a product, start at a free level of service and move up.
What we need to do does not therefore seem to line up with the API manager.

The look of the website and extensibility

Having spent months making a website (hopefully) consistent with necessary features like the ability to download tooling, The built in site looks very constricted. I understand that apiphany felt they needed this, but as part of the Azure ecosystem with loads of different web CMS platforms available the built in system looks stopgap, and doesn't fit our needs.

The good bit is the intermediation - though even there,  there is no advice given as to how to prevent users just bypassing the manager.

We'd be happy to use this if the above issues were addressed, as I'm sure they will be in the next couple of months, Right now you'd have to be a very particular kind of vendor to want it.
Well done to Apiphany though, I hope they are sitting back counting the money...