Cloud Computing: Need, Enabling Technology ... - IEEE Xplore

16 downloads 403980 Views 412KB Size Report
Cloud Computing: Need, Enabling Technology,. Architecture, Advantages and Challenges. Amit Gajbhiye1, Krishna Mohan PD Shrivastva2. Department of ...
Cloud Computing: Need, Enabling Technology, Architecture, Advantages and Challenges Amit Gajbhiye1, Krishna Mohan PD Shrivastva2 Department of Computer Technology and application NITTTR Bhopal 1

[email protected],[email protected]

II.

Abstract— Commercially popularized with the year 2002 with the launch of Amazon web services cloud computing has changed the way IT services and resources are delivered to the customers. With its varied platforms like SaaS, PaaS and IaaS it has made available resources which was once never available on demand and scalable manner. With the advantages of high scalability and flexibility, excellent reliability and availability and with no upfront cost in procuring and managing IT infrastructure, it is widely adopted by organizations. This paper is aimed at covering cloud computing from overall perspective. It cover basics of Cloud computing, the service and deployment models used today, the components of cloud computing, the need and working of cloud computing, cloud computing reference model, enabling technologies, challenges and advantages of cloud computing.

There are various definitions of cloud computing but the most accepted definition is given by NIST as [2]: “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. This cloud model is composed of five essential characteristics, three service models, and four deployment models” The five essential characteristics specified by NIST are:

Keywords—Cloud computing, Reference architecture, Virtualization, Web services, MapReduce, Bigtable, Hadoop.

I.

On-demand self-service means that user must have the power to up or down the acquired resources by themselves.

INTRODUCTION

Broad network access specifies various kinds of heterogeneous devices like mobile phones, tablets, laptops, and workstations should be able to harness the capabilities of cloud computing.

Cloud computing is the delivery of computing resources like CPU, application software and storage, over the Internet. It has its roots in the early mainframe systems where a dumb (thin) client accesses its computing need on a server somewhere in the world. The client need not know the actual physical location of server. The technology derives its name from the convention used in the network diagrams to represent Internet and its various parts as a schematic cloud. Cloud computing is a distributed computing model which has evolved from the confluence of many existing technologies like virtualization parallel and grid computing. The key providers of cloud services like Amazon, Salesforce, Google and Microsoft has developed state of the art technologies to leverage this new computing paradigm. Huge virtualised datacenters are being established across the world to provide fast and efficient services, virtually infinite computing and storage capacity, increasing reliability and availability of services and minimising the cost of services to the clients. According to International Data Corporation for the year 2014 there will be 25% increase in cloud services and technologies that enables these services and is expected to cross $100 billion [1].

c 978-1-4799-4236-7/14/$31.00 2014 IEEE

DEFINITION OF CLOUD COMPUTING

Resource pooling meaning that the cloud service provider must serve multiple customers providing services in a dynamic manner, also providing location transparency of resources although allowing the customers to choose at a higher level the location(country, state, or datacenter) of their demanded resource. Rapid elasticity the system of cloud service provider should be flexible enough to provision resources on the fluctuating (increasing or decreasing) demands of customers. Measured service meaning that the resource usage should be monitored and measured by the cloud systems according the type of service provisioned. In short cloud computing provides the customer privileges to dynamically build a system fulfilling their IT infrastructure and applications needs as and when needed according to current load, in a shared and scalable environment on a payas-you-use model of billing.

1

III.

OUR UNDERSTANDING OF CLOUD COMPUTING

Cloud is a dense frame work of virtualised servers with software installed on them to serve the client needs. These servers may be organised in huge datacenters or clusters separated across the geographies and connected with high speed Internet. Cloud Computing is the delivery of services, installed on the cloud infrastructure and cloud resources to the end client in a scalable and pay-per-use manner. It is a distributed system employing utility computing to deliver services. IV.

SERVICE MODELS

