Cloud Computing Technology: Promises and Concerns
Total Page:16
File Type:pdf, Size:1020Kb
International Journal of Computer Applications (0975 – 8887) Volume 159 – No 9, February 2017 Cloud Computing Technology: Promises and Concerns Ibrahim Attiya Xiaotong Zhang School of Computer and Communication School of Computer and Communication Engineering Engineering University of Science and Technology Beijing University of Science and Technology Beijing Beijing, China Beijing, China Mathematics Department, Faculty of Science, Beijing Key Laboratory of Knowledge Engineering Zagazig University, Zagazig, Egypt for Materials Science, Beijing, China ABSTRACT computational financing, gaming, and social networking, etc.) Recently, the concept of cloud computing has witnessed without any infrastructure investments. On the other hand, dramatic worldwide growth in the field of information cloud computing is a business model. It is based on the technology (IT). Cloud computing has gained its popularity as concept of dynamic provisioning, which is applied not only to a new computing paradigm from an ability to facilitate the services but also to compute capability, storage, networking, provision and use of IT infrastructure, platforms, and and IT infrastructure in general. From this perspective, cloud applications of any kind in the form of services that are computing is helping enterprises, governments, public and electronically available over the internet. As a result, cloud private institutions, and research organizations shape more computing is heading rapidly towards mainstream usage and effective and demand-driven computing systems. adoption for many customers, developers, enterprises, To summarize, the major objective behind the cloud governmental institutions, and researchers. In this survey, we computing is to allow users, enterprises, governments, public give an overview of cloud computing and their application and private institutions, and young researchers to benefit from domains, including the challenges that should be addressed in all of the provided features and technologies, without the need order to push the cloud technology further. Then, we present a for deep knowledge about or expertise with each one of them. systematic and comprehensive taxonomy of the cloud It also provides a flexible costing mechanism, which aims to computing technology. Moreover, we review the most popular cut costs and help customers focus on their core business and successful open source cloud computing technologies and instead of being impeded by IT obstacles. projects. Finally, we identify several open research issues that need to be investigated in the future. This paper intends to 2. WHAT IS CLOUD COMPUTING? help new researchers entering the domain of cloud computing Over the last decade, the term “cloud computing” has been by providing a comprehensive survey on recent developments. increasingly used in the business and academic communities. Indeed, lots of computer scientists and researchers have General Terms attempted to define exactly what “cloud computing” is. Computer Networks, Distributed Systems, Cloud Computing. Among the numerous definitions, we choose the widely quoted as follows: Keywords Cloud computing, cloud services, virtualization, elasticity, A definition of cloud computing was established by the U.S. open source cloud technologies. National Institute of Standards and Technology (NIST) [5], states that: “cloud computing is a model for enabling 1. INTRODUCTION ubiquitous, convenient, on-demand network access to a shared Pick up any information technology (IT) magazine or open pool of configurable computing resources (e.g., networks, any IT radio or TV channel or visit any IT website or blog, servers, storage, applications, and services) that can be rapidly “cloud computing” will definitely catch your eyes. As an provisioned and released with minimal management effort or emerging technology and business paradigm, cloud service provider interaction.” The definition demonstrates the computing promises a different way to architect, configure, essential characteristics of cloud computing environments, for and remotely manage computing services [1]. In the instance, on-demand self-service, accessible through broad traditional computing infrastructure, operating systems, networks like internet, can be quickly as well as easily scaled applications and data are typically stored as well as managed up or down on demand, draw from unlimited pool of on an individual client’s personal computer (PC) [2]. On the computing resources and involves some sort of metering contrary, cloud computing facilitates the provision and use of capability to track usage. IT infrastructure, platforms, and applications of any kind as services that are electronically available over the internet [3, Gartner [6] simply described cloud computing as “a style of 4]. The later enables millions of users to use, as well as access computing where scalable and elastic IT capabilities are to, cloud resources (hardware and software) simultaneously provided as a service to multiple external customers using through a variety of devices, including PCs, laptops, internet technologies” [7]. Garter examines qualities of cloud smartphones, and PDAs. clouding mostly from the point of view of industry. The emphasis in this definition is on the functional characteristics Generally, cloud computing has been increasingly used for of the cloud environment, for example, whether cloud solving business, scientific and engineering problems rising in computing is scalable, elastic and internet-based services. both industry and academic communities. From one hand, it offers scientific and engineering researchers a new way to A report from the University of California Berkeley [8] claims deploy computation and data-intensive applications (e.g. that “cloud computing refers to both the applications delivered scientific and engineering applications, data mining, as services over the internet and the hardware and systems 32 International Journal of Computer Applications (0975 – 8887) Volume 159 – No 9, February 2017 software in the datacenters that provide those services” [9]. which applications are hosted by a provider and are This report considered that the datacenter hardware and made accessible through a simple interface such as a software constitutes what we call a cloud. web browser over the internet. The customers are not concerned with the underlying cloud Buyya et al. [10] have defined cloud computing as follows: “a infrastructure including networks, servers, operating cloud is a type of parallel and distributed system consisting of systems, storage, platforms, and so forth. In other a collection of interconnected and virtualized computers that words, this model frees the customers from the need are dynamically provisioned and presented as one or more to install the software locally and thus to provide the unified computing resources based on service-level required resources themselves. In this model, agreements established through negotiation between the consumers have no control over the infrastructure service provider and consumers.” This definition claimed that and software configuration they use. Examples of cloud computing is the result of development and adoption of the major providers of SaaS include SalesForce.com existing technologies and paradigms, such as parallel and [17], OfficeLive, NetSuite, Oracle, IBM, distributed computing. CloudNumbers, and Microsoft, etc. Foster et al. [11] characterized cloud computing as “a large- Currently, there are many other services emanating from these scale distributed computing paradigm that is driven by main services. For instance, storage as a service (STaaS), economies of scale, in which a pool of abstracted virtualized, communications as a service (CaaS), database as a Service dynamically-scalable, managed computing power, storage, (DBaaS), network as a service (NaaS) and monitoring as a platforms, and services are delivered on demand to external service (MaaS). customers over internet.” This definition focuses on the technical features that distinguish cloud computing from other 3.2 Deployment Models distributed computing paradigms. For instance, resources are Although the term cloud computing refers in general to the virtualized and delivered as services on demand. delivery of services on demand over a computer network, cloud services can be deployed in four different ways 3. OVERVIEW OF CLOUD depending on the organizational structure and the COMPUTING provisioning location. The four major models for deploying The first definition given above (NIST definition) describes and accessing cloud computing environments are as follows: cloud computing as having five essential characteristics, three Public cloud, Private cloud, Community cloud, and Hybrid service models, and four deployment models (see Figure 1). cloud. In the following, we describe these models in detail and review the major service providers for each model. Public cloud: Public clouds (also called “external clouds”) are the most common deployment models 3.1 Service Delivery Models in which a third-party service provider makes In general, cloud computing services are categorized into resources, such as computing, storage, networks, three different groups according to the abstraction level of the virtualization, and applications, available to the capability provided and the service model of cloud suppliers, general public over the internet. In this model, the namely, Infrastructure as a Service (IaaS), Platform as a services are charged on the basis of the resources