Transform your Digital Business with API Management

You’ve probably heard ‘Digital Business‘ and ‘API Management‘ many times before and to me ‘Digital Business’ seems on par with the word ‘Enterprise’ a few years back. ‘Enterprise Application Integration’ & various other forms of ‘Enterprise…’ really allowed high level conversations about the Enterprise with no real meat. I always found myself asking “So what is actually going to be done on Monday?“…. and I’d get the answer…”…magic…”.

Digital Business is still being defined in today’s world – getting a clear definition of it depends on who you ask.

In this post I’m going to firm Digital Business up and high light the goodness of API Management.

Ok…onto the chase…

How does Digital Business come about? do you have a business worth ‘digitising’? Does it even make sense to go down this path…we sell wheat… etc.

Currently the new currency in the business world is data! Businesses want it, some know they need it & others are busily collecting it in the hope that they’ll figure out how to best take advantage of it later.

Cloud providers offer Data Lakes & the like, where you can store your data for free and are only charged when you run operations on it. They know that once your data is with them, then that’s a pretty good lock in, in today’s world.

Running a Business today needs to:

  • Be Agile – able to respond, implement and take advantage of changes in the market.
  • Have a Cloud strategy – upfront and center. This is part of their competitive edge.
  • Have an Integration Strategy – this is one of the most important, as a Business if you can harness a 3rd party service that for e.g. manages assets, sends SMS etc – then that’s less to custom build, faster time to market and less time spent doing non-core business work.

Offloading non core business operations to Cloud Providers is a key mantra. Why do things that of course we did yesterday, that we don’t need to do today?

We see the rise of startups making serious inroads into well established verticals – why is that? Usually the start up is nimble with little or no prior investment – 100% cloud. The well entrenched businesses have significant investment in Data Centers; server infrastructure and usually still very concerned about local AD Domain policies…. rather than “What are we in business to do?”

Enter the Digital Business…

Being able to Integrate and ‘tap’ into what the online world has to offer at every important process within a business is they key to a Digital Business. We often think of just the end user, or our downstream Trading Partners (which are very important), but imagine being able to apply that flexibility to many other functions within our Business. Reception function, Managed Services, Software Development and so on….

Keep the things that give you your competitive Edge close to your chest, but for the rest flexibility is the key. Today we see the rise and rise of O365 adoption for Exchange online. Why? Because businesses can see email management is better performed on a solidly managed Microsoft platform.

Tomorrow it won’t be just email, the Digital world is still working out the level of granularity, but with Nano Servers, Service Fabric, Containers and other emerging technologies we even see composite applications being broken up into small distributed components.

Gone are the days of the big monolithic application that ran a chunk of the company – 40,000 lines of code. It’s like parking the Titanic in your driveway. Too hard to turn, move or shift.

My thoughts are A Business that is able to offer digitally and respond to new offerings digitally” is a digital business. At the heart of all of this is Integration – how easily can you take advantage of these offerings and offer your own…..?

A Customer Journey into this Digital World…..

“Mick, we want to redesign our internal core system, integrate to 3rd party systems, scale when we need to and we want to enhance our offerings to our B2B trading partners….oh and did I mention it needs to be HA”

The foundation of this Solution is hybrid – using what makes sense on-premises and in the cloud *seamlessly*. As a Business, I don’t want to know what’s running where, I need to know it’s working and not costing me a bomb (Great technologies from Microsoft such as Service Fabric & Azure Stack allow you to build once deploy everywhere! Keep an eye on them).

The customer’s journey involves cloud, web, mobile, responsive, fast, low-latency…. I’m sure these sound like any requirements for your new projects….in fact…I’ve seen these requirements for projects for past many months. The Business world is demanding such things (reminds me of one of the original Sim Cities “The people are demanding a stadium”).

This Customer project involves working with several internal & 3rd party systems as well as exposing a way for B2B partners to interface in real time.

Previously we’d jump straight into Integration, re-use what we can, replace what cant make the transition and expose an API for the B2B trading….all seems pretty normal…

Enter API Management

Remember, today Businesses are striving for any data they can get their hands on…it’s all about the data.

Mick, we’d like to know how many calls our B2B partners make and charge them on it?”

The advertising and exposing of APIs today is booming – just about every new offering has APIs behind it. Usually exposed out as HTTP Rest endpoints, with my customer exposing 10 different internal API Services alone.

Even the API Economy has arrived….just pause and think on that for a moment. Individual functions are on offer.

API Management has been around for some time, but with the Cloud providers SaaS offerings, it means less traditional hosted tin somewhere you don’t need and greater innovation.

Azure API Management allows Apps to talk through a Proxy; Developers develop through a developer portal and Publishers manage through the Publisher Portal.

