Introduction to cloud computing: platforms and solutions - Springer Link

6 downloads 120812 Views 210KB Size Report
Feb 15, 2014 - services is a major advantage of cloud computing, as the customers do not have .... Private clouds are deployed by a single organization for its.
Cluster Comput (2014) 17:1225–1229 DOI 10.1007/s10586-014-0352-5

Introduction to cloud computing: platforms and solutions Jesus Carretero · Javier Garcia Blas

Published online: 15 February 2014 © Springer Science+Business Media New York 2014

Abstract This special issue of the cluster computing journal will feature articles that discuss tools and applications for cloud computing. Specifically, it aims at delivering the stateof-the-art research on current cloud computing tools topics, and at promoting the cloud applications discipline by bringing to the attention of the community novel problems that must be investigated. Keywords

Cloud computing · Platforms · Special issue

1 Introduction Cloud Computing is a recent trend in information technology and scientific computing that moves computing and data resources to large data centers. Following NIST [20], Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. Although the idea of cloud computing has been around for quite some time, cloud computing is characterized as a computing environment where computing needs by one party can be accessed via Internet from external servers that do not belong to the user’s company but to the cloud owner or to a cloud federation, allowing the user to get resources elastically as they change. Thus, cloud computing moves computJ. Carretero (B) · J. G. Blas Computer Science and Engineering Department, University Carlos III of Madrid, Madrid, Spain e-mail: [email protected] J. G. Blas e-mail: [email protected]

ing and data away from small personal or company systems to large data centers, whose services are provided in a payper-use model. Technologically, cloud computing joins several different computing technologies coming from virtualization, grid computing, peer-to-peer computing, autonomic computing, web services, ubiquitous computing, service oriented architecture, etc. [2]. However, driving forces for cloud computing are not only technological. First motivation was an insideout solution to allow the resource providers to fully exploit the under-utilized resources in computing and data centers. However, the companies discovered great advantages in this technology, and a outside-in pressure was created to get utility computing and a IT services available anytime worldwide form any device. The possibility of outsourcing cheap services is a major advantage of cloud computing, as the customers do not have to purchase or maintain their own infrastructure, getting services ranging from software to storage or security, while they don’t have to suffer technology obsolescence ot their own installations. Cloud Computing opens new perspectives in inter-networking technologies, raising new issues in the architecture, design, and implementation of existing networks and data centers. The relevant research has just recently gained momentum and the space of potential ideas and solutions is still far from being widely explored, existing novel challenges [19,32] that must be investigated. In this brief overview, we show some of them and provide the reader with references for extending her information.

2 Cloud computing solutions Cloud computing solutions usually rely on applications that are built on top of services [20,25]. Services are offered

123

1226

through the network using standard mechanisms, as web services, by providers disconnected from the users, which builds applications as needed by compiling mash-ups of services, that can include heterogeneous platforms with well defined behavior. Nowadays, enabling cloud-based services [24], it is not as transparent as it should be. Several programming models have been proposed based on service composition, work-flows, and map-reduce paradigms. Cloud service providers can be roughly classified into three categories: software as a service (SaaS), platform as a service (PaaS), and infrastructure as a service (IaaS). SaaS aims to provide application developers services (or even complete applications), which run on the cloud infrastructure of the provider. Applications are accessible through standard Web services, to build programmed applications, or by using web browsers, to build applications. The user is not aware of the underlying infrastructures, neither can control it. The provisions are controlled through service level agreements (SLA). Google apps are a typical exponent of SaaS. In this paradigm, cloud service hosting, service mobility, and service migration are key aspects of the provider, but they are also transparent to the user [10,12]. PaaS, where users can deploy complete applications on the cloud infrastructure, without controlling it [29]. Instead of supplying services, the providers supply libraries and tools in order to deploy the application itself. Applications are executed on the virtual platform in a transparent manner, similar to the Google Apps Engine and Morph Labs. The platform layer provides value-added services from both a technical and a business perspective, for example Salesforce and xRM enables the whole application life cycle for the development, deployment, and management of tailored business applications. IaaS, where computing resources, data-storing, and networking are explicitly offered as services through virtualized machines using the providers infrastructure [16]. In this case, users are completely aware of the virtual infrastructure and they must manage it. The provider’s computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically, assigned and reassigned according to consumer demand. Typical examples are Amazons Dynamo and Googles Bigtable, but lower level IaaS are also offered, as GoogleFS and OpenFlow. When dealing with IaaS, it is crucial that the provider may have cloud infrastructure management facilities for visualization, automation, and diagnosis of the whole system state. The major reason to abstract more and more current clouds is to avoid the users the cumbersome policy management related to system in cloud computing [27]. IaaS paradigm offer interfaces too close to the infrastructure. However, most users demand functionalities that automate the management of their services as a whole unit, so that services and capabil-

