Predicting Cloud Service Costs with Machine Learning : Design a Report in Power BI and Forecasting Model Using FinOps Inform Phase Principles

Kuvaus

Many companies have been shifting from their own on-premise servers to cloud services when it comes to hosting data. As data volume has increased, cloud services offer an easier way to store rapidly increasing data volume without the need to upgrade their own on-premise servers in addition to other SaaS products. As a result of fast cloud service adoption, many users and companies spend more money on the cloud than they should. Monitoring these cloud service costs is challenging, especially when working in a multi-cloud environment. The goal of this design science research thesis is to design a Power BI report for cloud service costs and predict the costs using Prophet and TimeGPT models. This thesis is design science research. The research begins with the literature review about cloud services, FinOps, and machine learning. Then the methodology is described. After designing the conceptual model, the architecture of the system is described. The system is built using Power BI for reporting and Prophet and TimeGPT models for machine learning. Data is collected from the company’s data sources into one data platform. The data includes 16 months of data. The modelling part utilizes dbt, and the modeling technique is Data Vault 2.0. The report with Azure and Snowflake cost dashboards is developed using Power BI. In the conclusion, the results are presented as a working Power BI report, and the company is able to monitor their cloud service costs inside the organization’s tenant with a predictive machine learning model. The Prophet and TimeGPT models were relatively accurate when measuring the prediction accuracy with MAE, RMSE, and MAPE. The most accurate machine Learning model is Prophet’s time series model with default parameters in this thesis. TimeGPT model’s performance increased when adding finetuning steps until 5 finetuning steps, over 10 finetuning steps resulted in worse performance and overfitting. This study provided practical steps and recommendations on how to develop a cloud cost monitoring report with forecasting capabilities. Future research topics could include topics like examining machine learning models to more accurately predict cloud service and computing costs on service levels and exploring the capability to scale up or down current resources automatically based on machine learning predictions if the service is included in the prediction. This could be done by predicting the costs by using ARIMA model and adding commitment discounts in the prediction. In addition, optimizing resources using automation would be good research topic in the future.
Monet yritykset ovat tehneet siirtymää paikallisista konesaleista pilvipalveluiden käyttöön. Samalla datan määrä on noussut nopeasti ja pilvipalvelut tarjoavat helpon tavan säilöä dataa ilman että datan määrän kasvu johtaa paikallisten palvelimien päivitystarpeisiin. Pilvipalveluiden käyttöönoton myötä yritykset ja monet käyttäjät käyttävät enemmän rahaa pilvipalveluihin kuin heidän pitäisi. Pilvipalveluiden kustannusten seuraaminen on haastavaa erityisesti, jos yritykset käyttävät monia eri pilvipalveluiden tarjoajia. Tämän toimintatutkimus (DSR) tutkielman tarkoituksena on kehittää Power BI raportti monitoroimaan pilvipalveluiden kustannuksia ja ennustaa kustannuksia Prophet- ja TimeGPT-malleilla. Tutkielma on toimintatutkimus. Ensimmäisessä kappaleessa luodaan teoreettinen perusta pilvipalveluille, FinOpsille ja koneoppimiselle. Seuraavaksi kuvataan metodologia, jonka jälkeen kehitetään konseptuaalinen malli ja arkkitehtuuri ratkaisulle. Ratkaisussa käytetään Power BI – järjestelmää raportointiin, minkä lisäksi ennustamiseen hyödynnetään Prophet- ja TimeGPT- koneoppimismalleja. Data kerättiin yrityksen eri järjestelmistä yhteiselle data-alustalle. Dataa on 16 kuukauden edestä. Datan mallinnuksessä hydynnettiin dbt:tä ja mallinnustekniikkana käytettiin Data Vault 2.0 -mallinnusta. Azure ja Snowflake kustannukset esiteltiin Power BI:llä tuotetulla raportilla. Lopuksi tulokset kuvataan Power BI -raportilla, jonka avulla voidaan monitoroida kustannuksia ja seurata tulevaisuuden kustannusten ennustusta. Prophet- ja TimeGPT-mallit olivat melko tarkkoja, kun tarkkuutta ja tuloksia mitattiin keskimääräisen absoluuttisen virheen (MAE), neliöllisen keskiarvovirheen (RMSE) ja keskimääräisen absoluuttisen prosentuaalisen virheen (MAPE) avulla. Kaikista tuloksista tarkin malli oli Prophet-malli ilman mitään parametrejä. TimeGPT-mallin suoritustarkkuus kasvoi viidenteen hienosäätöaskeleeseen asti ja yli kymmenen askelta johti suorituskyvyn laskuun ja ylisovittamiseen. Tämä tutkielma tuotti käytännönläheiset askeleet ja suositukset, kuinka kehittää pilvipalveluiden kustannusten ennustamiseen seurantaraportti ennustuskyvykkyydellä. Jatkotutkimusaiheita voisivat olla koneoppimismallien avulla tarkempi kustannusten ennustaminen resurssitasolla. Lisäksi jatkotutkimusaiheena voitaisi tutkia palveluiden kykyä skaalata resursseja ylöspäin ja alaspäin riippuen mallin ennustuksesta, jos resurssi on ennustuksessa. Nämä voitaisiin testata ARIMA-mallin avulla ja lisätä varausalennukset ennustukseen mukaan. Myös resurssien optimointi automaation avulla voisi olla hyvä jatkotutkimusaihe.

URI

DOI

Emojulkaisu

ISBN

ISSN

Aihealue

OKM-julkaisutyyppi