IP Library Granted Patent US 11,907,590
Granted Patent B2
US 11,907,590 · App. 17/513,085 · Granted Feb 20, 2024

Using infrastructure-as-code (‘IaC’) to update a cloud-based storage system

Inventors: Naveen Neelakantam (Mountain View, CA); Joshua Freilich (San Francisco, CA)
Assignee: PURE STORAGE, INC.
G06F3/067G06F3/064G06F3/065G06F3/0617G06F3/0619G06F3/0632G06F3/0659G06F3/0662G06F9/45558G06F9/545H04L41/082H04L67/1095H04L67/1097G06F2009/4557G06F2009/45562G06F2009/45595
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,907,590
App. No.
17/513,085
Filed
Oct 28, 2021
Granted
Feb 20, 2024
Kind
B2
Art Unit
2451
USPC
709/221
Abstract

Using Infrastructure-as-Code (‘IaC’) to update a cloud-based storage system, including: monitoring one or more performance metrics associated with a cloud-based storage system; generating, based on the performance metrics, a configuration template for the cloud-based storage system, wherein the configuration template specifies a target state for the cloud-based storage system; and updating the cloud-based storage system using the configuration template.

Claims (29)

1. A method comprising:

monitoring one or more performance metrics associated with a cloud-based storage system;

generating, based on the performance metrics, a target state for the cloud-based storage system;

generating, based on the target state and a current state of the cloud-based storage system, one or more transitional codified states, each transitional codified state comprises one or more configuration templates for the cloud-based storage system, wherein each configuration template specifies service or component architectures; and

updating the cloud-based storage system by applying the one or more transitional codified states and using the one or more configuration templates.

2. The method of claim 1 wherein the performance metrics include a number of input/output (‘I/O’) operations that are directed to the cloud-based storage system.

3. The method of claim 1 wherein the performance metrics include an amount of storage utilized in the cloud-based storage system.

4. The method of claim 1 wherein monitoring one or more performance metrics associated with a cloud-based storage system includes determining whether one or more service level agreements associated with the cloud-based storage system are being met.

5. The method of claim 1 wherein monitoring one or more performance metrics associated with a cloud-based storage system includes determining whether one or more latency targets associated with input/output (‘I/O’) operations that are directed to the cloud-based storage system are being met.

6. The method of claim 1 wherein the target state for the cloud-based storage system includes additional cloud computing resources for supporting a storage controller application than are included in the current state for the cloud-based storage system.

7. The method of claim 1 , wherein generating the one or more transitional codified states comprises querying a repository storing a plurality of transitional codified states.

8. The method of claim 7 , wherein the repository stores one or more encodings of allowable transitions between the plurality of transitional codified states.

9. The method of claim 8 , wherein the allowable transitions are encoded according to one or more rules for preventing a disruptive upgrade.

10. An apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:

monitoring one or more performance metrics associated with a cloud-based storage system;

generating, based on the performance metrics, a target state for the cloud-based storage system;

generating, based on the target state and a current state of the cloud-based storage system, one or more transitional codified states, each transitional codified state comprises one or more configuration templates for the cloud-based storage system, wherein each configuration template specifies service or component architectures; and

updating the cloud-based storage system by applying the one or more transitional codified states and using the one or more configuration templates.

11. The apparatus of claim 10 , wherein monitoring one or more performance metrics associated with a cloud-based storage system includes determining whether one or more service level agreements associated with the cloud-based storage system are being met.

12. The apparatus of claim 10 , wherein monitoring one or more performance metrics associated with a cloud-based storage system includes determining whether one or more latency targets associated with input/output (‘I/O’) operations that are directed to the cloud-based storage system are being met.

13. The apparatus of claim 10 , wherein the performance metrics include at least one of: a number of input/output (‘I/O’) operations that are directed to the cloud-based storage system or an amount of storage utilized in the cloud-based storage system.

14. A computer program product disposed upon a computer readable medium, the computer program product comprising computer program instructions that, when executed, cause a computer to carry out the steps of:

monitoring one or more performance metrics associated with a cloud-based storage system;

generating, based on the performance metrics, a target state for the cloud-based storage system;

generating, based on the target state and a current state of the cloud-based storage system, one or more transitional codified states, each transitional codified state comprises one or more configuration templates for the cloud-based storage system, wherein each configuration template specifies service or component architectures; and

updating the cloud-based storage system by applying the one or more transitional codified states and using the one or more configuration templates.

15. The computer program product of claim 14 , wherein monitoring one or more performance metrics associated with a cloud-based storage system includes determining whether one or more service level agreements associated with the cloud-based storage system are being met.

16. The computer program product of claim 14 , wherein monitoring one or more performance metrics associated with a cloud-based storage system includes determining whether one or more latency targets associated with input/output (‘I/O’) operations that are directed to the cloud-based storage system are being met.

17. The computer program product of claim 14 , wherein the performance metrics include at least one of: a number of input/output (‘I/O’) operations that are directed to the cloud-based storage system or an amount of storage utilized in the cloud-based storage system.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 28, 2021
From: NEELAKANTAM, NAVEEN; FREILICH, JOSHUA
To: PURE STORAGE, INC.
Reel/Frame 057948/0271 →
Continuity (4)
Continuation 16449747 · Jun 24, 2019
Provisional Application 62769277 · Nov 19, 2018
Provisional Application 62768952 · Nov 18, 2018
Related Publication 20220052910A1 · Feb 17, 2022