Traditionally, APIs are tethered to specific internet locations, typically tied to a fixed URL on a server or set of servers. Enterprises are increasingly moving away from that and developing their APIs in different languages and deploying them across diverse environments. The increase in demand for multi cloud deployments and distributed systems have made the concept of "locationless" resources increasingly significant. Locationless APIs are abstracted from specific physical locations, enabling interaction regardless of the underlying service's location.
However, it is a complex challenge of managing these APIs deployed across diverse environments using a unified API management platform without any public exposure. Locationless API management addresses this challenge by enabling a simple and secure way to discover and manage such APIs that are deployed across various footprints without exposing them to the public internet. Understanding and effectively managing locationless APIs can provide enterprises with a competitive edge in creating resilient, scalable, and secure APIs.
Picture this: Your APIs are deployed across diverse environments, spanning Kubernetes clusters across various cloud providers, bare metal setups, virtual machines, and more. You are using an API management platform to discover and manage these APIs. The platform gains the ability to discover all APIs, regardless of their physical location, without relying on public internet exposure. It can intelligently route requests to the nearest or most cost-effective operational node, reducing latency and ensuring reliable failover solutions without requiring precise knowledge of the APIs' physical location. In essence, what we've just described is the concept of locationless API management.
Why do we need locationless API management solutions?
Traditional API management solutions can be very restricting when dealing with distributed environments and disparate infrastructures. To enable automatic discovery and management of APIs, most traditional API management solutions impose certain rigid constraints. These often include:
- Manual API publishing to vendor exchanges: Many solutions require APIs to be manually published to their exchanges, adding administrative overhead and limiting agility.
- Building APIs with proprietary runtimes: Some platforms dictate the use of their proprietary runtimes for building APIs, restricting developers' flexibility and potentially locking them into specific vendor ecosystems.
- Co-locating API manager/gateways with APIs: Deploying multiple API management gateways in the different environments where your APIs reside can lead to a lot of redundant work in terms of configuring policies for each gateway..
- Complex VPN or firewall setups: Setting up dedicated and intricate VPNs or firewalls between gateways and APIs can be cumbersome leading to operational overhead and can pose scalability issues as the number of APIs and the disparate environments increases.
These constraints often impose a lot of restrictions on your API development and strategy, underscoring the need for more flexible and location-agnostic API management solutions.
Use cases for locationless API management
Implementing a locationless API management architecture is the key to establishing a unified API management platform capable of discovering and managing APIs across diverse environments. This approach addresses numerous real-world use cases, including:
- Managing immovable legacy APIs: Leveraging your existing API management platform to manage legacy APIs that cannot be easily relocated, streamlining governance and integration efforts.
- Resilient API deployments: Implementing redundant API deployments across geographically dispersed data centers, cloud regions, or providers to ensure high availability, load balancing, and resilience.
- Cost optimization: Optimizing costs by intelligently routing requests to the nearest or most cost-effective operational node, leveraging cloud resources efficiently, and minimizing infrastructure overhead.
- Smooth integration in mergers and acquisitions: A critical challenge in mergers and acquisitions is unifying the APIs of the different organizations operating across disparate IT environments. Locationless API management offers a solution by facilitating the seamless integration of APIs into unified platforms.
Discover and manage your locationless APIs with Red Hat
While achieving locationless API management can be approached in a few different ways, we'll explore a practical demonstration using Red Hat 3scale API Management and Red Hat Service Interconnect. Red Hat Service Interconnect plays a pivotal role by establishing a layer 7 network and securing connections between services, regardless of their physical location. By leveraging this layer 7 service network, it seamlessly establishes connectivity between the different environments, making it appear as if these APIs that are deployed across different environments are local services within the OpenShift cluster where 3scale is deployed.
Additionally, the 3scale API Management platform boasts an inherent capability to automatically discover local OpenShift services and incorporate them as API products. This ensures that 3scale API Management can effortlessly discover and manage APIs, irrespective of their geographical location. Figure 2 illustrates this concept:
Red Hat Service Interconnect not only addresses the connectivity aspect but also seamlessly manages the load balancing and ensures high availability of APIs. For instance, in the above example, if the API in the Red Hat Enterprise Linux (RHEL) VM becomes overloaded, Red Hat Service Interconnect dynamically load-balances the traffic and redirects it to the instance in the public cloud. Similarly, in the event of one instance going down, Red Hat Service Interconnect smoothly reroutes traffic to the remaining operational instance without any disruption. Remarkably, these actions are performed without the API manager even being aware that an instance has experienced downtime.
For a more in-depth understanding and a visual demonstration of locationless API management in action, we encourage you to watch our accompanying video above. This video showcases a demo where we deploy two APIs—one on a Kubernetes cluster and the other virtual machine running RHEL. By combining the connectivity and discovery capabilities of Red Hat Service Interconnect and Red Hat 3scale API Management, both APIs can be auto discovered and managed in 3scale API Management as local services, without the need to make them publicly accessible over the internet.
Conclusion
By decoupling APIs from specific physical locations and leveraging solutions like Red Hat 3scale API Management and Red Hat Service Interconnect, organizations can seamlessly integrate APIs across diverse environments, streamline operations, and enhance connectivity. Furthermore, with the automatic load balancing and high availability features provided by Red Hat Service Interconnect, organizations can ensure uninterrupted service delivery, even in the face of unforeseen challenges.
If you’re interested in giving this a try, you can find all the setup instructions you need in this GitHub repository.
Learn more
- Red Hat Service Interconnect: Red Hat Service Interconnect allows applications and services to communicate with each other regardless of the environment or platform. Unlike traditional means of interconnecting, such as VPNs combined with complex firewall rules, interconnections can be created by anyone on the development team without elevated privileges and delivered with a protected link without compromising the organization's infrastructure or data.
- Red Hat 3scale API Management: Red Hat 3scale API Management makes it easy to manage your APIs. Share, secure, distribute, control, and monetize your APIs on an infrastructure platform built for performance, customer control, and future growth.
- Check out this session on locationless API management presented at the DevNation Days: Locationless API management with 3scale and Red Hat Service Interconnect | DevNation Day: MAD
- Git repo for the demo: https://github.com/rpscodes/Locationless-API-management