Cloud application scaler
Abstract
A system includes a processing system and a memory system. The memory system stores instructions for identifying a cloud application in a cloud environment as a non-disposable application and monitoring a plurality of instances of the non-disposable application running in the cloud environment. The instructions when executed by the processing system further result in determining that a number of the instances of the non-disposable application should be modified based on one or more demand predictions by an artificial intelligence scaler, adjusting the number of the instances of the non-disposable application running in the cloud environment based on the one or more demand predictions, and modifying an allocation of one or more resources of the cloud environment associated with adjusting the number of the instances of the non-disposable application.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A system, comprising:
a processing system; and
a memory system in communication with the processing system, the memory system storing instructions that when executed by the processing system result in:
identifying a cloud application in a cloud environment as a non-disposable application, wherein the cloud application is identified as the non-disposable application based on determining that the cloud application complies with less than a predetermined number of a plurality of design constraints to support dynamic deployment in the cloud environment;
monitoring a plurality of instances of the non-disposable application running in the cloud environment;
determining that a number of the instances of the non-disposable application should be modified based on one or more demand predictions by an artificial intelligence scaler;
adjusting the number of the instances of the non-disposable application running in the cloud environment based on the one or more demand predictions; and
modifying an allocation of one or more resources of the cloud environment associated with adjusting the number of the instances of the non-disposable application.
2. The system of claim 1 , wherein identifying the non-disposable application comprises performing a multi-factor check of the cloud application to determine whether the cloud application complies with the plurality of design constraints to support dynamic deployment in the cloud environment.
3. The system of claim 2 , wherein the cloud application is identified as a disposable application based on determining that the cloud application complies with the design constraints to support dynamic deployment in the cloud environment.
4. The system of claim 3 , further comprising instructions that when executed by the processing device result in:
using an auto-scaler associated with the cloud environment to scale up and scale down the cloud application based on determining that the cloud application is the disposable application.
5. The system of claim 1 , wherein monitoring the instances of the non-disposable application running in the cloud environment comprises monitoring usage of the one or more resources associated with the non-disposable application in the cloud environment, and wherein the one or more resources comprise one or more of processor resources, memory resources, disk resources, and virtual machine resources.
6. The system of claim 5 , further comprising instructions that when executed by the processing device result in:
logging a usage history of the one or more resources by the non-disposable application;
analyzing the usage history to determine a normalized usage profile and an idle usage profile of the one or more resources by the non-disposable application;
identifying one or more patterns by the artificial intelligence scaler based on the normalized usage profile and an idle usage profile; and
establishing one or more of scale-up rules and scale-down rules by the artificial intelligence scaler based on the one or more patterns.
7. The system of claim 6 , wherein the one or more of the scale-up rules and the scale-down rules comprise a time component.
8. The system of claim 6 , further comprising instructions that when executed by the processing device result in:
adjusting the one or more of the scale-up rules and the scale-down rules based on the artificial intelligence scaler observing a change in the one or more patterns.
9. The system of claim 8 , further comprising instructions that when executed by the processing device result in:
applying the one or more of the scale-up rules to initiate an increase in the number of the instances of the non-disposable application running in the cloud environment prior to observing an increased demand of the one or more resources of the cloud environment associated with the non-disposable application; and
applying the one or more of the scale-down rules to initiate a decrease in the number of the instances of the non-disposable application running in the cloud environment prior to observing a decreased demand of the one or more resources of the cloud environment associated with the non-disposable application.
10. The system of claim 9 , further comprising instructions that when executed by the processing device result in:
pausing at least one of the instances of the non-disposable application to prevent one or more new transactions from being entered based on initiating the decrease in the number of the instances of the non-disposable application running in the cloud environment;
waiting for one or more of the instances of the non-disposable application to finish; and
reducing the number of the instances of the non-disposable application running in the cloud environment based on the waiting.
11. The system of claim 1 , wherein the one or more demand predictions are based on detecting one or more patterns indicative of a resource demand increase or a resource demand decrease.
12. The system of claim 11 , further comprising instructions that when executed by the processing device result in:
triggering an alert based on detection by the artificial intelligence scaler of one or more irregular patterns of resource demands, wherein the irregular patterns are identified based on a level of deviation from one or more expected patterns of resource demands.
13. The system of claim 1 , further comprising instructions that when executed by the processing device result in:
training the artificial intelligence scaler with a plurality of test loads applied to the one or more resources of the cloud environment.
14. The system of claim 1 , wherein the artificial intelligence scaler comprises a software service executed remotely from the cloud environment.
15. The system of claim 1 , wherein monitoring the plurality of instances of the non-disposable application running in the cloud environment is performed at a predetermined time interval through an application programming interface of the cloud environment.
16. The system of claim 1 , further comprising instructions that when executed by the processing device result in:
writing a plurality of results of monitoring the instances of the non-disposable application into a log file at a first interval; and
analyzing content of the log file to identify one or more patterns by the artificial intelligence scaler at a second interval.
17. A computer program product comprising a storage medium embodied with computer program instructions that when executed by a computer cause the computer to implement:
identifying a cloud application in a cloud environment as a non-disposable application, wherein the cloud application is identified as the non-disposable application based on determining that the cloud application complies with less than a predetermined number of a plurality of design constraints to support dynamic deployment in the cloud environment;
monitoring a plurality of instances of the non-disposable application running in the cloud environment;
determining that a number of the instances of the non-disposable application should be modified based on one or more demand predictions by an artificial intelligence scaler;
adjusting the number of the instances of the non-disposable application running in the cloud environment based on the one or more demand predictions; and
modifying an allocation of one or more resources of the cloud environment associated with adjusting the number of the instances of the non-disposable application.
18. The computer program product of claim 17 , wherein identifying the non-disposable application comprises performing a multi-factor check of the cloud application to determine whether the cloud application complies with the plurality of design constraints to support dynamic deployment in the cloud environment.
19. The computer program product of claim 18 , wherein the cloud application is identified as a disposable application based on determining that the cloud application complies with the design constraints to support dynamic deployment in the cloud environment.
20. The computer program product of claim 17 , wherein monitoring the instances of the non-disposable application running in the cloud environment comprises monitoring usage of the one or more resources associated with the non-disposable application in the cloud environment, and wherein the one or more resources comprise one or more of processor resources, memory resources, disk resources, and virtual machine resources.
21. The computer program product of claim 20 , wherein further comprising computer program instructions that when executed by the computer cause the computer to implement:
logging a usage history of the one or more resources by the non-disposable application;
analyzing the usage history to determine a normalized usage profile and an idle usage profile of the one or more resources by the non-disposable application;
identifying one or more patterns by the artificial intelligence scaler based on the normalized usage profile and an idle usage profile; and
establishing one or more of scale-up rules and scale-down rules by the artificial intelligence scaler based on the one or more patterns.
22. The computer program product of claim 21 , wherein the one or more of the scale-up rules and the scale-down rules comprise a time component, and further comprising computer program instructions that when executed by the computer cause the computer to implement:
adjusting the one or more of the scale-up rules and the scale-down rules based on the artificial intelligence scaler observing a change in the one or more patterns;
applying the one or more of the scale-up rules to initiate an increase in the number of the instances of the non-disposable application running in the cloud environment prior to observing an increased demand of the one or more resources of the cloud environment associated with the non-disposable application; and
applying the one or more of the scale-down rules to initiate a decrease in the number of the instances of the non-disposable application running in the cloud environment prior to observing a decreased demand of the one or more resources of the cloud environment associated with the non-disposable application.
23. The computer program product of claim 22 , further comprising computer program instructions that when executed by the computer cause the computer to implement:
pausing at least one of the instances of the non-disposable application to prevent one or more new transactions from being entered based on initiating the decrease in the number of the instances of the non-disposable application running in the cloud environment;
waiting for one or more of the instances of the non-disposable application to finish; and
reducing the number of the instances of the non-disposable application running in the cloud environment based on the waiting.
24. The computer program product of claim 17 , wherein the one or more demand predictions are based on detecting one or more patterns indicative of a resource demand increase or a resource demand decrease, and further comprising computer program instructions that when executed by the computer cause the computer to implement:
triggering an alert based on detection by the artificial intelligence scaler of one or more irregular patterns of resource demands, wherein the irregular patterns are identified based on a level of deviation from one or more expected patterns of resource demands.
25. The computer program product of claim 17 , wherein training the artificial intelligence scaler with a plurality of test loads applied to the one or more resources of the cloud environment, and the artificial intelligence scaler comprises a software service executed remotely from the cloud environment.
26. The computer program product of claim 17 , wherein monitoring the plurality of instances of the non-disposable application running in the cloud environment is performed at a predetermined time interval through an application programming interface of the cloud environment.Join the waitlist — get patent alerts
Track US11567797B2 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.