Cloud computing is gaining popularity among small and medium-sized enterprises. The cost of cloud resources plays a significant role for these companies and this is why cloud resource optimization has become a very important issue. Numerous methods have been proposed to optimize cloud computing resources according to actual demand and to reduce the cost of cloud services. Such approaches mostly focus on a single factor (i.e. compute power) optimization, but this can yield unsatisfactory results in real-world cloud workloads which are multi-factor, dynamic and irregular. This paper presents a novel approach which uses anomaly detection, machine learning and particle swarm optimization to achieve a cost-optimal cloud resource configuration. It is a complete solution which works in a closed loop without the need for external supervision or initialization, builds knowledge about the usage patterns of the system being optimized and filters out anomalous situations on the fly. Our solution can adapt to changes in both system load and the cloud provider's pricing plan. It was tested in Microsoft's cloud environment Azure using data collected from a real-life system. Experiments demonstrate that over a period of 10 months, a cost reduction of 85% was achieved.
Predicting demand for computing resources in any system is a vital task since it allows the optimized management of resources. To some degree, cloud computing reduces the urgency of accurate prediction as resources can be scaled on demand, which may, however, result in excessive costs. Numerous methods of optimizing cloud computing resources have been proposed, but such optimization commonly degrades system responsiveness which results in quality of service deterioration. This paper presents a novel approach, using anomaly detection and machine learning to achieve cost-optimized and QoS-constrained cloud resource configuration. The utilization of these techniques enables our solution to adapt to different system characteristics and different QoS constraints. Our solution was evaluated using a system located in Microsoft’s Azure cloud environment, and its efficiency in other providers’ computing clouds was estimated as well. Experiment results demonstrate a cost reduction ranging from 51% to 85% (for PaaS/IaaS) over the tested period.
1 April 2022 in IEEE Transactions on Services Computing
Computing services are increasingly located in computing clouds, which allows for on-demand scalability but may also increase operating costs. It is believed that cloud expenses constitute a significant budget item in companies of all sizes. There is a considerable body of work dedicated to reducing the costs of cloud computing, which is mainly focused on optimizing the use of cloud resources. Such optimization, however, tends to result in the deterioration of computing service responsiveness and, as a result, quality of service parameters, especially when applied to real-world, noisy data which include anomalies. This paper presents a novel approach which involves a six-stage optimization process incorporating load prediction supported by machine learning, the discovery of computing service characteristics and long-term planning of resource usage alongside anomaly detection and continuous monitoring with a self-adapting ability. The solution proposed works autonomously, builds knowledge about the optimized system and its load patterns, calculates cost-optimal resource provisioning plans and adapts to rapid environmental changes. Our evaluation using Microsofts Azure cloud environment demonstrates savings ranging from 31% to 89% depending on the test scenario; cost reductions for other cloud computing providers were estimated as well.
The methods used for developing applications for mobile devices have become an important field of research. In this article, we analyze the two most popular approaches, native and cross platform, and compare identical applications developed using various tools.
Predicting computing resource usage in any system allows optimized management of resources. As cloud computing is gaining popularity, the urgency of accurate prediction is reduced as resources can be scaled on demand. However, this may result in excessive costs, and therefore there is a considerable body of work devoted to cloud resource optimization which can significantly reduce the costs of cloud computing. The most promising methods employ load prediction and resource scaling based on forecast values. However, prediction quality depends on prediction method selection, as different load characteristics require different forecasting mechanisms. This paper presents a novel approach that incorporates data-driven adaptation of prediction algorithms to generate short- and long-term cloud resource usage predictions and enables the proposed solution to readjust to different load characteristics as well as both temporary and permanent usage changes. First, preliminary tests were performed that yielded promising results – up to 36% better prediction quality. Subsequently, a fully autonomous, multi-stage optimization solution was proposed. The proposed approach was evaluated using real-life historical data from various production servers. Experiment results demonstrate 9.28% to 80.68% better prediction quality when compared to static algorithm selection.
In this paper we propose a novel reservation plan adaptation system based on machine learning. In the context of cloud auto-scaling, an important issue is the ability to define and use a resource reservation plan, which enables efficient resource scheduling. If necessary, the plan may allocate new resources upon reservation where a sufficient amount of resources is available. Our solution allows the updating of a reservation plan initially prepared by an administrator. It makes it possible to adapt reservation plans one or more weeks ahead. Hence, it allows time for the administrator to analyze the plan and discover potential problems with resource under-provisioning or over-provisioning, which may prevent server overload in the former case and unnecessary expenses in the latter. It also makes it possible to extract and analyze the knowledge learned, which may provide useful information about resource usage characteristics. The proposed solution is tested on OpenStack using real Wikipedia server traffic data. Experimental results demonstrate that machine learning enables an improvement in resource usage.