123

Cluster Comput (2014) 17:1225–1229

ity can be elastically and automatically provisioned so that they seem to be unlimited ant any time. The prevalent models are pay per use or based on subscription. In the first case, resource usage is carefully measured at the appropriate level and reported to the users. Currently, all major vendors are providing many kind of services and the predominant model is pay-per-use [31]. Process, practice, and mechanisms are now well established [15]. For example, there are well-known cloud scheduling algorithms, platform and application, migration services, etc. [17]. However, there are still pending aspects to be solved in cloud computing, being security, privacy, and confidentiality in clouds [22,33].

3 Cloud computing platforms Clouds computing platforms are, in most cases, organized by resource providers in a cluster-like structure in order to facilitate virtualization technologies. Usually, cloud platforms are provided through medium or large scale data and computing centers where all the systems have virtualization facilities installed [30] based on hypervisors such as Xen, Azure, and ESX. Virtualization is the heart of a cloud computing platform, as the services are provided by using standardized or tailored virtual machines to the different cloud computing solutions presented in the previous section. The possibility of providing elastic computing and storage transparently to the upper layers [7] motivates researchers and companies, as they can have low cost resources adapted to their requirements to run varying size experiments or to allow the company grow with the clients demand. However, harnessing virtualization is not an straightforward work. Along several years, hypervisors have been optimized to avoid performance looses. Novel middle wares have been included to easily deploy both virtual machines and applications, and new tools have been developed to cope with the cloud increasing complexity [3,23]. One of the major attractions of cloud is the unlimited data storage facilities it provides for the users. Currently, there are many services such as Amazon Simple Storage Service (S3), simple database (SD), Google FS, etc, which offer a file systems and databases virtualization layer [8]. Cloud Databaseas-a-Service (DaaS) allows to host databases in the cloud environment and provides database features such as data definition, storage and retrieval, on a subscription basis over the Internet [11]. To provide elastic services and a tremendous storage capacity, most providers have large data centers geographically distributed (Google, as an example, has more than one million systems). Thus, the data center architecture becomes extremely important and it must be solved in a holistic way, as compute environment is now multi-tenant and operating compute, storage and network independently does not meet this paradigm [1]. Thus, cloud data centers

Cluster Comput (2014) 17:1225–1229

must provide secure multi-tenancy, efficient virtual machine and data mobility, infrastructure scalability, including bandwidth and latency, and a unified service management. All this features must also take into account energy management and power consumption optimizations [5,28], as energy is, and will remain to be, one of the major costs of the service. Thus, a strong research and industrial effort is being deployed to achieve green data centers [14]. Cloud computing is also very attractive because, somehow, it allows to transfer the risk from the private installations or smaller SaaS providers, to the larger cloud service providers, who theoretically are better equipped to mitigate the risks by providing fault-tolerance in clouds [6]. A good example is Amazon S3 storage service, which is being used by many large enterprises for archiving all their historic data to avoid loosing it and because of its unlimited scalability. Map-reduce paradigm can be also used to improve resilience by replicating services and processes through inexpensive nodes, paying only when the users need it. From the point of view of their organization, cloud platforms can be public, community, private, and hybrid [20]. Private clouds are deployed by a single organization for its own service. It may be owned, managed, and operated by the organization, a third party, or some combination of them. and it may exist on or off premises. Private clouds can be implemented in the company premises or it could be outsourced to a third party to have exclusive service. A community cloud is aimed to share the cloud infrastructure by a specific community of users that share a mission or concern. The service could be managed by a member of the community or outsourced to a third party. Public clouds are open to the use by the general public, that use them as a payper-use basis. The cloud infrastructure is owned, managed, and operated by a external organization, that may be a company or a government organization, that hosts the infrastructure in its premises. Finally, hybrid clouds are a composition of two or more distinct and independent cloud infrastructures that are bound together to enable data and application portability. Given the scale and mobility required nowadays, hybrid cloud platforms are becoming more and more complex [13,26]. Cloud federations [9] are starting to be common to provide ultra-large scale systems, specially in scientific computing facilities. Interconnection facilities between two or more independent clouds are provided for the purpose of load balancing traffic, accommodating spikes in demand, or saving energy. Cloud federation offers two substantial benefits to cloud providers. First by optimizing the usage of idle or underutilized resources. Second, by expanding their scale to accommodate spikes in demand or to provide larger scale services without further installations. However, providing inter-cloud operations (e.g., cloud bursting for load balancing between clouds) [4], all aspect of cloud operation must

