IP Library Granted Patent US 11,934,817
Granted Patent B2
US 11,934,817 · App. 17/510,122 · Granted Mar 19, 2024

Systems and methods for deploying federated infrastructure as code

Inventors: Manuj Bawa (Clarksburg, MD); John S Combs (Fallston, MD)
Assignee: JPMORGAN CHASE BANK, N.A.
G06F8/60G06F8/20G06F8/71
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,934,817
App. No.
17/510,122
Granted
Mar 19, 2024
Kind
B2
Abstract

A method for deploying federated infrastructure as code may include an infrastructure seeding engine: receiving a plurality of extensible application patterns; publishing the extensible application patterns to an application pattern catalog; receiving an instantiate request comprising a selection of one of the plurality of extensible application patterns and a blueprint, wherein the blueprint identifies a deployment technology; generating metadata for the selected extensible application pattern; generating a configuration for the selected extensible application pattern; creating execution isolations for deployments based on the metadata; applying security policies to the selected extensible application pattern; generating source code for the selected extensible application pattern; creating and linking the source code for the selected extensible application pattern to a continuous integration/continuous development pipelines; initializing the source code to an infrastructure; and deploying an application artifacts infrastructure, wherein the deployment achieves an immutable infrastructure.

Claims (53)

1. A computer-implemented method for deploying federated infrastructure as code, comprising:

receiving, by an infrastructure seeding engine executed by a computer processor, a plurality of extensible application patterns;

publishing, by the infrastructure seeding engine, the plurality of extensible application patterns to an application pattern catalog;

receiving, by the infrastructure seeding engine, an instantiate request comprising a selection of one of the plurality of extensible application patterns and a blueprint, wherein the blueprint identifies a deployment technology;

generating, by the infrastructure seeding engine, metadata for the selected extensible application pattern and the blueprint;

creating, by the infrastructure seeding engine, execution isolations for deployments based on the metadata, wherein the execution isolations comprise a Layer-1 execution scope that identifies network tables, network routing, network isolations, subnets, VLANs, and/or foundational firewall ports for the selected extensible application pattern and a Layer-2 execution scope that comprises infrastructure code the selected extensible application pattern and/or the blueprint;

generating, by the infrastructure seeding engine, a configuration for the selected extensible application pattern based on the execution isolations;

generating, by the infrastructure seeding engine, source code for the selected extensible application pattern based on the configuration for the selected extensible application pattern;

creating and linking, by the infrastructure seeding engine, the source code for the selected extensible application pattern to a continuous integration/continuous deployment pipeline, wherein the continuous integration/continuous deployment pipeline comprises stages for executing security policies for the selected extensible application pattern;

initializing, by the infrastructure seeding engine, the source code; and

deploying, by the infrastructure seeding engine and using the continuous integration/continuous deployment pipeline, the source code and application artifacts, wherein the deployment achieves an immutable infrastructure.

2. The computer-implemented method of claim 1 , wherein the extensible application patterns comprise an operating system extensible application pattern, and/or a platform extensible application pattern.

3. The computer-implemented method of claim 1 , wherein the metadata comprises execution isolation, inheritance between execution isolations, and/or scope of configuration parameters between isolation contexts.

4. The computer-implemented method of claim 1 , wherein the metadata identifies a type of application, a geo-location for the application and/or the blueprint, a legal jurisdiction for the application and/or the blueprint, or a data classification check for the application.

5. The computer-implemented method of claim 1 , wherein the code for the selected extensible application pattern is inherited from the published extensible application pattern.

6. The computer-implemented method of claim 1 , further comprising:

receiving, by the infrastructure seeding engine, approval for the selected extensible application pattern.

7. An electronic device, comprising:

a memory storing an infrastructure seeding engine; and

a computer processor;

wherein, when executed by the computer processor, the infrastructure seeding engine causes the computer processor to:

receive a plurality of extensible application patterns;

publish the plurality of extensible application patterns to an application pattern catalog;

receive an instantiate request comprising a selection of one of the plurality of extensible application patterns and a blueprint, wherein the blueprint identifies a deployment technology;

generate metadata for the selected extensible application pattern and the blueprint;

create execution isolations for deployments based on the metadata, wherein the execution isolations comprise a Layer-1 execution scope that identifies network tables, network routing, network isolations, subnets, VLANs, and/or foundational firewall ports for the selected extensible application pattern and a Layer-2 execution scope that comprises infrastructure code the selected extensible application pattern and/or the blueprint;

generate a configuration for the selected extensible application pattern based on the execution isolations;

generate source code for the selected extensible application pattern based on the configuration for the selected extensible application pattern;

create and link the source code for the selected extensible application pattern to a continuous integration/continuous deployment pipeline, wherein the continuous integration/continuous deployment pipeline comprises stages for executing security policies for the selected extensible application pattern;

initialize the source code; and

deploy, using the continuous integration/continuous deployment pipeline, the source code and application artifacts, wherein the deployment achieves an immutable infrastructure.

8. The electronic device of claim 7 , wherein the extensible application patterns comprise an operating system extensible application pattern, and/or a platform extensible application pattern.

9. The electronic device of claim 7 , wherein the metadata comprises execution isolation, inheritance between execution isolations, and/or scope of configuration parameters between isolation contexts.

10. The electronic device of claim 7 , wherein the metadata identifies a type of application, a geo-location for the application and/or the blueprint, a legal jurisdiction for the application and/or the blueprint, or a data classification check for the application.

11. The electronic device of claim 7 , wherein the code for the selected extensible application pattern is inherited from the published extensible application pattern.

12. The electronic device of claim 7 , wherein the infrastructure seeding engine further causes the computer processor to receive approval for the selected extensible application pattern.

13. A system comprising:

a database storing a plurality of extensible application patterns;

an application pattern catalog storing the plurality of extensible application patterns;

a metadata linking store that stores metadata;

a configuration store that stores configuration data;

a security policy store that stores security policies applicable to the plurality of extensible application patterns;

a source code repository that stores source code; and

an electronic device comprising a computer processor and a memory storing an infrastructure seeding engine that, when executed by the computer processor, the infrastructure seeding engine causes the computer processor to:

receive a selection of one of the plurality of extensible application patterns and a blueprint, wherein the blueprint identifies a deployment technology;

generate metadata for the selected extensible application pattern and the blueprint and store the metadata in the metadata store;

create execution isolations for deployments based on the metadata, wherein the execution isolations comprise a Layer-1 execution scope that identifies network tables, network routing, network isolations, subnets, VLANs, and/or foundational firewall ports for the selected extensible application pattern and a Layer-2 execution scope that comprises infrastructure code the selected extensible application pattern and/or the blueprint;

apply security policies to the selected extensible application pattern from the security policy store;

generate a configuration for the selected extensible application pattern based on the execution isolations;

generate source code for the selected extensible application pattern based on the configuration for the selected extensible application pattern and store the source code in the source code repository;

create and link the source code for the selected extensible application pattern to a continuous integration/continuous deployment pipeline, wherein the continuous integration/continuous deployment pipeline comprises stages for executing security policies for the selected extensible application pattern;

initialize the source code; and

deploy using the continuous integration/continuous deployment pipeline, the source code and application artifacts, wherein the deployment achieves an immutable infrastructure.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2023
From: COMBS, JOHN S.; BAWA, MANUJ
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064434/0886 →
Continuity (1)
Related Publication 20230128753A1 · Apr 27, 2023