According to the NIST definition, there are three models (SaaS, PaaS, and IaaS) through which the cloud solutions are offered. These service models define at what level the services are provided to the customer. They dictate the organizations control over the computing resources and application and the autonomy of control management of resources acquired. A. Software-as-a-Service (SaaS) In this model software is hosted as a commodity and the user access it on the internet. As the software is hosted off site by the third party the customer need not worry about the updates and the underlying infrastructure needs. It is the responsibility of service provider. The physical infrastructure is abstracted form the end user. The end clients do not have the freedom to change the application apart from customizing the application with the options available in the software. It provides the upfront cost benefit to the customer for installing, maintaining, updating, patching security updates and licensing software. The software like Microsoft office is generally suitable for cloud deployment because they are simple and do not interact with other systems. For example Google [3] and Zoho [4] application software deployed on the cloud is taking the place of Microsoft office software. Some of the other areas where the SaaS application is making its presence felt is Customer Resource Management where the Salesforce.com [5] with its CRM solution is extremely successful. Other successful examples of SaaS application are Google Drive [6] and Adobe systems acrobat.com [7] [8] which allow the data to be accessed from anywhere and share with people on the Internet. B. Platform as a Service (PaaS) This model of service delivery provides the application development environment whereby the developer can develop their application and can deploy on the cloud. The servers, operating system and network connectivity are provided by the service provider and are not managed by the customer. The users can dynamically provision the development environment from a web based console and can start their application development in few minutes as they do not need to install and configure any integrated development

2

environment. Tools for every software development phase such as software design, development, testing and deployment can be provisioned. The issue with developing application in PaaS environment is interoperability and portability. The applications developed in one environment may pose problems when migrated to other PaaS platforms. For example Google AppEngine [9] and Microsoft Azure [10] provide users a platform to build and deploy application in the cloud written in various languages. C.

Infrastructure as a Service (IaaS) IaaS provides dedicated Virtual machines (Computer) to the user with full control over the machine instance. The user can provision CPU Cycles, operating system, storage capacity, network infrastructure, servers automatically through a web based management console. The user has the flexibility to configure the acquired virtual machine according to their requirement. It provides the highest level of control to the end user over the virtual instance of machine. The best example of IaaS is Amazon Elastic Compute Cloud (EC2) [11] allows the acquiring of a machine with any operating system and in any number with few clicks. GoGrid cloud servers [12] also rents machine from as small as with 0.5 GB RAM with storage capacity 25 GB to as large as 24 GB RAM with 1200 GB storage capacity. The above three models entirely summarises the service delivery models but in recent time subsets of these delivery models are evolving pointing towards a more specialised forms of above like a subset of SaaS known as Business Process as a Service (BPaaS) which provisions the specialised business processes like customer resource management (CRM), Payroll, billing, Communications as a Service (CaaS) and Storage as a Service is as a sub set of IaaS. V. DEPLOYMENT MODELS Deployment model specifies how the service model is implemented and to what audience the cloud services are available. According to NIST definition of cloud computing there are four deployment models: A. Private Cloud The cloud services are dedicated for one organization. It may serve different business units of same organization. The business units are logically separated so that they do not interfere with each other’s operation. The cloud infrastructure may be managed and owned by organisation or third party. It may be located on premise or off premise. The private cloud can provide all SaaS, PaaS, IaaS services and it is only accessed by trusted users only. Private cloud is characterised by high security of client data and more control over cloud infrastructure. B. Community Cloud The cloud infrastructure is provisioned for some specific organizations sharing a common set of interest (e.g. data

2014 5th International Conference- Confluence The Next Generation Information Technology Summit (Confluence)

security standards, technology, business operation, compliance requirements). It can be managed and owned by involved community organizations or third party and can be on premise or at the third party location. C. Public Cloud The cloud infrastructure is open for general public. Public cloud exploits multi tenancy with each tenant given a separate virtual space. The user in public cloud shares the same cloud infrastructure. The cloud services and infrastructure is owned managed and maintained by the third party with complete location transparency of physical servers and datacenter. The user pays for what services they use and for how long they use it. Various pricing models are employed to calculate the bill for the customer. The cost benefits to the customer are high in this deployment model as prices are shared among many users. D. Hybrid Cloud This deployment is a composition of two or more distinct cloud infrastructure (public, private and community). The composed clouds maintain their independent existence but are composed to maintain application and data portability. VI.

WHY DO WE NEED CLOUD COMPUTING?

Why big companies which can afford or already have huge infrastructure should go for cloud computing they answer lies in – Utilization. IT organizations buy their infrastructure for worst case needs as shown in figure 1, but over period of time the infrastructure need fluctuates and never remains at a constant peak. The time at which the demands are not at the peak the infrastructure is ideal and just adds to the cost of maintaining it. With cloud computing the organisation can utilise their IT infrastructure to the fullest and can maximize their server utilization.