1227

be shared and transparent to the users. However, there are still many challenges to be solved to have complete interoperability among clouds, such as cloud management architecture, cloud auditing, cloud security, or cloud application deployment. To overcome those challenges Distributed Management Task Force (DMTF) and International Standardization Organization (ISO) are working to define open cloud standards at several levels, as the Open Virtualization Format (OVF) and Open Cloud Computing Interface (OCCI) to favor interoperability and to be cloud provider independent. The former effort are complemented with the multi-cloud systems approach [21] that aims to facilitate the modeling, deployment, and configuration of complex applications in multiple infrastructure clouds.

4 Special issue contents This special issue contains three papers selected from a set of invited papers extracted from the papers presented in The 10th IEEE International Symposium on Parallel and Distributed Processing with Applications (ISPA 2012), held in Madrid, Spain, July 10–13, 2012 [18]. ISPA 2012 accepted 32 papers out of 98 full paper submissions covering both foundational and practical issues in parallel and distributed programming and systems. The objective of ISPA 2012 was to provide a forum for scientists and engineers in academia and industry to exchange and discuss their experiences, new ideas, research results, and applications about all aspects of parallel and distributed computing and net working.This conference featured session presentations, workshops, tutorials and keynote speeches. ISPA 2012 was sponsored by IEEE Technical Committee on Scalable Computing (TCSC) and IEEE Computer Society. This special issue of the Cluster Computing Journal presents the latest research and technology related to cloud computing, a recent trend in information technology that provides computing and storage services remotely to the users relying on large computing centers. The articles that discuss tools and applications for cloud computing. For this special issue, we invited 12 selected papers from ISPA 2012 conference to submit extended versions to Cluster Computing Journal. All of them accepted and made paper submission to the journal. All paper were peer to peer reviewed following the review procedures on the Cluster Computing Journal. From them only three were accepted after two rounds of reviews. The papers selected addresses five cloud challenges mentioned in the previous sections: reusable and portable applications development, map-reduce energy aware scheduling, and workflow scheduling. A small introduction to the papers is shown below. In Developing a model driven approach for engineering applications based on mOSAIC: towards sharing elastic

123

1228

components in the cloud, the authors investigate the possibilities to introduce a Model Driven Architecture (MDA) for the cloud computing domain, which would support composition, customization, flexibility, maintenance and reusability of cloud application components in the particular case of scientific and engineering applications. To the paper MapReduce framework energy adaptation via temperature awareness, the authors explore the possibility of scheduling in a power-efficient manner without the need for expensive power monitors on every node. They developed a MapReduce framework to evaluate the current status of each node and dynamically react to estimated power usage to shift power consumption work toward more energy efficient nodes which are currently consuming less power. The paper HSGA: a hybrid heuristic algorithm for workflow scheduling in cloud systems proposes a hybrid heuristic method (HSGA) to find a suitable scheduling for workflow graph, based on genetic algorithm in order to obtain the response quickly moreover optimizes makespan, load balancing on resources and speedup ratio. In Trust-driven and QoS demand clustering analysis based cloud workflow scheduling strategies the authors introduce a trust mechanism into cloud workflow scheduling process and propose a novel trust-based customizable cloud workflow scheduling model. Trust mechanism ensures the execution success rate of critical tasks and the introduction of twolevel based scheduling mode reduces the problem scale of workflow scheduling. Finally, the authors of Virtualizing high-end GPGPUs on ARM clusters for the next generation of high performance cloud computing propose of a possible next generation of computing clouds, characterized by a highly heterogeneous parallelism, a lower electric power demanding, less heat producing, and more environmental friendliness. Acknowledgments We would like to thank all the authors, reviewers and editors involved in the elaboration of this special issue, including also the reviewers that were involved in the ISPA 2012 conference, where short versions of the papers were previously selected. We are especially grateful to the editor in chief of the Cluster Computing Journal, Prof. Salim Hariri, for approving this special issue and for his help along the process of its preparation.

