In the context of today's business environment, there's a trend that sees computing resources becoming cheaper, more powerful and more ubiquitously available thanks to fast-growing development of processing and storage technologies, along with the viral success of the Internet (Panzieri et al., 2012). This technological progress led to the realization of a new paradigm called Cloud Computing, which resources are provided as general utilities that can be requested and released on-demand by users through the Internet (Zhang et al., 2010). Cloud computing gained an increasing popularity in the computing world in the last five years, as Information Technology saw in outsourcing and resources decentralization the real business success. In fact, the combination of Web 2.0 plus Cloud computing allowed the shift from virtual to virtualized organizations, with teams located in different locations around the world, connected by mobile technology, netbooks, Web 2.0 tools, and Cloud services (Hwang et al., 2012). However, although Cloud introduced a relatively new way of perceiving IT, as it can now be presented as a pay-per-use service, some of the features were already present in some of the technologies already in use, such as geographically distributed resources, and location and access transparency. In fact, those concepts are already at the base of distributed computing, and Clouds can be considered extensions of Distributed systems, with the additional ability of moving storage and computational data from physical machines to remote, possibly unknown, locations, which are accessible in a simple and pervasive way. Often, the distinction from Distributed computing is perceived as blurred (Adolph, 2009; Foster, 2008), but, theoretically, it is possible to distinguish the main difference between these two concepts: Distributed computing is a field of computer science that deals with those systems that utilizes the power of multiple self-gover