The various use case scenario in figure 2 shows how the IT infrastructure remains unused. The area under the traditional IT capacity depicts the ideal time for IT infrastructure. For fast growth the organization is not able to fulfil the customer requests. For variable peaks some requests are filled some are not. For On and Off and Predictable peaks the infrastructure is ideal most of the time.

Figure 3: Cloud Elastic Resource Provision With clouds elastic resource provisioning show in figure 3 with red dashed lines, this resource utilization can be improved, as the infrastructure can be scaled up or down (red curves) according to fluctuating infrastructure needs (blue curve). VII. CLOUD COMPONENTS Cloud computing infrastructure consists of highly optimised virtual servers in datacenters spread across the world, connected over high speed network with the clients. Thus the three main components of cloud computing infrastructure are: A. Clients The clients are the consumers of service in cloud environment. They request for services from the cloud service provider. In cloud computing the clients are empowered to choose their service on the fly (in real time) and customise them according to their requirements. The client list of cloud computing is broad it does not only includes computers but all devices that can connect to the internet and use the services available over internet for example mobile phones, tablets, laptops, and workstations[2]. There are three main categories of clients [13]

Figure 1: Traditional IT Infrastructure Provisioning

Figure 2: Fluctuating IT Infrastructure Need

Mobile client: These clients are the clients which are on continuous move. It may include mobile devices like smart phones, PDAs, iPADs, tablets etc. Thin Clients: These kinds of clients do not have their internal hard drives but they are powerful enough to connect to servers and use their services and show the results back to the user. All the computing is done by servers. Thick Clients: These may be defined as intelligent clients having computing power with processors of their own and hard disk. They can be a desktop computer or a laptop computer connected to Internet.

2014 5th International Conference- Confluence The Next Generation Information Technology Summit (Confluence)

3

Thin clients are getting popular nowadayss because of their low cost, less power consumption and ease e of use. They signifies the whole concept of cloud computting. B. Datacenters A datacenter is a dedicated space whhere organizations keep and operate their Information andd communication infrastructure. In context to cloud compputing datacenters consists of huge collection of powerfull application and storage servers. They are connected to eachh other via Gigabit Ethernet. The servers are generally virttualised so as to optimize server utilization. Virtualization giives the illusion of infinite resource availability to the users. The servers need p they may be not be placed as a collection all at one place geographically separated so as to give thee flexibility to the cloud service provider to serve the clients all over the world t same purpose. with high speeds; distributed server serves the C. Network Network may be considered as the baack bone of cloud computing infrastructure connecting the users to datacenters, datacenters to datacenters and servers with servers within the ANs, VPNs. These datacenters. This network can be LANs, SA networks must be of high speed to realise thhe full potential of cloud computing. VIII.

UD WORKS? UNDERSTANDING HOW CLOU

The clients login into the cloud with a seccure username and password from their computers or laptops or mobile devices over the Internet. The cloud infrastructuree is transparent to the user and they do not know to which appplication sever in the datacenters located around the world thhey are logged into or they have been given a virtual machine or an instance of the server. After the user is successfully loogged in they can select a task or service. The users request for f task or service is passed to the system management. Sysstem management then finds necessary resource to carry out the requested task and calls the systems appropriate provisionning services. The job of provisioning services is to alloccate the required resources from the cloud for the completionn of request. They also call the appropriate web service to exxecute the request. Once the web application is launched thee system starts its monitoring and metering application for prroper billing to the clients.

The whole system must be self serving that is the system must not require human intervvention to allocate resources to the process to qualify as cloud computing. Figure 4 shows the whole processes of service provvisioning in cloud environment IX.

G REFERENCE ARCHITECTURE CLOUD COMPUTING

Cloud computing reference architecture describes the blueprint for the implementatioon of cloud platform. It defines the way in which various clooud architectural elements are arranged and the relationship between them. The reference architecture is referred at eachh cloud implementation step to achieve the functional and non n functional goal of cloud implementation. Cloud compuuting reference models may be classified in the following ways [14]: A. Role Based This architecture describees the roles and responsibility of various entities involved in cloud computing. For example NIST Cloud Computing Reeference Architecture, DMTF Cloud Service Reference Architecture, IBM Cloud Computing Reference Architeccture B. Layer based This architecture descrribe cloud computing with reference to the roles andd responsibility of various implementation layers. For exaample Cloud Security Alliance, CISCO Cloud Reference Arrchitecture Framework, IEFT Cloud Reference Framework. NIST cloud computing referennce model [15] shown in figure 5, is a role based model and has h defined the following roles (actors) with their activities andd capabilities:

