US 12,192,273 B1
Systems and methods for automated application deployment
Anil Kumar Pandurangarao, Buffalo Grove, IL (US); Kannan Saravanan, Bangalore KA (IN); and Jotom Chiramel, Buffalo Grove, IL (US)
Assigned to Allstate Insurance Company, Northbrook, IL (US)
Filed by Allstate Insurance Company, Northbrook, IL (US)
Filed on Oct. 7, 2019, as Appl. No. 16/594,265.
Int. Cl. H04L 67/1021 (2022.01); G06F 8/61 (2018.01); H04L 67/00 (2022.01); H04L 67/1097 (2022.01)
CPC H04L 67/1021 (2013.01) [G06F 8/61 (2013.01); H04L 67/1097 (2013.01); H04L 67/34 (2013.01)] 19 Claims
OG exemplary drawing
 
1. A method, comprising:
obtaining, by a software deployment server system, source code for a software application;
determining, by the software deployment server system, at least one feature in the source code;
calculating, by the software deployment server system, at least one source code deployment score based on the at least one feature;
determining, by the software deployment server system, a deployment strategy based on the at least one source code deployment score, wherein:
the deployment strategy comprises replatforming when the at least one source code deployment score is above a scoring threshold for the source code,
the deployment strategy comprises rehosting when the at least one source code deployment score is above the scoring threshold for the source code,
the deployment strategy comprises rearchitechting when the at least one source code deployment score is below the scoring threshold for the source code, and
the deployment strategy comprises a set of recommended modifications to the source code of the software application;
deploying, by the software deployment server system, to a distributed computing system, the software application based on the deployment strategy, wherein the distributed computing system provides a computing environment capable of executing the software application generated based on the source code of the software application; and
automatically initializing, by the software deployment server system, the computing environment, wherein initializing comprises dynamically managing an allocated set of resources of the computing environment with load balancers or scalers.