IP Library Granted Patent US 11,983,544
Granted Patent B2
US 11,983,544 · App. 16/503,420 · Granted May 14, 2024

Lifecycle management for information technology infrastructure

Inventors: Mitchell Hashimoto (Los Angeles, CA); Armon Dadgar (San Francisco, CA); Paul Hinze (Chicago, IL)
Assignee: HashiCorp
G06F9/44505G06F9/4406
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,983,544
App. No.
16/503,420
Granted
May 14, 2024
Kind
B2
Abstract

A method for managing an information technology infrastructure is provided. The method may include generating a workspace configured to maintain configurations for the information technology infrastructure. A configuration file specifying configurations to apply to the information technology infrastructure may be merged into the workspace. An execution plan may be generated based on the workspace. The execution plan may include operations to apply, to the information technology infrastructure, the configurations specified in the configuration file. The configurations may be applied, based on the execution plan, by at least provisioning, modifying, and/or de-provisioning one or more resources at the information technology infrastructure. Related systems and articles of manufacture, including computer program products, are also provided.

Claims (35)

1. A system, comprising:

at least one data processor; and

at least one memory storing instructions which, when executed by the at least one data processor, result in operations comprising:

simultaneously maintaining a first workspace and a second workspace for an information technology infrastructure, the first workspace having a first set of configurations for the information technology infrastructure for hosting and executing a software application, the second workspace having a second set of configurations for the information technology infrastructure for hosting and executing the software application, the information technology infrastructure comprising a plurality of resource types provided by one or more cloud computing providers, the resource types comprising a hardware resource type, a software resource type, and a network resource type, the hardware resource type comprising hardware resources, the software resource type comprising software resources, and the network resource type comprising network resources, the first set of configurations being specific to a first resource type, and the second set of configurations being specific to a second, different, resource type, each of the first workspace and the second workspace being configured for meeting a threshold metric for the software application, the threshold metric being based on the first set of configurations and the second set of configurations, respectively;

merging, into the first workspace and/or the second workspace, a configuration file specifying one or more new configurations to apply to the information technology infrastructure, the one or more new configurations being configured to ensure the software application meets the threshold metric;

generating, based at least on the first workspace and/or the second workspace, an execution plan that includes one or more operations to apply, to the information technology infrastructure, the one or more new configurations specified in the configuration file;

applying, based at least on the execution plan, the one or more new configurations including by at least provisioning, modifying, and/or de-provisioning one or more resources from the one or more cloud computing providers associated with the first workspace and/or the second workspace at the information technology infrastructure; and

pulling, from a version controller, the configuration file, the configuration file being pulled in response to receiving, from a webhook at the version controller, a notification of the configuration file being committed at the version controller.

2. The system of claim 1 , wherein the first set of configurations are associated with a first iteration of configurations for the information technology infrastructure, and wherein the second set of configurations are associated with a second iteration of configurations for the information technology infrastructure.

3. The system of claim 2 , wherein the first iteration of configurations are applied to the information technology infrastructure in order for the information technology infrastructure to support a first environment, and wherein the second iteration of configurations are applied to the information technology infrastructure in order for the information technology infrastructure to support a second environment.

4. The system of claim 3 , wherein the first environment and the second environment each comprise a different one of a development environment, a staging environment, and a production environment.

5. The system of claim 1 , wherein the first set of configurations are associated with a first portion of the information technology infrastructure, and wherein the second set of configurations are associated with a second portion of the information technology infrastructure.

6. The system of claim 5 , wherein the first portion of the information technology infrastructure and the second portion of the information technology infrastructure each comprise a different one of the hardware resources, software resources, and network resources.

7. The system of claim 1 , wherein the first workspace is associated with a first team of users, wherein the second workspace is associated with a second team of users, wherein the first workspace is inaccessible to the second team of users, and wherein the second workspace is inaccessible to the first team of users.

8. The system of claim 1 , wherein the configuration file includes a programming code-based representation of one or more resources at the information technology infrastructure.

9. The system of claim 1 , wherein the merging of the configuration file into the first workspace and/or the second workspace modifies at least one configuration for the information technology infrastructure, and wherein the at least one configuration is modified by at least setting and/or modifying, based at least on the configuration file, one or more variables associated with the first workspace and/or the second workspace.

10. A computer implemented method, comprising: simultaneously maintaining a first workspace and a second workspace for an information technology infrastructure, the first workspace having a first set of configurations for the information technology infrastructure for hosting and executing a software application, the second workspace having a second set of configurations for the information technology infrastructure for hosting and executing the software application, the information technology infrastructure comprising a plurality of resource types provided by one or more cloud computing providers, the resource types comprising a hardware resource type, a software resource type, and a network resource type, the hardware resource type comprising hardware resources, the software resource type comprising software resources, and the network resource type comprising network resources, the first set of configurations being specific to a first resource type, and the second set of configurations being specific to a second, different, resource type, each of the first workspace and the second workspace being configured for meeting a threshold metric for the software application, the threshold metric being based on the first set of configurations and the second set of configurations, respectively;