Figure 5: NIST Cloud Com mputing Reference Model A. Cloud Consumer The individual or organnization who consumes cloud services. Before settling down to use the services from cloud provider the consumer searrch from many of services available from a number of seervice providers and sets up a service level agreement (SLA As). These are essentially the clients of cloud services.

Figure 4: Service Provisioning in Clouud Computing

4

SaaS consumers can be organizzations with their employees as end clients, end clients who diirectly access cloud services or

2014 5th International Conference- Confluence The Next Generation Information Technology Summit (Confluence)

at times they may be cloud brokers who customize a particular software service for end client use. SaaS consumer may be billed according to various parameters involving number of end users, time for which application used, the amount of data stored in servers. PaaS consumers are provided with software development kits (SDKs) which are used for application development, testing and deployment of cloud application. Accordingly the PaaS consumer may be application developer, tester or may be the team engaged in deploying the cloud applications. These consumers are billed according to the processing power used, time for which the hosted SDKs are logged on, network bandwidth used and storage employed. IaaS consumers may rent a full virtual machine, network and storage capacity and CPU processing power. The consumers of this platform are system developers who configure their virtual machine according to their requirements (installation of required OS and other application software). They are billed according to the duration the infrastructure service is provisioned for example CPU power used for the hours, network bandwidth and the amount and time for storage capacity used. B. Cloud Provider The organization or person who makes SaaS, PaaS and IaaS available to the cloud consumer. The cloud provider manages the network and resources according to the services it delivers to the cloud consumer. C. Cloud auditor The independent third party which can be outsourced the task of quality of service, security compliance and service agreement compliance audits. The most important responsibility of cloud auditor is to ensure conformance of security obligations of the cloud service provider. Auditor may check that the cloud provider stores and transfers data according to the government rules and regulation of the concerned geographical region. D. Cloud broker An individual or organization who acts as an agent between providers and consumer of cloud services to negotiate terms and the broker may provide services by clubbing some services from different service provider to the consumer which originally may not be provided by the service provider for customer ease. E. Cloud carrier The transporter of cloud services between consumer and provider of cloud service. As cloud services may be accessed by cloud consumer by any device connected to internet providing access to cloud services is the responsibility is cloud carrier. Cloud service provider forms SLAs with cloud carrier for the quality of service as they promise to cloud consumer.

X.

ENABLERS OF CLOUD COMPUTING

Cloud computing is an amalgamation of pre-existing technologies working in a seamless manner to provide the services to the end clients. Apart from the functional needs of high speed low cost and scalable computing there are some technological forces which paved the way for the evolution of cloud computing. These technological enablers are: A. Virtualization Technology Virtualization of hardware and software resources has played a prominent role in the development of cloud computing paradigm. Virtualization traces its roots back in 1960’s where this technology was used in mainframe systems to logically dividing the mainframes' resources for different applications [16]. According to NIST virtualization is [17] “The simulation of the software and/or hardware upon which other software runs” Virtualization gives user the illusion of full access of system resources which in fact may be shared by multiple users. Virtualization achieves this illusion by separating hardware from the operating systems. It installs an abstraction layer known as Hypervisor or Virtual Machine Monitor (VMM) between hardware and operating system which emulates the set of operating system hardware and user level instruction. Hypervisor allows multiple operating systems (Virtual machines) to run on same hardware. It provides system level multi-tenancy by allowing a number of users to use the hardware resources as a whole. Types of Virtualization • •

Full Virtualization Para Virtualization

Full Virtualization: In full virtualization one or more operating systems run in their dedicated virtual machines created with the help of hypervisor and are called guest operating system. VMM acts as an intermediary for communication between hardware and virtual machine and takes care of required resource provisioning for virtual machine. In this virtualization technique hypervisor emulates the complete hardware platform and the operating systems do not know that they are running in a virtualised hardware environment and consequently they need not be modified to be installed on hypervisor. There are two types of hypervisors as shown in figure 6 for full virtualization: • Type 1 • Type 2 Type 1 hypervisors or bare metal or native hypervisors are hypervisors which installs over the hardware directly. They sit between the hardware and operating system and abstract the hardware from virtual machines. The examples of this type of hypervisor are VMware ESX/ESXi, Oracle VM

