Configurable Proxying API Façade Service for Zero-Downtime Deployment
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The deployment and reconfiguration of proxy services, specifically façades, result in inefficient processes leading to excessive downtime in network communications systems.
Innovation Solution
A configurable proxying API façade service that allows for the selection and configuration of exposed endpoints, components, and policies, storing this data in an externalized configuration store, enabling quick deployment and reconfiguration with minimal downtime through integration with a credential management server for authentication and authorization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional deployment methods are used for proxy services, then system reliability is maintained, but deployment efficiency deteriorates and downtime increases
Solution Approach 1:
The system stores façade configuration data in an externalized configuration store before deployment. When deployment is needed, the configuration is loaded and applied without requiring system restart or service interruption, enabling zero-downtime deployment and reconfiguration.
Solution Approach 2:
The system implements dynamic configuration where façade settings can be changed at runtime by loading updated configuration data from the externalized store. This allows the system to adapt its behavior without stopping services, resolving the contradiction between maintaining reliability and enabling efficient reconfiguration.
2Adaptability or versatility
If façade configuration is stored internally, then system simplicity is maintained, but adaptability and reconfiguration capability deteriorate
Solution Approach 1:
The system extracts configuration data from the internal service and stores it in an externalized configuration store. This separation allows the façade service to remain simple while gaining the ability to be reconfigured externally without modifying the service code or requiring system restart.
Solution Approach 2:
The externalized configuration store acts as an intermediary between the façade service and the configuration data. This mediator enables flexible reconfiguration and adaptability while keeping the service architecture clean and simple, as the service only needs to read from the external store rather than manage configuration internally.
3Reliability
If authentication policies are integrated with proxy subjects, then system simplicity is maintained, but security and authorization control deteriorate
Solution Approach 1:
The system segments the authentication and authorization functionality from the proxy subject integration. The credential management server handles authentication independently, while the façade service manages authorization policies separately. This segmentation improves security by allowing independent management of credentials and policies without increasing overall integration complexity.
Solution Approach 2:
The credential management server acts as an intermediary between the proxy client and the proxy subject API. It centralizes authentication logic and provides secure credential management, while the façade service can enforce authorization policies without directly integrating with the proxy subject's authentication mechanisms, thereby improving security and reducing integration complexity.
Data Source
AI summary
Methods and systems for a configurable proxying application program interface (API) façade service. A method for using a proxying API façade service includes, for each proxying API façade, selecting exposed endpoint(s) associated with proxy subject API(s), each selected exposed endpoint corresponding to a mapped proxy endpoint in a proxying API façade, selecting one or more components, setting one or more rights and policies, storing one or more mapped proxy endpoints, the one or more components, and the one or more rights and policies as proxying API façade configuration data in an externalized configuration store, generating each proxying API façade by loading a corresponding proxying API façade configuration data from the externalized configuration store, and integrating a proxy client of each proxying API façade with a credential management server, the credential management server configured to authenticate access to a proxy subject API by a proxy client responsive to a client request.