Cluster Comput (2014) 17:1225–1229

5.

6.

7.

8.

9.

10.

11.

12. 13.

14.

15.

16. 17.

18.

References 19. 1. Alcatel-Lucent: Creating the cloud-ready data center. Technol. White. Pap. 5, 12 (2010) 2. Armbrust, M., et al.: A view of cloud computing. Commun. ACM. 53(4), 50–58 (2010) 3. Bai, X., Li, M., Chen, B., Tsai, W., Gao, J.: Cloud testing tools. In: Proceedings of 2011 IEEE 6th International Symposium on Service Oriented System, Engineering (SOSE), pp. 1–12 4. Bernstein, D., Ludvigson, E., Sankar, K., Diamond, S., Morrow, M.: Blueprint for the intercloudprotocols and formats for cloud

123

20. 21.

computing interoperability. In: 2009 Fourth International Conference on Internet and Web Applications and Services, p. 328. doi:10. 1109/ICIW.2009.55 Berl, A., Gelenbe, E., di Girolamo, M., Giuliani, G., de Meer, H., Dang, M.Q., Pentikousis, K.: Energy-efficient cloud computing. Comput. J. 53(7), 1045–1051 (2010) Bonvin, N., Papaioannou, T., Aberer, K.: A self-organized, faulttolerant and scalable replication scheme for cloud storage. In: Proceedings of the 1st ACM Symposium on Cloud Computing (SoCC’10), pp. 205–216. ACM, New York. doi:10.1145/1807128. 1807162 Buyya, R., Ranjan, R., Calheiros, R.: InterCloud: utility-oriented federation of cloud computing environments for scaling of application services. In: Algorithms and Architectures for Parallel Processing. Lecture Notes in Computer Science, vol. 6081, pp. 13–31. Springer, Heidelberg (2010) Cecchet, E., Singh, R., Sharma, U., Shenoy., P.: Dolly: virtualization-driven database provisioning for the cloud. In: Proceedings of the 7th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments (VEE’11), pp. 51–62. ACM, New York, (2011) Celesti, A., Tusa, F., Villari, M., Puliafito, A.: How to Enhance Cloud Architectures to Enable Cross-Federation. In: Proceedings of 2010 IEEE 3rd International Conference on Cloud Computing (CLOUD 2010), pp. 337–345. Miami, 5–10 July (2010) Cusumano, M.: Cloud computing and SaaS as new computing platforms. Commun. ACM. 53(4) 27–29 (2010). doi:10.1145/ 1721654.1721667 Das, S., Agrawal, D., El Abbadi, A.: ElasTraS: an elastic transactional data store in the cloud. In: Proceedings of the 2009 Conference on Hot Topics in Cloud Computing (HotCloud’09). San Diego, Article No. 7 (2009) Dean, J., Ghemawat, S.: MapReduce: simplified data processing on large clusters. Commun. ACM. 51(1), 107–113 (2008) Dinh, T., Lee, C., Niyato, D., Wang, P.: A survey of mobile cloud computing: architecture, applications, and approaches. Wirel. Commun. Mobile. Comput. J. 13(2), (2011). doi:10.1002/wcm. 1203 Dimension data. Seven design considerations for a green data center. White. Pap. (2011). http://www.dimensiondata.com/Lists/ Downloadable Han, H., Kim, S., Jung, H., Yeom, H.Y., Yoon, C., Park, J., Lee, Y.: A restful approach to the management of cloud infrastructure. In: Proceedings of IEEE International Conference on Cloud Computing, 2009 (CLOUD ’09), pp. 139–142. Bangalore, 21–25 Sept (2009) Hfer, C.N., Karagiannis, G.: Cloud computing services: taxonomy and comparison. J. Internet. Serv. Appl. 2(2), 81–94 (2011) Hu, J., Gu, J., Sun, G., Zhao, T.: A scheduling strategy on load balancing of virtual machine resources in cloud computing environment. In: 2010 Third International Symposium on Parallel Architectures, Algorithms and Programming (PAAP), Dalian, pp. 18–20 Dec (2010) ISPA: 10th IEEE International symposium on parallel and distributed processing with applications (ISPA 2012), Leganes, Madrid, 10–13 July 2012. IEEE. http://www.arcos.inf.uc3m.es/ispa12 Jadeja, Y., Modi, K.: Cloud computing - concepts, architecture and challenges. In: Proceedings of 2012 International Conference on Computing, Electronics and Electrical Technologies (ICCEET), pp. 877–880 Mell, P., Grance, T.: The NIST definition of cloud computing. Special, publication (Draft), pp. 800–145. January (2011) Moreno-Vozmediano, R., Montero, R.S., Llorente, I.M.: Multicloud deployment of computing clusters for loosely coupled MTC applications. IEEE Trans. Parallel. Distrib. Syst. 22(6), 924–930 (2011)