2014 5th International Conference- Confluence The Next Generation Information Technology Summit (Confluence)

5

Server for x86, Citrix XenServer, Microsoft Hyper-V hypervisor.

Figure 6: Types of Hypervisors Type 2 Hypervisor also called hosted hypervisors are installed on already existing operating system (host operating system) and allow different virtual machines (guest operating system) to run simultaneously and independently on host operating system. Examples of this type of hypervisor are VirtualBox and VMWare Workstation. Para Virtualization: In contrast to full virtualization in paravirtualization the virtual machine are aware that they are running in virtualized environment and understand the existence of other virtual machines. The guest operating systems need to be modified to run in para-virtualized environment. Virtualization is not necessary for cloud computing but it is essential to gain the rapid flexibility and scaling in cloud computing environment which may be difficult to achieve in non virtualized environment [18]. The biggest advantage of using virtualization is virtual machine migration which is capability to port virtual machine from one server to another. This is highly used in datacenters which allows them to provide the customer with excellent fault tolerant capacity, load balancing flexibility for the server and rapid scaling up or down of compute resources. Employing virtualization in datacenter servers to reduce number of servers is known as server consolidation which is an answer to problem known as “Server Sprawl”. B. Web Services The W3C defines a Web service as: “a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards” Web services provide interoperability in the heterogeneous World Wide Web environment. Web services are programming language and platform independent information exchange systems employing XML language for message (request/response) transfer. These Web Services uses the XML technology over the HTTP protocol for communication

6

between client and server. Web services framework like SOAP/WSDL and REST API are used in cloud environment to invoke almost all web applications. C. Software Technology Innovations Key players of cloud computing have innovated new technologies to exploit benefits of cloud computing. For example Google has its proprietary MapReduce framework which can be employed in parallel and distributed environment to process unstructured data [19]. Bigtable a storage management system is innovated to store petabytes of data [19]. Hadoop is an open source implementation of MapReduce framework built on top of Hadoop file system. Cloud computing uses this frameworks to process huge amount of data in cloud clusters. For example Hadoop is used by Yahoo, Facebook, LinkedIn, and Netflix in their cloud environment [20]. D. Inexpensive Hardware Inexpensive powerful servers equipped with multi-core processors: Hardware cost has reduced exponentially over the past few decades and have advanced with even much more pace. Servers are getting cheaper and the latest technology has connected them with high speed links. Blade servers have allowed a high density of servers in the datacenters. Multicore processors have enabled massive parallel computation of tasks at the server level itself. Now there are multi-core processors as high as 48 which are extensively being used in cloud environments. XI.

ADVANTAGES OF CLOUD COMPUTING

Cloud computing has attracted attention of organizations in last few years because of its obvious advantages of cost benefit in installing and managing software and hardware infrastructure particularly for start up and small and medium organizations. The other benefits of cloud computing are: Many organizations today procure their IT infrastructure to meet the peak demand needs. This wastes their investment at non peak times. With cloud computing organizations can only use how much they want and when they want according to their current need and can scale accordingly. Focus on adding client value: With less concern and investment in the infrastructure front, businesses can now invest more and focus on their core work that is adding values to their clients. Organizations can now work more efficiently on their core competency. Reliability: Cloud computing gives us the facility to access data and application form anywhere in the world over the Internet it may be relied on 24 by 7 availability of data and application. Better storage and back up capacity: Cloud has provided virtually infinite storage capacity to organizations. Now they

2014 5th International Conference- Confluence The Next Generation Information Technology Summit (Confluence)

can store huge amount of data at nominal costs and can schedule backups of their data frequently with assurance that it will be available when needed. Secured Data: Although security is main issue in cloud computing but with increased focus on improving security it is becoming the strong selling point of cloud services. XII.

CHALLENGES IN CLOUD COMPUTING

The services in cloud computing must have high up time. The failure of network or a web service in the cloud must be transparent to the user and they must be able to sustain Internet failure and distributed denial of service kinds of attack.

