Thursday 27 April 2017

Azure API Management - An introduction (Part 1)



Is there an API for that?

If you've worked for a SaaS vendor, I'm fairly certain that at some point you've been asked this question. For most apps today, integration is no longer a should-have but a must-have requirement.

As a developer we love writing amazing json:api compliant REST endpoints that expose app functionality BUT we often neglect the realities of hosting these endpoints in a production-ready state.

This is where Azure API Management comes in. Here's the pitch from Microsoft:

Azure API Management as a turnkey solution for publishing APIs to external and internal customers. Quickly create consistent and modern API gateways for existing back-end services hosted anywhere, secure and protect them from abuse and overuse, and get insights into usage and health. Plus, automate and scale developer on-boarding to help get your API program up and running. 

What is it?

  • Serves as a proxy that sits between your back-end services/apis & the calling apps
  • Essentially a common facade on top of existing apis
  • This "intermediate layer" allows you to quickly create consistent and modern API gateways for existing back-end services hosted anywhere
  • Turnkey solution for publishing apis to external and internal consumers.

Why use Azure API Management?

  • Perfect way to easily package & publish your existing back-end apis
  • Allows easy developer on-boarding (serves as a self-service portal)
    • Ramp-up uptake with docs, samples & an api console
    • Provide API documentation and an interactive console
    • Allows API discoverability
  • Enhance back end services by
    • Throttle, rate limit and quota your APIs
    • Monitor health of your APIs and quickly identify errors
    • Gain analytic insights on how your APIs are being used
  • Allows managing your service via the Azure portal, REST API, PowerShell, or Git repository