US 12,175,306 B2
Serverless function materialization through strongly typed API contracts
Enda Martin Phelan, Waterford (IE); Wojciech Julian Trocki, Waterford (IE); and Manyanda Chitimbo, Val de Marne (FR)
Assigned to Red Hat, Inc., Raleigh, NC (US)
Filed by RED HAT, INC., Raleigh, NC (US)
Filed on Mar. 16, 2021, as Appl. No. 17/203,350.
Prior Publication US 2022/0300351 A1, Sep. 22, 2022
Int. Cl. G06F 9/54 (2006.01); G06F 16/245 (2019.01)
CPC G06F 9/541 (2013.01) [G06F 9/547 (2013.01); G06F 16/245 (2019.01)] 14 Claims
OG exemplary drawing
 
1. A method comprising:
identifying, from an application, a plurality of queries to retrieve data, the plurality of queries associated with an application programming interface (API);
determining an API schema coverage map associated with the plurality of queries, wherein the API schema coverage map indicates portions of an API schema that are used by the application;
generating, by a processing device in view of the API schema coverage map, transformation metadata in view of the API schema coverage map, wherein the transformation metadata comprises an association between serverless functions and corresponding API schema, a description of a resolver for the API schema, and one or more database connections; and
generating, by the processing device, a serverless architecture configuration associated with the application in view of the transformation metadata, wherein generating the serverless architecture configuration comprises:
identifying, from the plurality of queries, a first subset of queries that are associated with a first group of similar portions of the application;
identifying, from the plurality of queries, a second subset of queries that are associated with a second group of similar portions of the application;
generating, based on the first subset and the second subset, a plurality of functions that are each configured to drop cycles in the API schema for circular dependencies; and
generating a plurality of multi-type functions based on a plurality of user defined namespaces in the API schema; and
deploying the serverless architecture configuration to a plurality of serverless containers each comprising one or more operations associated with the application.