Last month my colleagues Kim Clark and Krithika Prakash wrote two great blogs on positioning and integrating API Management and Istio (see links below). They both touched on the business value aspects, but I wanted to provide more focus on the business side of this technology relationship.
Digital Business Opportunity
“IDC has identified $20 trillion of market opportunity, or 25% of global GDP, to be realized over the next five years. CEOs see the path to capturing this opportunity as becoming technology centric to deliver new customer experiences.” – according to Shawn Fitzgerald, Worldwide Digital Transformation Strategies at IDC1. To deliver these differentiated customer experiences, businesses are investing to better deliver and exceed client expectations. This involves accessing resources such as customer history, social interactions, current situational events and more. According to IBM market research an average of 33 data sources may be accessed. And, these sources are scattered across multiple clouds – public and private (average companies may use 6 or more) and on-premise systems, new microservice applications and legacy systems, accessing sources from your enterprise, your partner’s and public systems. To be successful, complexity and fragmentation need to be addressed.
To keep this blog to a reasonable length I need to assume you know what API, API Economy, Digital
Business, Microservices, and Istio are and the positioning between each of these. If this is true, skip ahead. If not, here are some links to help.
- What is an API? and What is the API Economy?
- Digital Transformation – Becoming a Digital Business
- Digital Business and APIs – Need to See the Forest and the Trees
- Clearing Up Misconceptions About APIs and Microservices
- Integration Architecture Decisions – APIs, Services, and Microservices
- What is Istio?
- Comparing a service mesh with API management in a microservice architecture by Kim Clark
- Part 1: Istio Service Mesh and APIConnect/DataPower Gateway integration by Krithika Prakash
Sample Digital Business Scenarios
Digital Business is about our customer(s): fulfilling customer needs, reaching new customers, supplying new capabilities quickly to improve customer value and beat the competition, trying new innovative offerings, and providing a holistic view of the client interactions – even if they cross multiple lines of business. There is a strong correlation between these digital business drivers and the business drivers I have previously described for the API Economy (here). In these blogs I described how APIs and Microservices support these business drivers. I have selected three scenarios to demonstrate how adding an Istio service mesh can enhance our previous ability to address these business opportunities.
- Customer Differentiation
API Management solutions use a “plan” to offer different amounts of API calls to consumers. A gold consumer may use the API more invocations per time unit than a silver or bronze consumer. A consumer signs up for a plan and the API gateway enforces the metric. This is also frequently used in direct monetization models to charge for higher usage levels. All of this is good functionality, but the concept of “plan” is only known to the API Management solution. Once the API invokes the microservices or other back-end systems these applications do not know anything about the plan of the consumer.
What if we could pass the “plan” information onward – beyond the API Gateway? Now a gold customer might not only get more API calls, but also have priority on throughput, performance, or additional functionality provided by the called application. For a digital business we need to treat our best customers even better!
To achieve this, the back-end systems need the ability to prioritize and differentiate traffic. Systems such as z/OS, WebSphere Application Server using Intelligent Management and a few others have been able to prioritize workloads. Many others cannot do this which leads to segmented application clusters and over-deployment of resources to handle differentiated traffic. Alternatively, it is left to the business application logic to try to implement prioritization inside the application itself. This is often difficult if not impossible since much of the surrounding environment is outside control of the application.Istio provides this capability for microservice clusters. In conjunction with API Management as an ingress Istio can provide the prioritization outside the business application without changing the application itself and without over-deployment of resources. Higher priority customers can have their requests prioritized and/or routed to enhanced business functions.
Digital businesses are innovative. They frequently deliver new capabilities to their customers. I wrote about APIs and Microservices as a fast low cost innovation engine in an Integration Developer news article earlier this year. In the article I describe using microservices as a rapid development innovation tier that sits between the API and traditional back-end system to implement new business logic for innovation. In this scenario the API calls the microservice which obtains data from the back-end performs the new innovative business logic and returns the result to the caller. All good.
Adding Istio to the picture gives us several new opportunities to improve this scenario. The API can pass the request to Istio for routing rather than directly calling the microservice. Istio can choose where to route the request. This allows for more dynamic routing which can provide additional data quickly on how our innovation project is working. For example, if we want to try multiple different innovation options, Istio can route different percentages of the traffic to multiple different implementations (A/B testing). Or, we can implement the innovation for a small percentage of the traffic (canary testing) and then increase the usage as we see positive results or turn it off in the case of negative reaction. Each of these scenarios is implemented without changing the API or the business application microservices.
- Comprehensive Customer View
As a customer I find it frustrating when I must bridge boundaries for a company I am using. A prime example is my insurance company where I have home, auto, and an umbrella insurance policy with the same company yet need to deal with the company as three separate entities. Digital businesses do not have these boundaries, rather they use the data from their other LoBs and outside entities to make for a better experience for their customers, not letting the internal boundaries show through. I have covered this business driver (I called it domains) in prior writing.
Istio can assist in this scenario by routing requests to various microservices that supply different functionality for different LoBs. However, in this scenario APIs need to help Istio pull all this information together. While Istio does wonderful things for microservices within its scope of control, it does not handle anything outside that scope. As stated earlier, customer data may be gathered from 33 or more diverse sources across on-premise and multiple clouds. Some of these sources may be within an Istio service mesh, but many may be in either other Istio clusters or in other systems such as other clouds, z/OS, SaaS applications, etc. To pull together information from these sources, Istio needs to invoke APIs to bridge between environments to gather the comprehensive customer view. Using integration between API management and Istio to provide appropriate security context to ensure privacy and data security is critical.
These are just a few examples to show possibilities. This is far from a complete list of scenarios where Istio along with API Management and Microservices enhance business value through digital transformation. My intent was not completeness, since we are just in the initial stages of these new capabilities. Understanding why your business is executing a digital transformation – the goals – can help guide your own scenarios in using these tools appropriately.
Note – IBM API Connect (IBM’s API management platform) is the only major API platform built as a full microservice implementation. As such, the IBM API Connect platform itself can run in an Istio service mesh benefiting from the values that Istio brings.
To understand more about IBM’s thoughts on the API Economy visit the IBM API Economy website. IBM API Connect is IBM’s complete foundation to Create, Secure, Manage, Test, and Monitor APIs. You can find more information about IBM API Connect at the API Connect website. And you can also experience a trial version of API Connect.
If you have questions, please let me know. Connect with me through comments here or via twitter @Arglick to continue the discussion.
1IDC MaturityScape Benchmark: Digital Transformation Worldwide, 2017