Introduction to WSO2 APK: The API Platform for Kubernetes
WSO2 APK, or API Platform for Kubernetes, is a modern solution designed to optimize API management within Kubernetes environments. It is developed to take full advantage of Kubernetes' capabilities for seamless deployment that's both scalable and efficient. This platform is not just a conventional API gateway; it incorporates innovative features and extensions tailored to meet specific API management needs. Through these extensions, some of which have contributed to the broader Envoy community, WSO2 APK exemplifies a commitment to collaborative advancement.
Core Technologies and Specification Alignment
The platform employs Envoy technology at its gateway's core, selected for its outstanding performance and lightweight nature. Moreover, WSO2 APK conforms to the Kubernetes Gateway API specification, enhancing service networking with resources like GatewayClass, Gateway, HTTPRoute, TCPRoute, and Service. This adherence ensures a tight integration with Kubernetes networking to bolster API management functionalities.
Key Features of APK
- Microservices Architecture: WSO2 APK's architecture promotes ease of scalability and seamless updates, providing agility and flexibility.
- Control and Data Plane Separation: This design allows for user customization by enabling integration with a control plane of choice, thus enhancing flexibility.
- Open-Source and Cloud-Native: Built for cloud-native applications, APK integrates smoothly with Kubernetes, maintaining open-source contributions for continuous enhancement.
- CI/CD Integration with GitOps Approach: Provides a streamlined process for API deployment and management.
- API Marketplace Capabilities: Encourages sharing and reusability of APIs while ensuring efficient governance and administration.
Architecture Overview
The APK system is organized into control and data plane components. It includes services for configuration, API deployment, and traffic management:
-
Router, Enforcer, and Management Client:
- The Router handles incoming API traffic and applies Quality of Service (QoS) policies.
- The Enforcer ensures authentication and authorization.
- The Management Client maintains synchronization between control elements for smooth operation.
-
Rate Limiting Service: This service manages API call rate limits, utilizing Redis as a distributed store to manage counters across gateways.
Testing, Deployment, and Integration
Developers can test APIs using predefined tools like Postman collections to simulate various scenarios. The platform supports deployment methods using Helm and Kubernetes clients, simplifying the operational workflow within Kubernetes clusters.
Building and Developing APK Components
Developers interested in contributing or customizing the platform can build APK components. Prerequisites include installations like Java JDK 17, Gradle, Ballerina, and other development tools essential for building and running APK components.
Issue Management and Community Engagement
WSO2 APK leverages GitHub for bug tracking and feature requests. The platform's development is organized around milestones and priorities for strategic evolution. The project encourages community interaction through its support channels, promoting a collaborative and inclusive environment for developers and users alike.
For more insights about WSO2 APK and to participate in the community, resources like the APK Project Dashboard and community pages offer extensive information and opportunities to get involved actively.