[ca] El propòsit principal d'aquesta tesis és contribuir als entorns Cloud en la millora del consum energètic i de la Qualitat de Servei (QoS), a través dels Acords de Nivell de Servei (SLA), mitjançant tècniques que permetin prendre el nombre adequat de bones decisions. Realitzant les assignacions de tasques i migracions de màquines virtuals adquades, es pot arribar a obtenir centres de dades més estables i eficients, requerint una menor supervisió i correccions, garantint un nombre escencial de màquines físiques actives funcionant correctament i evitar la realització d'accions redundants. En aquesta tesis s'ha tractat amb dos tipus d'entorns amb workloads reals. Primerament, en els entorns estàtics, s'ha solucionat el Bin Packing Problem optimitzant l'energia i el temps de còmput (makespan) mitjançant un algorisme genètic multiobjectiu (BLEMO). En el segon problema, els entorns dinàmics, s'han desenvolupat diferents propostes. S'ha proposat un algorisme de selecció de màquines virtuals (WPSP) per tal de reduïr el nombre de migracions, energia, SLA Violation, juntament amb un algorisme d'assignació a host (MDG) per reduïr les comunicacions entre hosts, optimitzant el Bandwidth. S'ha combinat l'ús de les Bandes de Bollinger amb el framework Neural Prophet (BB+NeoPro) per tal de generar prediccions a més llarg termini, estabilitzant el centre de dades i optimitzant el nombre de migracions, energia i Violació de SLA. Finalment, s'ha desenvolupat una versió millorada de BB+NeoPro combinant WPSP, BB i Facebook Prophet (WBF), provant-la amb diferents càrregues de treball del Cloud per provar la seva robustesa. A més, s'ha extés el simulador Cloudsim, creant MetaCloudsim, incorporant noves funcionalitats, mètriques, cargues de treball, algorismes i eines.

[en] The main purpose of this thesis is to contribute to Cloud environments by improving energy consumption and Quality of Service (QoS), by means of the Service Level Agreement (SLA), through techniques that allow the correct decisions to be executed at the correct moment. Resource planning allows the needs and demands of each physical and virtual machine to be adapted to improve the overall system performance. By performing optimal task assignations and Virtual Machine migrations, datacenters become more stable and efficient, requiring less supervision and corrections, guaranteeing the indispensable number of active physical machines running properly and avoiding the performing of redundant actions. Two types of environments were dealt with during this thesis. Firstly, static environments were the focus, where the Bin Packing Problem was solved to optimise the energy and makespan proposing a multi-objective genetic algorithm (BLEMO). The next focus was on dynamic environments, in which different proposals were developed. Initially, a virtual machine selection algorithm (WPSP) was proposed to reduce the number of migrations and SLA violations. The proposal included a VM to host allocation algorithm (MDG) in order to reduce the total inter-host communications, and so optimising the network bandwidth. Next, the use of Bollinger Bands (BB) was combined with the NeuralProphet framework (BB+NeoPro) to generate long-term predictions. These enable consolidation of the VM to host allocations, reducing the number of migrations, energy consumption and SLA Violations. Furthermore, an improved version of BB+NeoPro was proposed by combining WPSP, BB and Facebook Prophet (WBF). This proposal was tested with different Cloud workloads from several providers in order to validate its robustness.