Cluster Comput (2014) 17:1225–1229 22. Oh, TH., Lim, S., Choi, YB., Park, KR., Lee, H., Choi, H.: State of the art of network security perspectives in cloud computing. In: Kim, TH., Stoica, A., Chang, RS. (eds.) Security-Enriched Urban Computing and Smart Grid. Communications in Computer and Information Science, Vol. 78, pp. 629–637. Springer, Berlin, (2010) 23. Rimal, B. P., Choi, E., Dong, J.: A taxonomy and survey of cloud computing systems. In: Proceedings of NCM ’09. Fifth International Joint Conference on INC, IMS and IDC, 2009, Seoul, pp. 25–27. Aug (2009) 24. Rochwerger, B., et al.: The reservoir model and architecture for open federated cloud computing. IBM J. Res. Dev. 53(4), 1–11 (2009) 25. Sarkar, S., Ganesan, R., Srivastava, M., Dharmasankar, S.: Cloud based next generation service and key challenges. In: Proceedings of 2012 Third International Conference on Services in Emerging Markets (ICSEM), pp. 20–29. (2012) 26. Teckelmann, R., Reich, C., Sulistio, A.: Mapping of cloud standards to the taxonomy of interoperability in IaaS. In: Proceedings of 2011 IEEE Third International Conference on Cloud Computing Technology and Science (CloudCom), pp. 522–526. (2011) 27. Takabi, H., Joshi, J.B.D.: Policy management as a service: an approach to manage policy heterogeneity in cloud computing environment. In: Proceedings of 45th Hawaii International Conference on System Science (HICSS), pp. 5500–5508. Maui, 4–7 Jan (2012) 28. Valentini, L., et al.: An overview of energy efficiency techniques in cluster computing systems. Clust. Comput. J. 16(1), 3–15 (2013) 29. Vaquero, L., Rodero-Merino, L., Caceres, J., Lindner, M.: A break in the clouds: towards a cloud definition. SIGCOMM. Comput. Commun. 39(1), 50–55 (2008). doi:10.1145/1496091.1496100 30. Uddin, M., Rahman, A.: Server consolidation: an approach to make data centers energy efficient and green. Int. J. Sci. Eng. Res. 1(1) (2010). arXiv:1010.5037 31. Weinhardt, C., Anandasivam, A., Blau, B., Ster, J.: Business models in the service world. IT prof. 11(2), 28–33 (2009) 32. Zhang, Q., Cheng, L., Boutaba, R.: Cloud computing: state-ofthe-art and research challenges. J. Internet. Serv. Appl. 1(1), 718 (2010) 33. Zhou, M, Zhang, R., Xie, W., Qian, W., Zhou, A.: Security and privacy in cloud computing: a survey. In: Proceedings of 2010 Sixth International Conference on Semantics Knowledge and Grid (SKG), pp. 105–112. Beijing, 1–3 Nov (2010)

1229 Jesus Carretero is full professor of Computer Architecture and Technology at the Universidad Carlos III de Madrid (Spain), where he is responsible for that knowledge area since 2000. He is also Director of the Master in Administration and Management of Computer Systems, that he founded in 2004. He serves as a Technology Advisor in several companies. His major research is in parallel and distributed systems, real time systems and computing systems architecture. He is Senior Member of IEEE. He has participated in many conference organization committees, and in the last three years he has been General Chair of HPCC 2011 and MUE 2012, and Program Chair of EuroMPI 2013 and ISPA 2012. Javier Garcia Blas has been a teaching assistant of the University Carlos III of Madrid since 2005. He has cooperated in several projects with researchers from various high performance research institutions including HLRS (funded by HPC-Europe program) DKRZ, and Argonne National Laboratory. He is currently involved in various projects on topics including parallel I/O and parallel architectures. He received the MS degree in Computer Science in 2007 at the University Carlos III of Madrid. He also received a PhD in Computer Science from University Carlos III in 2010.

123