IP Library Granted Patent US 12,026,082
Granted Patent B2
US 12,026,082 · App. 17/517,739 · Granted Jul 2, 2024

Infrastructure quality assurance framework

Inventors: Srirama Murthy Chivukula (Lousiville, KY); Mohan Chintakayala (Lousiville, KY); Sumit Kumar Singh (Columbia, MO); Keith Hamilton Meyer (Louisville, KY); Stephen Beasey (Louisville, KY)
Assignee: Humana Inc.
G06F11/3616G06F8/73G06F11/3688G06F21/577G06F2221/033
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 12,026,082
App. No.
17/517,739
Granted
Jul 2, 2024
Kind
B2
Abstract

Systems and methods for providing an automated quality assurance framework for infrastructure as code (“IaC”) implementations are provided. Pull requests with proposed change to existing IaC source code (“changed code”) are received from user devices, each associated with either a service enablement team member or an applications development team member. Team specific versions of the quality assurance framework are automatically triggered for the changed code which require successful passage through multiple modules in a successive manner before automatically being merged into the existing IaC source code.

Claims (75)

1. A method for providing an automated quality assurance framework for infrastructure as code (“IaC”) implementations, said method comprising the steps of:

receiving, by way of one or more electronic communications, a pull request associated with a proposed change to existing IaC source code (“changed code”), wherein said pull request originates from a device identified as associated with one of: a service enablement team member and an applications development team member;

where said pull request originates from a device indicated as associated with the service enablement team member, triggering a service-enablement specific version of the quality assurance framework by electronically, automatically, and in succession:

applying a naming and documentation check module to the changed code, wherein said naming and documentation check module is configured to compare certain names in the changed code against a database of names for a match and verify that updates have been made to a certain electronic log;

applying a coding standards check module to the changed code, wherein said coding standards check module is configured to verify that certain predetermined syntax standards are adhered to in the changed code;

applying a test case and security check module to the changed code, wherein the test case and security check module is configured to verify that at least one predetermined test case is executable in the changed code and that certain configurations are utilized in the changed code; and

triggering a manual review of the changed code;

where said pull request originates from a device indicated as associated with the applications development team member, triggering an applications-development specific version of the quality assurance framework by electronically, automatically, and in succession:

applying an infrastructure validations module to the changed code, wherein the infrastructure validations module is configured to compare at least part of the changed code against at least certain aspects of at least one prior version of the existing IaC source code;

applying a coding standards and compliance check module to the changed code, wherein said coding standards and compliance check module is configured to verify that certain predetermined standards present in the changed code; and

applying the test case and security check module to the changed code;

upon receipt of data indicating successful completion of the quality assurance framework, automatically merging the changed code into the existing IaC source code.

2. The method of claim 1 wherein:

said naming and documentation check module comprises:

a branch naming standards module configured to compare branch names used against a database of predetermined, acceptable naming standards; and

a documentation check module configured to verify that modifications have been made to a change log file.

3. The method of claim 1 wherein:

said coding standards check module comprises:

a parameter syntax check module configured to verify that variable types and descriptions are provided; and

a provider syntax check module configured to verify that specific provider configuration fields are provided.

4. The method of claim 1 wherein:

said test case and security check module comprises:

a predefined test cases module configured to apply one or more predefined test cases simulating deployment or use to the changed code; and

a security check module configured to verify that certain predetermined, recommended security configurations are utilized in the changed code.

5. The method of claim 1 wherein:

said step of merging the changed code into the existing IaC source code comprises:

creating a new release; and

tagging the changed code with a new tag.

6. The method of claim 1 , wherein:

the infrastructure validations module comprises a day zero infrastructure comparison module configured to compare the changed code against one or more prior versions of the existing IaC source code values provided by a user.

7. The method of claim 1 wherein:

the coding standards and compliance check module comprises:

a lifecycle check module configured to verify that an up-to-date tag is provided with the changed code;

a parameter value check module configured to verify that certain predetermined disaster recommendations are followed; and

a provider syntax check module configured to compare the changed code against a database of acceptable syntax.

8. The method of claim 1 wherein:

the step of triggering the quality assurance framework comprises the subset of, following application of the at least one test case module and the at least one security check module to the changed code, triggering a manual review of the changed code.

9. The method of claim 1 wherein:

said step of merging the changed code into the existing IaC source code comprises:

creating a new release; and

tagging the changed code with a new tag.

10. A system for providing an automated quality assurance framework for infrastructure as code (“IaC”) implementations, said system comprising:

one or more IaC source code repositories storing the existing IaC source code;

a plurality of user devices, at least one of which is associated with an applications development team member, and at least one other one of which is associated with a service enablement team member, wherein said user devices are connected by way of one or more networks;

