I. Introduction
In recent years the Cloud Computing paradigm has evolved to offer secure services to execute applications in an environment with high scalability and flexibility and affordable pricing for users. Thus, cloud computing has emerged as an important community resource and is considered a new alternative for the execution of applications with high levels of security and reliability [1]. Cloud services and resources are available in a managed and virtual platform that dynamically provides scalable resources in a transparent way to users. A particular class of service is Infrastructure as a Service (IaaS), which offers a set of Virtual Machines (VMs) of different types and capacity, allowing users to choose according their needs.