Examining a cloud-based storage system using codified states
Examining a cloud-based storage system using codified states includes generating an enumeration of a plurality of resources of the cloud-based storage system; comparing the enumeration to a codified state for the cloud-based storage system; and identifying, based on the comparison, a difference between the enumeration and the codified state.
1 . A method comprising:
generating an enumeration of a plurality of resources of a cloud-based storage system, wherein the enumeration identifies resources that are currently allocated to the cloud-based storage system;
comparing the enumeration to a configuration template of a plurality of configuration templates that represent different collections of resources allocated to the cloud-based storage system during different implementation states;
identifying, based on the comparing, one or more differences between the enumeration and the configuration template of the plurality of configuration templates; and
configuring, in response to identifying the one or more differences between the enumeration and the configuration template, a resource allocation of the cloud-based storage system to reflect the configuration template of the plurality of configuration templates, wherein configuring the resource allocation of the cloud-based storage system comprises updating the resource allocation for the cloud-based storage system according to the configuration template by causing a controller in the cloud-based storage system to provision or remove a cloud computing resource indicated by the one or more differences between the enumeration and the configuration template to align the resources of the cloud-based storage system in the enumeration with the configuration template associated with a particular implementation state.
2 . The method of claim 1 , wherein the plurality of configuration templates comprise an Infrastructure as Code (IaC) configuration template.
3 . The method of claim 1 , further comprising identifying a resource included in the configuration template and excluded from the enumeration, and the method further comprises adding the resource in the cloud-based storage system.
4 . The method of claim 3 , further comprising issuing an alert indicating a difference between the configuration template and the enumeration.
5 . The method of claim 1 , further comprising identifying a resource excluded from the configuration template and included in the enumeration, and the method further comprises configuring the cloud-based storage system to use the resource.
6 . The method of claim 1 , further comprising assigning, to each resource of a plurality of resources, a corresponding tag.
7 . The method of claim 6 , wherein generating the enumeration comprises querying the cloud-based storage system for each corresponding tag for the plurality of resources.
8 . An apparatus comprising:
a memory; and
a processor, operatively coupled to the memory, configured to:
generate an enumeration of a plurality of resources of a cloud-based storage system, wherein the enumeration identifies resources that are currently allocated to the cloud-based storage system;
compare the enumeration to a configuration template of a plurality of configuration templates that represent different collections of resources allocated to the cloud-based storage system during different implementation states;
identify, based on the comparing, one or more differences between the enumeration and the configuration template of the plurality of configuration templates; and
configure, in response to identifying the one or more differences between the enumeration and the configuration template, a resource allocation of the cloud-based storage system to reflect the configuration template of the plurality of configuration templates, wherein configuring the resource allocation of the cloud-based storage system comprises updating the resource allocation for the cloud-based storage system according to the configuration template by causing a controller in the cloud-based storage system to provision or remove a cloud computing resource indicated by the one or more differences between the enumeration and the configuration template to align the resources of the cloud-based storage system in the enumeration with the configuration template associated with a particular implementation state.
9 . The apparatus of claim 8 , wherein one or more of the plurality of configuration templates comprises an Infrastructure as Code (IaC) configuration template.
10 . The apparatus of claim 8 , the processor further configured to identify a resource included in the configuration template and excluded from the enumeration, and to add the resource in the cloud-based storage system.
11 . The apparatus of claim 8 , the processor further configured to issue an alert indicating a difference between the configuration template and the enumeration.
12 . The apparatus of claim 8 , the processor further configured to identify a resource excluded from the configuration template and included in the enumeration, and to configure the cloud-based storage system to use the resource.
13 . The apparatus of claim 8 , the processor further configured to assign, to each resource of a plurality of resources, a corresponding tag.
14 . The apparatus of claim 13 , wherein the processor configured to generate the enumeration comprises querying the cloud-based storage system for each corresponding tag for the plurality of resources.
15 . A non-transitory computer readable storage medium storing instructions, which when executed, cause a processor to:
generate an enumeration of a plurality of resources of a cloud-based storage system, wherein the enumeration identifies resources that are currently allocated to the cloud-based storage system;
compare the enumeration to a configuration template of a plurality of configuration templates that represent different collections of resources allocated to the cloud-based storage system during different implementation states;
identify, based on the comparing, one or more differences between the enumeration and the configuration template of the plurality of configuration templates; and
configure, in response to identifying the one or more differences between the enumeration and the configuration template, a resource allocation of the cloud-based storage system to reflect the configuration template of the plurality of configuration templates, wherein configuring the resource allocation of the cloud-based storage system comprises updating the resource allocation for the cloud-based storage system according to the configuration template by causing a controller in the cloud-based storage system to provision or remove a cloud computing resource indicated by the one or more differences between the enumeration and the configuration template to align the resources of the cloud-based storage system in the enumeration with the configuration template associated with a particular implementation state.
16 . The non-transitory computer readable storage medium of claim 15 , wherein one or more of the plurality of configuration templates comprise an Infrastructure as Code (IaC) configuration template.
17 . The non-transitory computer readable storage medium of claim 15 , the processor further configured to identify a resource included in the particular implementation state and excluded from the enumeration, and to add the resource in the cloud-based storage system.
18 . The non-transitory computer readable storage medium of claim 15 , the processor further configured to issue an alert indicating a difference between the configuration template and the enumeration.
19 . The non-transitory computer readable storage medium of claim 15 , the processor further configured to identify a resource excluded from the configuration template and included in the enumeration, and to configure the cloud-based storage system to use the resource.
20 . The non-transitory computer readable storage medium of claim 15 , the processor further configured to assign, to each resource of a plurality of resources, a corresponding tag.