one or more electronic storage devices comprising software instructions, which when executed, configure one or more processors to:

receive pull requests, each associated with a proposed change to IaC existing source code (“changed code”), wherein each of said pull requests is indicating as originating from one of the user devices associated with one of the service enablement team member or the application development team member;

where a respective one of the pull requests is indicated as originating from a device associated with the service enablement team member, trigger a service enablement team specific version of the quality assurance framework by automatically, and in succession:

applying a naming and documentation check module to the changed code, wherein said naming and documentation check module is configured to compare certain names in the changed code against a database of names for a match and verify that updates have been made to a certain log;

applying a coding standards check module to the changed code, wherein said coding standards check module is configured to verify that certain predetermined syntax standards are adhered to in the changed code; and

applying a test case and security check module to the changed code, wherein the test case and security check module is configured to verify that at least one predetermined test case is executable in the changed code and that certain configurations are utilized in the changed code;

where the respective one of the pull requests is indicated as originating from one of the user devices indicated as associated wither the applications development team member, trigger an applications development team specific version of the quality assurance framework by automatically, and in succession:

applying an infrastructure validations module to the changed code, wherein the infrastructure validations module is configured to compare at least part of the changed code against at least certain aspects of at least one prior version of the existing IaC source code;

applying a coding standards and compliance check module to the changed code, wherein said coding standards and compliance check module is configured to verify that certain predetermined standards present in the changed code; and

applying the test case and security check module to the changed code;

following receipt of data indicating successful completion of the quality assurance framework, automatically merge the changed code into the existing IaC source code stored at the one or more IaC source code repositories.

11. The system of claim 10 wherein:

said naming and documentation check module comprises a branch naming standards module configured to compare branch names used against a database of predetermined, acceptable naming standards and a documentation check module configured to verify that modifications have been made to a change log file;

said coding standards check module comprises a parameter syntax check module configured to verify that variable types and descriptions are provided and a provider syntax check module configured to verify that specific provider configuration fields are provided; and

said test case and security check module comprises a predefined test cases module configured to apply one or more predefined test cases simulating deployment or use to the changed code and a security check module configured to verify that certain predetermined, recommended security configurations are utilized in the changed code.

12. The system of claim 10 wherein:

the infrastructure validations module comprises a day zero infrastructure comparison module configured to compare the changed code against one or more prior versions of the existing IaC source code values by a user;

the coding standards and compliance check module comprises a lifecycle check module configured to verify that an up-to-date tag is provided with the changed code, a parameter value check module configured to verify that certain predetermined disaster recommended are followed, and a provider syntax check module configured to compare the changed code against a database of acceptable syntax.

13. The system of claim 10 wherein:

said one or more electronic storage devices comprise additional software instructions, which when executed, configure the one or more processors to, as part of the quality assurance framework, generate a failure notification where any one or more of the modules of the quality assurance framework associated with the respective one of the pull requests is not successfully passed.

14. The system of claim 13 wherein:

said one or more electronic storage devices comprise additional software instructions, which when executed, configure the one or more processors to, where a one of the failure notifications is generated, transmit the respective one of the failure notifications to at least a respective one of the user devices associated with the respective one of the pull requests; and

each of said failure notifications comprise an indication of which of said modules was not successfully passed for said respective one of said pull requests.

15. The system of claim 10 wherein:

said one or more electronic storage devices comprise additional software instructions, which when executed, configure the one or more processors to, upon receipt of data indicating successful completion of the applications development team specific quality assurance framework or the services enablement team specific version of the quality assurance framework for said respective one of said pull requests, trigger a manual review of the changed code, and only permit said automatic merging of the changed code into the existing IaC source code where said data is received indicating approval from said manual review of the changed code.

16. The system of claim 10 wherein:

said one or more electronic storage devices comprise additional software instructions, which when executed, as part of said automatic merging of the changed code into the existing IaC source code:

automatically create a new release; and

automatically tag the changed code with a new tag.

17. The system of claim 10 wherein:

said one or more electronic storage devices comprise additional software instructions, which when executed, configure the one or more processors to create a new working code area within said one or more source code repositories for temporary storage of said changed code for each of said pull requests.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2021
From: CHINTAKAYALA, MOHAN; MEYER, KEITH HAMILTON; SINGH, SUMIT KUMAR; CHIVUKULA, SRIRAMA MURTHY; BEASEY, STEPHEN
To: HUMANA INC.
Reel/Frame 058073/0006 →
Continuity (1)
Related Publication 20230136623A1 · May 4, 2023
Cited By (2)
US 12,360,880 US 12,632,311