merging, into the first workspace and/or the second workspace, a configuration file specifying one or more new configurations to apply to the information technology infrastructure, the one or more new configurations being configured to ensure the software application meets the threshold metric;

generating, based at least on the first workspace and/or the second workspace, an execution plan that includes one or more operations to apply, to the information technology infrastructure, the one or more new configurations specified in the configuration file;

applying, based at least on the execution plan, the one or more new configurations including by at least provisioning, modifying, and/or de-provisioning one or more resources from the one or more cloud computing providers associated with the first workspace and/or the second workspace at the information technology infrastructure; and

pulling, from a version controller, the configuration file, the configuration file being pulled in response to receiving, from a webhook at the version controller, a notification of the configuration file being committed at the version controller.

11. The method of claim 10 , wherein the first set of configurations are associated with a first iteration of configurations for the information technology infrastructure, and wherein the second set of configurations are associated with a second iteration of configurations for the information technology infrastructure.

12. The method of claim 11 , wherein the first iteration of configurations are applied to the information technology infrastructure in order for the information technology infrastructure to support a first environment, and wherein the second iteration of configurations are applied to the information technology infrastructure in order for the information technology infrastructure to support a second environment.

13. The method of claim 12 , wherein the first environment and the second environment each comprise a different one of a development environment, a staging environment, and a production environment.

14. The method of claim 10 , wherein the first set of configurations are associated with a first portion of the information technology infrastructure, and wherein the second set of configurations are associated with a second portion of the information technology infrastructure.

15. The method of claim 14 , wherein the first portion of the information technology infrastructure and the second portion of the information technology infrastructure each comprise a different one of the hardware resources, software resources, and network resources.

16. The method of claim 10 , wherein the first workspace is associated with a first team of users, wherein the second workspace is associated with a second team of users, wherein the first workspace is inaccessible to the second team of users, and wherein the second workspace is inaccessible to the first team of users.

17. The method of claim 10 , wherein the configuration file includes a programming code-based representation of one or more resources at the information technology infrastructure.

18. The method of claim 10 , wherein the merging of the configuration file into the first workspace and/or the second workspace modifies at least one configuration for the information technology infrastructure, and wherein the at least one configuration is modified by at least setting and/or modifying, based at least on the configuration file, one or more variables associated with the first workspace and/or the second workspace.

19. A non-transitory computer readable medium storing instructions, which when executed by at least data processor, result in operations comprising:

simultaneously maintaining a first workspace and a second workspace for an information technology infrastructure, the first workspace having a first set of configurations for the information technology infrastructure for hosting and executing a software application, the second workspace having a second set of configurations for the information technology infrastructure for hosting and executing the software application, the information technology infrastructure comprising a plurality of resource types provided by one or more cloud computing providers, the resource types comprising a hardware resource type, a software resource type, and a network resource type, the hardware resource type comprising hardware resources, the software resource type comprising software resources, and the network resource type comprising network resources, the first set of configurations being specific to a first resource type, and the second set of configurations being specific to a second, different, resource type, each of the first workspace and the second workspace being configured for meeting a threshold metric for the software application, the threshold metric being based on the first set of configurations and the second set of configurations, respectively;

merging, into the first workspace and/or the second workspace, a configuration file specifying one or more new configurations to apply to the information technology infrastructure, the one or more new configurations being configured to ensure the software application meets the threshold metric;

generating, based at least on the first workspace and/or the second workspace, an execution plan that includes one or more operations to apply, to the information technology infrastructure, the one or more configurations specified in the configuration file;

applying, based at least on the execution plan, the one or more configurations including by at least provisioning, modifying, and/or de-provisioning one or more resources from the one or more cloud computing providers associated with the first workspace and/or the second workspace at the information technology infrastructure; and

pulling, from a version controller, the configuration file, the configuration file being pulled in response to receiving, from a webhook at the version controller, a notification of the configuration file being committed at the version controller.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 19, 2025
From: HASHICORP, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 072476/0436 →
ASSIGNMENT BY DECLARATION OF AFFIDAVIT ERRONEOUSLY FILED AGAINST REEL/FRAME 060875/0424 Recorded Jul 25, 2025
From: HASHICORP, INC.
To: HASHICORP, INC.
Reel/Frame 072250/0768 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2022
From: HASHIMOTO, MITCHELL; DADGAR, ARMON; HINZE, PAUL
To: HASHICORP
Reel/Frame 060875/0424 →
Continuity (5)
Continuation In Part 16391227 · Apr 22, 2019
Provisional Application 62776433 · Dec 6, 2018
Provisional Application 62776437 · Dec 6, 2018
Provisional Application 62776434 · Dec 6, 2018
Related Publication 20200183707A1 · Jun 11, 2020