WSO2 sponsored this post.
The recent constraints on businesses have pushed organizations to accelerate their plans for moving operations to the digital world — often shrinking timelines from years to months. In the process, APIs have emerged as the products of the 21st century.
The combination of cloud native technologies and an API-led integration platform increases productivity by enabling agility, flexibility and scalability through automation and services. For more details on this approach, please refer to A Reference Architecture for a CloudNative Digital Enterprise.
This post focuses on the vital components that are required to implement a cloud native digital enterprise using Kubernetes and an API-led integration platform. Please note that the diagrams present reference implementations of WSO2’s open source offerings, which support full API lifecycle management and integration. The platform was named a leader in a Forrester report on API management software.
Kubernetes, an open source cloud native orchestration platform, provides a complete set of cloud native abstractions and a tool kit to build a scalable, flexible solution that aligns with business growth.
For Enterprise Integration and API Management
An ideal solution should come with an API designer and publisher, a developer portal, a key manager, an API analytics server, an API gateway, an enterprise integrator and a Kubernetes operator. The platform should install on top of Kubernetes, with native support through the Kubernetes Operator. This native integration not only provides the necessary automation, scalability and operations but also gives API-led integration capabilities.
The platform should also provide a web interface — i.e. an API designer and publisher — for API development and management. It should also be 100% compliant with open API specifications, helping API creators develop, document, scale and version APIs, while also facilitating API management-related tasks such as publishing, monetizing and promoting APIs.
Another key component is an API developer portal, which is a hub to discover and onboard developers with low-friction experiences. The developer API portal enables developers to find APIs, test them before subscription and consumption, calculate monetization with specific metrics, view feedback and feature requests from consumers through forums and more.
The solution should come with capabilities to facilitate micro integrations, supporting both centralized (ESB style) and decentralized (microservices, cloud native) architectural styles. It should also enable users to implement streaming ETL (extract, transform and load), change data capture (CDC) and process large files and real-time APIs.
The API gateway is the main policy enforcement point. It should ideally support OAuth 2.0, JWT, Basic Auth, Mutual SSL and API-key based authentication mechanisms; plus enable IT teams to enforce rate limits and throttling policies. Often, microservices do not act alone and they interconnect to each other through the API calls. The API gateway should work with cloud native observability tools, such as Prometheus, Jaeger and Fluentd, to analyze these captured metrics, statistics and data to produce meaningful visualizations to understand system behavior.
For Automation via the Kubernetes Operator Pattern
The Kubernetes Operator provides a fully automated experience for cloud native API management. Custom resources help to deploy and manage API-led integration artifacts into Kubernetes easily.
The Kubernetes Operator should be able to create and deploy API micro gateways and micro integrations by reading Swagger definitions or integration definitions provided by the API developer/publisher. These gateways and integrators automatically deploy into the defined Kubernetes cluster along with the necessary Kubernetes deployment artifacts.
CI/CD with GitOps
GitOps is a way of implementing continuous deployment for cloud native applications. It combines the functionalities of git and continuous deployment tools, and provides a developer-centric experience when operating infrastructure.
In a digital enterprise, publishing an API is not just a simple process. It involves creating APIs and then deploying them in a lower API management environment to go through different testing rounds (developer testing, stress testing, QA testing, etc.). Once these tests are successful, they move to the production environment.
Ideally, each deployment environment should have a specific Kubernetes cluster configured with the Kubernetes API operator and API management components. Depending on the enterprise requirements, API management components — such as an API publisher, API traffic manager, key manager and developer portal — can be configured.
By becoming digital enterprises and digitalizing value chains, companies in any sector can integrate and expose their business capabilities as APIs. These APIs should be secured, managed, observed and monetized. An API-led integration platform is essential for digital enterprises, whether they start with greenfield or brownfield projects.
Kubernetes provides a complete set of cloud native abstractions and a toolkit to build a scalable, flexible solution that aligns with business growth. The platform you select should come with native Kubernetes integration capabilities to provide a successful digital enterprise architecture. Please read the complete Reference Implementation for a Cloud Native Digital Enterprise if you want to learn more about this reference implementation.
Feature image via Pixabay.