Hybrid API Management Use Cases
Explore hybrid API management use cases.
Join the DZone community and get the full member experience.Join For Free
The world is heading towards a more advanced digital era, and the digital transformation requirements that contemporary organizations require need to be addressed with state-of-the-art, robust solutions that can provide a seamless service to their stakeholders.
Today, where the trend is for organizations to provide services through various apps, there is an exponential increase in the number of apps required to cater to end-user requirements. This has led to the need for businesses to expose more and more data through APIs. Exposing data through APIs facilitate businesses to securely expose content within and beyond the scope of their enterprise. However, due to the proliferation of the number of APIs, organizations face yet another challenge to maintain and manage them. This is where a full API life-cycle management platform comes into play and currently these platforms are available as both on-premises and on cloud solutions.
API Management in the Cloud
Cloud API Management solutions provided by SaaS vendors are becoming more popular with organizations because they provide scalable, secure, quick and simple services to users so that they can utilize a service without having to burden themselves with the tasks of managing and maintaining the underlying framework and infrastructure. They provide a pre-configured setup with an intuitive GUI to which a customer can simply subscribe and build their digital business ecosystem. This is the reason why SaaS vendors are gaining popularity and currently leading the market.
Hybrid API Management — What and Why?
Although cloud services are more appealing and feasible solutions to most organizations, some prefer to maintain their sensitive data within the limits of the enterprise rather than trusting them with a SaaS or PaaS vendor. They require a solution where they can decentralize their approach to maintain public and private components of their solution. This is backed up by statistics as Gartner predicts that “by 2020, 90 percent of organizations will adopt hybrid infrastructure management,” where some parts of the solutions would be hosted in the Cloud and other parts would be hosted in traditional on-premises data centers.
This is the reason why Hybrid API Management is a better-suited approach that combines the best features of both on-premise and on-cloud solutions.
With the transformation of organizations to digital enterprises, there is an exponential growth of micro-services, which results in the need for a centralized API Management platform that can handle the full API life cycle, a Developer Portal, and analytical data that are used by the executives to make high-level decisions. However, it is also a requirement to have decentralized ownership of the APIs to leverage agile development practices.
This is where Hybrid API Management would come into play. The centralized API Management platform can be hosted in a private cloud or provided by a SaaS API Management platform from an external vendor, where each team would be able to self service their own projects through role-based or tenant-based isolation in a shared infrastructure. The API Gateway can be run and maintained by the teams themselves on-premises or in a private cloud, which would give them full control over their APIs. It would give them the ability to consume services in the internal network without needing to open them up to the Internet. In addition, deploying a gateway closer to their services would reduce the network latency where the API calls are transferred inside their network instead of being looped through the Internet. Furthermore, this would cut down the costs and human resource requirements, since each team does not have to maintain their own complete API Management platform.
A Sample Scenario
Let's consider a sample scenario of an eCommerce platform so that we can have better insight. Being an eCommerce vendor, the organization is required to expose a significant amount of services such as order management, pricing information, catalog content, customer profile data, and so on as web services to external users, their partners, and internal users. These services can span from providing the information of a product to a consumer through the website to providing analytical information to the CXO’s of the organization to make their high-level decisions.
Figure 1 shows a sample structure of the eCommerce organization that consists of four major divisions: Engineering, Supply chain, Marketing, and Human Resources. Since each of these divisions operate on numerous applications, each of the divisions have a dedicated app developer team who is responsible for developing and maintaining the internal apps. A specific app in a particular division can have both internal and external users. The use of an API Management platform provides the ability for the teams to utilize the shared platform and focus on their app development and to make architectural and technological choices at the local level rather than being restricted and bound to organization-wide standards and procedures. This is known as decentralized ownership, which can happen in a shared infrastructure. This helps the teams to enable self-service to address their own requirements.
In the case of this organization, we can clearly see that each team can make use of the role-based visibility in a single tenant or multi-tenant capabilities of the API management platform, which allows them to deploy multiple API implementations for each team with good isolation. In short, each API is defined, managed, and administered only by the team that created it and is made available to only those consumers that they deem appropriate.
Will a Single Gateway Suffice?
The next question that can arise is, although the organization maintains the isolation on their business logic specific to each team, through various mechanisms, can they use a single gateway or a single gateway cluster to expose all these APIs?
App developers would much prefer to have a gateway specific to each team so that they have a particular gateway that can handle a specific line of business (e.g. Engineering gateway to handle APIs specific to the Engineering division). The need to split into several gateways might be due to requirements in having a loosely coupled deployment or might be the case where different components of the organization run on different network infrastructures. Owing to any of these reasons, it is clear that a distributed deployment of the gateways is a viable requirement.
Figure 2 gives a rudimentary idea of how separate lines of business can have a separate gateway deployed. This deployment will give developers, the independence they need to manage and self-service their APIs. All these gateways can be managed by a central API management platform such as WSO2 API Cloud because the most critical component that requires the runtime independence is the Gateway. The developers also have the freedom to categorize their APIs (for example, a collection of APIs grouped for a particular project) and use a specific gateway or a gateway cluster to manage only those grouped APIs. Hence the application developers can have a dedicated gateway or a gateway cluster for their APIs so that their work is not interfered with by other project tasks.
Back to Concepts
If we ponder back to a concept that was introduced at the beginning of the article, with this distributed deployment in mind, you can see that these individual gateways can be deployed on-premises, on the Cloud, or on both, which is the hybrid deployment that carries the advantages of both architectures combined.
Figure 3 will provide an insight into how an enterprise can utilize the capabilities of a hybrid gateway deployment; namely an on-premise gateway and a cloud-hosted gateway where the following scenarios can be addressed.
- Internal users can make use of the on-premises gateway pointed to the internal back-end service, while the external users and partners have the ability to consume the services of the Cloud deployment pointed to the public back-end service.
- There can be a case where external partners having the requirement to have access to an internal service in which case a secure VPN tunnel can be used to provide access to such services.
- The on-premise gateway can be exposed to the internet via a firewall based on the preference of the team so that internal users, as well as external parties, can have access to its APIs.
- Although there are separate deployments of the gateways, all the administrative tasks as well as analytical information will be available to CXO’s in the Cloud API Management platform.
For example, in our early hypothesis of an eCommerce organization, external partners of the enterprise might need access to the supply chain services to get information on inventory. Since those services are only exposed to the internal or on-premises gateway within the organization, a VPN tunnel can be used to grant the partners access to them securely.
Another advantage of having an on-premises gateway is the reduced latency of obtaining information from backend services since the communication is happening internally rather than going through multiple hops in a public network.
So we can clearly see how an organization is able to leverage the flexibility of a hybrid infrastructure to cater to their API management requirements.
In addition, with the increase in demand, organizations tend to improve this aforementioned hybrid infrastructure to a multi-cloud infrastructure where the gateways can be deployed on-premise and also on various IaaS vendors so that the organization can be free from vendor lock-in and also make an assurance of the availability of their services to their customers. By utilizing a gateway that can be deployed anywhere and managed by a central API management platform, the customers have a central point of management as well as a decentralized distribution of gateways.
An organization can benefit from having a
- rapid deployment model and low total cost of ownership
- high performance, security, and compliance
by utilizing the hybrid gateway deployment option where the gateway is an independent component that can be run on any cloud platform as Docker containers, or in Kubernetes clusters, which would ensure all the benefits of these emerging cloud technologies, such as high availability, auto-scaling, and efficient infrastructure usage.
Modern enterprises tend to adopt more agile-development models to gain fast, seamless and robust solutions so that they can provide an excellent service to their customers and partners. Utilizing a hybrid approach to API management, the consumers can have advantages such as:
- Gateways can be deployed for each team or project to get independence and isolation.
- Can limit the list of services that need to be exposed to the internet and have internally available APIs.
- In a gateway that is deployed on-premise, there is reduced latency of obtaining information from backend services since the communication is happening internally rather than going through multiple hops in a public network.
- Cut down the costs and human resource requirements since each team does not have to maintain their own complete API Management platform.
With Hybrid API management, these organizations can leverage the potential to come up with a feasible, reliable, and most importantly, an agile solution to address their business requirements.
Opinions expressed by DZone contributors are their own.