API Management functions:

  • Development Benefits
    • Expose a single unified Proxy to the outside world, irrespective of where the actual ‘internal’ endpoint is.
    • Allows Developers to quick mock up endpoints so consumers can test their calls.
    • Support side by side upgrades & different versions of APIs
    • Message translation – expose REST/JSON public endpoints with Internal/XML based soap services.
    • Managing Dev/Test/Prod environments become alot simpler.
    • Caching, API Search and many more benefits.
  • Publisher/API Team Benefits
    • Track every call across the interface – when, time taken, request, response & how many. Irrespective of whether the internal API actually supports any of this. I find this feature great for sizing and estimating capacity of the Internal APIs.
    • We can supply each caller their own token or security context which in turns allows us to gather the number of calls and even apply throttling. So no more is this just exposing an API exercise, but we’re not able to monetise these interfaces.
    • Single end point address for Apps to talk through, no re-configuring clients if there are changes.
    • API & System maintenance becomes easy as we can easily route existing clients to a copy of the APIs when required.
    • Custom domains, SSL, Certificates, OAuth 2.0 support, caching, compression support, redirect to nice errors, apply custom scripts etc….
  • Application Integration Benefits
    • Single address to interact through – simplifies getting new partners & customers on board during new internal API publishing (& of course maintenance)
    • Cached responses when the underlying API doesn’t implement caching.
    • Consistent Public Interface exposed – i.e. REST based JSON messages.
    • Consistent authentication model applied across all exposed APIs irrespective of the actual internal API.
    • Presents a high level of API maturity to consumers.

It’s worth noting here that ‘internal APIs‘ don’t actually have to be internal, they can be 3rd party SaaS offerings, that you want to combine and present as a consistent interface for consumption.

The interesting part about API Management(APIM) is given the rich capabilities set of this ever growing and evolving component in our Business Architecture, it’s very clear the developers, project teams and the API team need to work closely together the get the best out of it. e.g. when designing APIs knowing that auditing and tracking can be handled by the APIM team saves effort.

APIM is about providing a flexible service and presenting a consistent unified API view, along with side by side upgrades, versioning, tracking and much more.

A Show Case on Azure API Management Offerings

To give this discussion substance I thought I’d take you through a quick run through of a practical offering available today.

I’ve setup a simple EchoAPI service & let’s go through the Portal quickly.

Azure API Management Dashboard – shows a rich feature list down the left hand side, as well as how the APIs are performing at a glance. Our customers and internal teams can ‘manage’ the APIs through here. Faults etc.

APIM_01.png

Figure 2 – Azure API Management Dashboard – shows a rich feature list down the left hand side, as well as how the APIs are performing at a glance. Our customers and internal teams can ‘manage’ the APIs through here. Faults etc.

 

APIM_02.png
Figure 3 – Shows a very simple Policy implementation of my EchoAPI. It returns a JSON request as XML. Note the rich functions down the right hand side we can invoke here.
APIM_03.png
Figure 4 – The consumer/developer view of the API where we can interactively test it with sample code supplied in a variety of languages.
APIM_04.png
Figure 5 – Sample execution from the developer portal showing the JSON request and our XML response, due to our earlier policy statement.

What’s missing from the APIM Picture….

Previously we called it ‘Workflow’ – if I submit an Order through these APIs what governs the 10 steps the Order process takes to successfully submit the Order? What happens if step 3 fails? Can we just retry that part or do we have to resubmit the whole thing again?

Make no mistake, we shouldn’t under estimate the importance of such functionality in the overall business process flow.

To me the most logical place to place ‘workflow’ capabilities would be in the API Management layer, but that would require Developers and the API team to work even closer….non-technical challenges present. 🙂

The Transforming Part…

APIs and the API economy are hot topics in today’s market and having a handle on that side of the business is vital. Previously to realise an idea we’d go through:

  1. Design, Prove
  2. Create
  3. Expose functionality
  4. Create a Web site that wrapped and exposed the concept(s).
  5. More recently – Create a mobile presence, responsive, native app on the mobile platform.

I’ve simplified alot here, but you can see the norm was to publish a website that exposed the idea and the website typically was the one that interacted with the idea. There’s much overhead in realising the idea/concept and getting it off the ground.

Enter the new age….the API economy…

  1. Design, Prove
  2. Create
  3. Expose with APIM
  4. Test and consume….

Much less development effort, wrapped with high volume, near realtime production ready APIM service…Businesses are on their way.

Surely you jest Mick, we aren’t is doing this yet?….

Data Scientists and the Analysts already have a head start on us in this space, where for e.g. Azure Machine Learning allows for data scientists to already expose their algorithms and monetise them. Just their function! Many other players are building such environments. An Algorithmic economy….

Back to my customer….

As Business look to become more competitive in this current landscape, they naturally drive more of their business to the online world to get the next edge.

It’s clear a combination of business agility and technology are helping them transform, transform to a digital business.

APIM is another very significant piece of the modern business puzzle.

 

 

 

 

 

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s