CDN Asset Rollouts via Lambda Request Modification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for delivering frontend assets do not support controlled rollouts, targeted beta-testing, or debugging capabilities for web applications, particularly when served by a content-delivery network (CDN), as they lack the ability to selectively serve new versions or custom assets to specific users or subsets of users.
Innovation Solution
Implementing a mechanism using server computing devices within CDNs to invoke viewer or origin request lambdas, which modify requests to serve either current or new versions of assets based on conditions, allowing for controlled rollouts and beta-testing by directing specific percentages of traffic to new versions and enabling debugging through custom version requests.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If current CDN asset serving methods are used, then asset delivery speed is maintained, but controlled rollout capability is lost
Solution Approach 1:
The patent segments the asset delivery process by introducing version identifiers and subset identifiers that divide the user base into different groups (e.g., 10% canary group, 90% stable group). This segmentation enables controlled rollouts without requiring complex infrastructure changes to the CDN itself.
Solution Approach 2:
The patent performs preliminary actions by pre-configuring version information and subset routing rules in the asset manifest before deployment. This allows the system to automatically route users to appropriate asset versions based on their subset identification, eliminating the need for real-time complex decision-making during asset serving.
2Reliability
If traditional asset swapping is used, then new version deployment is fast, but testing and debugging capability is reduced
Solution Approach 1:
The patent applies local quality by allowing different subsets of users to access different versions of assets simultaneously. Engineers can be assigned to specific subsets (e.g., internal team subset) to access beta or debugging versions of assets, while other users continue accessing stable versions, enabling targeted testing without affecting overall deployment speed.
3Ease of operation
If service meshes are used for backend services, then traffic routing to specific instances is enabled, but frontend asset serving complexity increases
Solution Approach 1:
The patent introduces an intermediary asset manifest that acts as a mediator between the CDN and client devices. The manifest contains version information and subset identifiers that enable intelligent routing without requiring complex service mesh infrastructure. The manifest serves as a lightweight intermediary that provides traffic routing capability similar to service meshes but tailored for frontend asset delivery.
Data Source
AI summary
In one embodiment, a method for providing assets from an asset origin to client devices includes receiving, by a computing system, a request to access a frontend asset from a first client device of the client devices. The method includes determining, by the computing system, an asset selection criteria. The method includes modifying, by the computing system through a dynamic function based on the asset selection criteria, a request for the asset origin to select a particular asset from multiple assets that are responsive to the request to access the frontend asset. The method includes causing, by the computing system, the asset origin to provide the particular asset to the first client device by providing the modified request to the asset origin.