Software licensing system allows a fixed number of machines to use the software. This behaviour is contrary to the way cloud works hence many cloud vendor resorted to open source software. CONCLUSION Cloud computing is a competitive advantage to organizations. This paper captured whole view of cloud computing. The components of clouds and its working is illustrated. The cloud computing reference model with underlying technologies is delved. And finally cloud computing challenges and advantages are discussed. REFERENCES [1]

Interoperability among different cloud service provider is a big challenge today. It is hard for a customer to migrate from one cloud service provider to another, because of absence of a standard cloud computing API. If the CSP is gone out of service the customer may lose data and services. The customers of cloud services are apprehensive about the security and confidentiality of their sensitive client data. This apprehension is added by the fact that they do not know the physical location of data where they are stored although they have logical control over data but they lack physical control over it. Adequate security mechanism should be employed by the CSP to cater the confidentiality need of customers. Applications and data which it manipulates may be geographically apart in cloud environment. It may at times be too costly for the customer to move data around. It is the responsibility of CSP to reduce the data transfer cost for the customer. Low WAN bandwidth for transferring data across data centres and within the datacenter causes performance bottlenecks in cloud environment. I/O operations in virtualised environment are not so performance elevating as compared to sharing main memory and CPU cycles. It is difficult to virtualize I/O channels. Most high performance computing (HPC) demands that the constituting threads of application run simultaneously, but today’s virtual machines and operating system do not gives this flexibility to the programmer. Scaling CPU cycle or virtual machine is easy as compared to permanent storage many big organizations like Google have developed their proprietary technologies to provide scalable storage for cloud computing. Cloud computing is a massive distributed system. Bugs occur which can only be debugged in real time in production environment. It may be difficult to correct these bugs.

International Data Corporation. IDC Predictions 2014: A Year of Escalation, Consolidation, and Innovation as the Transition to IT's "3rd Platform" Accelerates.[Online].Available: http://www.idc.com/getdoc.jsp?containerId=prUS24472713. [2] Peter Mell, and Timothy Grance, “The NIST Definition of Cloud Computing”, National institute of Standards and Technology, US Department of Commerce, September 2011. [3] Google cloud products. [Online]. Available: https://cloud.google.com/products/. [4] Zoho home page. [Online]. Available: https://www.zoho.com/. [5] Salesforce.com what is CRM. [Online]. Available: http://www.salesforce.com/in/crm/what-is-crm.jsp. [6] Google drive. [Online]. Available. https://drive.google.com. [7] Acrobat.com home page. [Online]. Available: https://www.acrobat.com/files/en/home.html?trackingid=KGLIS. [8] Wikipedia Adobe Acrobat. [Online]. Available: http://en.wikipedia.org/wiki/Acrobat.com. [9] Google App Engine. [Online].Available: https://developers.google.com/appengine/docs/whatisgoogleappen gine. [10] Microsoft Azure. [Online]. Available: http://azure.microsoft.com/en-us/. [11] Amazon Elastic Compute Cloud. [Online]. Available: http://aws.amazon.com/ec2/. [12] GoGrid cloud servers. [Online]. Available: https://www.gogrid.com/products/cloud-servers. [13] Anthony T. Velte et al., “Cloud Computing Basics” in Cloud Computing: A Practical Approach, The McGraw-Hill Companies, NY, 2010, pp. 26 [14] Lawrence Wilkes, “Cloud Computing Reference Architectures, Models and Frameworks,” Everware-CBDI Inc., Fairfax VA, June 2011. [15] Fang Liu, et al., “NIST Cloud Computing Reference Architecture” , National institute of Standards and Technology, US Department of Commerce, September 2011. [16] Wikipedia. Virtualization. [Online]. Available: http://en.wikipedia.org/wiki/Virtualization. [17] Karen Scarfone et al., “Guide to Security for Full Virtualization Technologies”, National institute of Standards and Technology, US Department of Commerce, January 2011. [18] Planning Guide Virtualization and Cloud Computing, Intel Corporation, Santa Clara, CA, 2013. [19] An Overview of Cloud Computing.[Online]. Available: http://www.nsa.gov/research/_files/publications/cloud_computing _overview.pdf. [20] Robert D. Schneider, “Hadoop: MapReduce for Everyone”, in Hadoop® For Dummies, Mississauga, ON, 2012, pp. 26-27.

Scaling up or down is the main attraction of cloud computing. Tools need to be developed to effectively address scaling.

2014 5th International Conference- Confluence The Next Generation Information Technology Summit (Confluence)

7