Abstract Cloud computing has recently developed as a new model for hosting and delivering services over the Internet. Since the development, the Cloud computing attracts different business owners by way of eliminating the requirement to plan in advance for IT hardware and software acquisition allowing the enterprises to start from scratch and they do not need to increase their resources but only when there is a growth in the service. Regardless of the fact that cloud computing offers huge opportunities to the IT industry and businesses, yet the development of cloud computing technology is currently in the early stages and has many issues to be addressed and researched.
The purpose of this paper is to highlight the cloud computing technology pros and cons and its key concepts, from the business perspective as well as presenting all research challenges and security issues, plus identifying all important research directions in this new trend, so a better understanding of this technology will be obtained by enterprises prior to the technology adoption.
Introduction Computer and IT architecture has developed rapidly and considerably over the last half-century, from the first centric ones to the gradually distributed ones. Special terminals and mainframes were used generally in the market during the 1970s and 1980s. (Dutta, Peng & Choudhary, 2013).
In that period of time, Companies used terminals that were just little more than keyboards and monitors to connect to large computer machines called mainframes which hosted in very large rooms and sometimes an entire building to process and store data in order to process their daily digital transactions and to enable their users to share digital information. However, such outdated terminal/mainframe model resulted in a very centralized computing architecture (Dutta et al., 2013). P
progressively the enormous mainframes were then replaced by reasonably sized servers and stand-alone personal computers, and as a result enterprises have ended with independent data center for their data processing equipment. In the late 1980s and with the emergence of network and internet technologies, enterprises became able to connect to their business partners and their remote sites which scattered over distant geographical locations for exchanging information and documents.
Moreover, they were able to connect to remote applications using the client/server model. In the early 2000s, the support of new technologies like Web 2.0 and distributed services such as; network and cluster computing which assist businesses to access sets of external and shared computer resources through the Ethernet or the Internet (Dutta et al., 2013).
As a result the Information Technologies became an essential part of the organizational infrastructure for digital information processing in most of them, for instance; manufacturing firms, banks, universities, hospitals, governments, countries and private sectors (Aleem, 2013). Usually, the IT resources like data, software, CPUs, memory cards and servers are hosted within the respective organizations premises and maintained by their employees.
However, due to continuous business and technology evolution, current organizations have ended with numerous numbers of IT applications and a sophisticated IT infrastructure and large data centers to host their services. This growing amount of internal IT facilities and resources became somehow very costly and time consuming for some companies to maintain.
Besides, the global economic crisis which started in 2008 made the organizations remaining high in usage of advanced IT applications to withstand competitiveness on one hand and to mainly reduce their IT operation and maintenance costs on the other hand. As a result of all that, the maintaining of the IT operations and resources became one way or another overhead to some organizations and thus triggered the IT developers to find a solution for such organizations and they came up with a new development called cloud computing. Overview of Cloud Computing
The development of new IT and web technologies and the drop in the bandwidth costs and other technological advances contributed widely to the development process of cloud computing (Alali & Yeh, 2012). And since then a wide range of cloud computing services have been produced by IT providers.
However; the majority of the researchers’ states that cloud computing can be defined as an IT service model that delivers a set of suitable, on request, configurable computing facilities and assets to clients over a network, in a self-service approach, with minimal internal resources allowing them to use a pool of IT resources and applications as a virtual services over the web, without really hosting these computing resources internally (Dutta et al., 2013).
And cloud service applications can be accessed by both PCs and mobile devices, such as smartphones and tablets. Some of the researchers classified the cloud computing services into three different categories and the clouding model into four categories that can serve the need of any client as illustrated below.
These cloud services are divided into three main categories/models: Software-as-a-Service (SaaS).which defined as software applications on the Internet that can be run by users without neither having ownership nor the management of the application (e.g, Salesforce.com, Gmail, and Microsoft Online). Platform-as-a-Service (PaaS).which defined as providing a computing platform residing on the Internet to support building of web applications and services c (e.g., Google Apps, Force.com, 3Tera AppLogic).
Infrastructure-as-a-Service (IaaS).which defined as allowing the use of computer hardware and system software, with operating systems and communication networks with full responsibility of the cloud provider for hardware installation, system configuration, and maintenance (e.g., Amazon EC2, Citrix Cloud Center). The deployment models are:
Public cloud. is owned by an organization selling cloud services and makes it available to the public or a large industry group. Private cloud. A cloud operated exclusively for an organization. It can be managed by the organization itself or a third party and can be hosted outside the premises of the organization.
Community Cloud. is a cloud that is shared by more than one organization and supports a specific community purpose such as mission, security requirements, policy, and compliance. It can be managed by either an organization or a third party and can be hosted anywhere. Hybrid cloud. is a structure of two or more clouds that remain irreplaceable but linked by standard or proprietary technology that enables data and application to be portable (Alali & Yeh, 2012).