US 12,079,495 B2
Input/output operations per second (IOPS) and throughput monitoring for dynamic and optimal resource allocation
Priyanka Jain, Bangalore (IN); Srikanth Venkatesh Goutham, Bangalore (IN); Dilip Krishnan, Kerala (IN); Suruchi Kumari, Bangalore (IN); Rama Kant Pathak, Bahraich (IN); Arun Pandey, Bangalore (IN); and Venkata Manikanta Reddy Mopuri, Telangana (IN)
Assigned to NetApp, Inc., San Jose, CA (US)
Filed by NetApp Inc., San Jose, CA (US)
Filed on Jan. 28, 2022, as Appl. No. 17/587,175.
Prior Publication US 2023/0244392 A1, Aug. 3, 2023
Int. Cl. G06F 3/06 (2006.01)
CPC G06F 3/0631 (2013.01) [G06F 3/0613 (2013.01); G06F 3/0617 (2013.01); G06F 3/0659 (2013.01); G06F 3/0664 (2013.01); G06F 3/067 (2013.01)] 19 Claims
OG exemplary drawing
 
1. A method, comprising:
storing a volume within a storage resource, wherein a container orchestrated platform hosts the volume as a custom object according to a custom resource definition not natively supported by the container orchestrated platform; and
interpreting, by a vertical pod autoscaler modified to interpret the custom resource definition of the custom object, resource utilization information of the volume by the vertical pod autoscaler:
storing, within a database, memory and processor utilization information associated with a container running in a pod and provided with access to the volume;
querying the database to identify historic memory and processor utilization information associated with the container;
generating a recommendation of memory and processor allocations for the container based upon the historic memory and processor utilization information;
in response to determining that a current memory and processor allocation for the container does not satisfy the recommendation, evicting the container by stopping the container orchestrated platform from executing the pod and removing the container from memory;
rewriting a specification for the container with requests and limit values derived from the recommendation to create a rewritten specification comprising instructions for how to re-host and run the container; and
re-hosting the container using resources that satisfy the rewritten specification.