## 2 Materials and Methods
### Cloud Services  
Cloud services make it so that someone can connect and use applications based in the cloud. There are multiple advantages. Both users and companies can have access to complex applications without the need for specialized hardware/software. Not only that though, as users can usually access those applications on any device with internet access, which also means that all data are the same, regardless of that device. Finally, those applications are usually pay-per-use, avoiding expenses on unused services. Usually, the amount paid for these services is lower than the amount paid for management of dedicated hardware [8]. The clear definition and application of the service level agreement (SLA) are of paramount importance. Cloud-based solutions are only viable for a client if aspects such as quality and availability are defined between him and the service provider [9]. One example is Amazon Web Services (AWS), which contains services and applications in areas including databases, virtual servers, computation, machine learning, artificial intelligence, gaming, internet of things, and many others [10].  
As illustrated in Figure 3, there are three standard types of service modules, each one defined by the National Institute of Standards and Technology (NIST) [11]:  
* **Infrastructure as a service (IaaS)**: Where the consumer is able to deploy and run arbitrary software, which can include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, and deployed applications; and possibly limited control of select networking components (e.g., host firewalls).
* **Platform as a service (PaaS)**: The capability provided to the consumer is to deploy onto the cloud infrastructure consumer-created or acquired applications created using programming languages, libraries, services, and tools supported by the provider. The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, or storage, but has control over the deployed applications and possibly configuration settings for the application-hosting environment.
* **Software as a service (SaaS)**: The capability provided to the consumer is to use the provider's applications running on a cloud infrastructure. The applications are accessible from various client devices through either a thin client interface, such as a web browser (e.g., web-based email), or a program interface. The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user-specific application configuration settings.  
Figure 2: A self organizing network’s life cycle.  
Another service model is **function as a service (FaaS)**, also associated with serverless computing [13]. Instead of using a continuously working virtual machine, FaaS enables the deployment of single functions which are only executed after a trigger or an event. This might be a better alternative for running code which does not have to execute multiple times or/and for a long time. One example of FaaS is AWS Lambda [14].