Cloud Computing: A Paradigm Shift in IT Infrastructure (PDF ...

15 downloads 417101 Views 214KB Size Report
Official Full-Text Paper (PDF): Cloud Computing: A Paradigm Shift in IT Infrastructure. ... 3: Deployment Model (Public, Private, Community and Hybrid cloud).
Cover Story

Debranjan Pal*, Sourav Chakraborty** and Amitava Nag*** *Assistant Professor, Dept. of CSE, Academy of Technology, West Bengal University of Technology, Hooghly India **Assistant Professor, Dept. of CSE, Academy of Technology, West Bengal University of Technology, Hooghly India ***Assistant Professor and Head, Dept. of IT, Academy of Technology, West Bengal University of Technology, Hooghly India

Cloud Computing: A Paradigm Shift in IT Infrastructure Abstract: Now-a-days many start up organizations and growing organizations are thinking about reduction of their IT infrastructure, network and software cost by means of cloud technology. Cloud computing provides different services like infrastructure, platform, applications etc. as utility services over internet which opens the new door to think in different way to meet the business challenges of IT industries. This paper describes the significance of cloud computing in IT industries with comparative study of different public cloud service providers giants like Google (Google App-engine or GAP), Microsoft (Microsoft Windows Azure) and Amazon (Amazon Web Service or AWS). Keywords: IT Infrastructure, Service provider, Comparative study, On-premises, Deployment. Introduction Cloud computing[4][9] is a new trend of computing where resources like storage, computation power, network, applications etc. are delivered as services. This services are available to the customers as subscription-based model i.e. pay-as-you go. In this model, customers can get these services on their demands regardless of where these services are hosted and customers have to pay depending on their usage of services. In cloud computing, resources are made virtual and unlimited. Also, the resources can be provisioned from anywhere i.e. always available at any location. So, cloud computing is a new paradigm where we can provision resources dynamically, deploy applications, and can access platformindependent services. Cloud computing, successor of internet computing[2][10], is a technology, where the concept of utility, scalability, on-demand services are incorporated. Figure 1 illustrates “Internet Computing” vs. “Cloud Computing”.

applications; that can be accessed, manipulated and released with minimal management effort, less cost and minimal service provider interaction. Cloud computing can be defined by the following important properties[1]. Service on demand: Cloud users can use services on their demands, whenever they need from any place and at any time without making any direct communication with cloud service provider. Wide network access: Services can be accessed over the network using different devices (like laptops, mobile phones, PDA, tablets, office computer etc.). Services can be provisioned in any platform, which means cloud services are platform independent. Pooled Resources: In cloud computing, resources are pooled together so that cloud providers can offer multi-tenant services. Multi-tenant supports multiple users to be served at a time with physical and virtual resources. These resources can be dynamically assigned and released

Internet Computing

(a) Internet Computing

(b) Cloud Computing Fig. 1: “Internet Computing” vs. “Cloud Computing”

Defining Cloud in IT According to the U.S. National Institute of Standards and Technology (NIST)[1], Cloud is a classical model which enable omnipresent, convenient, on-demand network access to a publicly accessible pool of configurable resources like servers, storage, network components, CSI Communications | January 2015 | 8

according to the user’s choice. Increased elasticity: There is no limit for provisioning resources via cloud. So services can be easily and quickly scale in and scale out. For example, an online shopping site uses the resources from the cloud in terms of users. Now suppose for any reason there is a hike in the number of

a user on a particular day. In that particular day cloud dynamically allocates additional resources to handle the additional users. When the headcount comes down, he cloud automatically restores in its normal condition. High Transparency: A distributed system is able to expose itself to clients and applications as if it is a single coherent computer system. For example, end-users may not have any information about the resource’s exact locations but will be able to specify their preferred location. Metered service: In cloud computing, services are measurable like other type of utility services (like electricity, water etc.) according to the usage. Cloud system provides transparent view of usage of services to the end-users as well as providers. This characteristic allows cloud users to use the services on pay-as-yougo basis. Benefits of Cloud Computing in IT For opening a new IT business company you have to spend a lot of money to build up the infrastructure. After that for maintaining this infrastructure, company has to bear operational costs. To get maximum revenue organizations always want to minimize these costs. Cloud computing technology helps to reduce operational as well as maintenance cost of IT infrastructure. In cloud computing, infrastructure and software are made as utilities. So for a new IT organization, there is no need to invest upfront cost to build up the infrastructure. Organizations just requests services from the cloud service providers, as per their requirements, by spending minimal costs. Using cloud, organizations are equipped with upto-date and latest version of hardware and software. There is no need to spend money on hardware or software license and up-gradation. As cloud computing is ubiquitous, anyone can access services at

www.csi-india.org

Fig. 2: Cloud Users vs. Time

any time and from anywhere with internet connection. As cloud computing offers scalability, organizations can grow or shrink their cloud resources on their demands. Cloud computing categorizes the services like Infrastructure-as-a-service, Platformas-a-service, and Software-as-a-service etc., so organizations can make decision about which services they require. Infrastructure service providers make available hardware to integrate with user system. Platform service provider offers runtime development environment, where a user can develop his own application Parameters\Type

without installing the environment. Software-as-a-service provider provides only existing applications for scaling without requiring infrastructure. Using cloud computing, organizations may take the advantage of backup and recovery of their organizational data. For these reasons the cloud users are growing rapidly as illustrated Fig. 2. Customers can take services like infrastructure (servers, storage, network etc.), platform for application development, testing, etc. from anywhere using internet. Cloud computing can be

described using two fundamental models: Deployment model and Service model. Deployment Model Deployment model of cloud computing describes how the cloud is located. It defines the boundary in which the services are employed. There are four deployment models of cloud computing: Public, Private, Hybrid, and Community. A comparative study[8][11] of these providers are given in table 1. In cloud there are two types of resources: on-premises (clients home) and off-premises. In Fig. 3, we have

Public Cloud

Private Cloud

Hybrid Cloud

Community Cloud

Description

In public cloud, services are available for public users.

Private cloud is build up with existing private infrastructure. This type of cloud has some authentic users who can dynamically provision the resources.

Hybrid cloud is a heterogeneous distributed system, resulting from a private cloud, which incorporates different types of services and resources from public clouds.

Different types of cloud are integrated together to meet a common or particular need for some organizations.

Scalability

Very High

Limited

Very High

Limited

Reliability

Moderate

Very High

Medium to High

Very High

Security

High class security

Secure

Secure

Performance

Totally Depends service provider Low to medium

Good

Good

Very Good

Cost

Cheaper

High Cost

Costly

Costly

Examples

Amazon EC2, Google AppEngine

VMWare, KVM, Xen

IBM, HP, VMWare vCloud, Eucalyptus

SolaS Community Cloud, VMWare

on

Microsoft,

Table 1: Comparison among Public, Private, Hybrid and Community Cloud

CSI Communications | January 2015 | 9

Fig. 3: Deployment Model (Public, Private, Community and Hybrid cloud)

runtime environment to develop and deploy their own applications. It does not expose underlying infrastructure to the PaaS user. It provides a middleware over the infrastructure which has the key role of managing and deploying applications, load balancing, configuring, billing, policy management etc. User does not bother about the underlying hardware. The runtime environment supports some programming languages and some specific components to develop applications. This environment is exposed by APIs. SaaS is a many-to-one like software delivery model where an application is deployed and then shared worldwide across variety of users through internet. SaaS incorporates the full cloud infrastructure, software and the users solutions stack as the service aids.

explained the nature of these resources in hybrid, private, public, community cloud and also the relationship among those. Service Model or SPI Model Depending on the types of services provided by cloud, there are in three most important service models: Infrastructureas-a-service (IaaS), Platform-as-a-service (PaaS), Software-as-a-service (SaaS) as shown in Fig. 4. IaaS provides infrastructure on demand. An organization can outsource resources like storages, hardware’s, servers, computation power, and network components on their demand. Here resources are made virtual. Using the virtualization technique virtual machine is created with the basic hardware components like memory, CPU, disk storage etc. and billed according to the usage. End users can customize the virtual machine according to their need. In PaaS, cloud users can get the

Comparisons among the Key Players in Cloud Computing Platforms There are mainly three public cloud service

providers: (1) Amazon Web Services[3], (2) Windows Azure and (3) Google App Engine[8]. A comparison among these widely used public cloud providers are listed in table 2. Conclusions Cloud computing has become a new trend in IT firms for its scalability, reduced cost, flexibility and availability. But this technology currently is going through its infant stage. Still now cloud computing technology suffers from privacy and security issues. Also there are a lot of distributed system issues and legal, compliance issues in large scale. For an ordinary user it is very difficult to choose a particular service provider because different service providers use different taxonomy for a particular service, hence need proper guidance and manuals. So to reach a complete cloud computing environment with most of the aspects we will try to resolve

Fig. 4: Three different service models with examples

CSI Communications | January 2015 | 10

www.csi-india.org

Amazon[5][7]

Parameters

Microsoft[9]

Google[9]

1. Cloud platform[6]

Amazon Web Service

Microsoft Azure

Google AppEngine

2. Year of Launch

2006

2009

2008

3. Model Type

IaaS, PaaS

IaaS, PaaS

SaaS, PaaS

4. ComputeServices

Amazon Elastic Compute Cloud, Amazon Elastic MapReduce, AWS Elastic Beanstalk, and AWS Cloudformation.

Windows Azure Compute: Web Role, Worker Role, Virtual Machine Role.

AppEngine Runtime, Task Queues, Corn Jobs.

5. Storage Services

Amazon Simple Storage Service, Amazon Elastic Block Store, Amazon Elastic Cache, Amazon CloudFront.

Blobs, Azure Drive, Tables, Queues.

Static File Server, MemCache.

6. Database Services

Amazon SimpleDB, Amazon RDS.

SQL Azure

DataStore.

7. Communication Services

Amazon Virtual Private Cloud, Amazon Direct Connect, Identity Access Management, Amazon Route 53, Amazon Simple Notification Service, Amazon Simple Mail Service, Amazon Simple Queue Service.

Azure Content Delivery Network, Azure Connect, Azure Traffic Manager.

XMPP Protocol, Google Mail, Google Talk.

8. Cost Model

Pay only for what you use and then subscription method. There is no minimum fee and it varies from region to region[3].

Pay-as-you-go, then subscription[4].

Charged on pay-per-use basis. An application’s service is measured against billable quotas, fixed quotas and per-minute quotas.

9. Supported Environment

Red Hat Enterprise Linux, Windows Server 2003/2008, Oracle Enterprise Linux, Microsoft SQL Server Standard 2005,Fedora, Gentoo Linux

Operating system Windows 7, Windows Server 2008, Windows Vista

Java Runtime Environment, Python Runtime Environment

10. Virtualization Models Used

Normally Amazon Machine Image uses either paravirtual (PV) or hardware virtual machine (HVM) technology. Amazon uses the Xen hypervisor to host the applications.

Hyper-V also known as the Microsoft Azure Hypervisor used to provide virtualization of services

Technique Specific Sandbox: Google AppEngine(Python & JVM), Heroku(Ruby), Morph Application Platform(Ruby)

11. Tools or Framework Used

Amazon machine image (AMI), Java, PHP, Python, Ruby

.NET framework.

AppEngine Framework, Java SDK ,go, Python SDK

12. Clients Access Interface

The AWS command line interface (CLI) is a unified tool to manage the AWS resources.

The Azure Cross Platform command line interface “xplat-cli”, offers set of open source, cross platform commands for interacting with Azure Platform.

Objectify, a Java Data Access API, Java Persistence API (JPA), Java Data Objects (JDO) interface.

13. Cloud’s Interaction with on-Premise Apps

Done by using Amazon Elastic Compute Cloud (EC2).

Azure AppFabric uses Service bus for messaging and interconnectivity infrastructure.

Platform does not supports to enable this scenario. But possible through each app using intermediary store to communicate.

Table 2: Comparison among three popular public cloud[8]

CSI Communications | January 2015 | 11

the security anxieties and compliance issues. References [1] Peter Mell Timothy Grance, “The NIST Definition of Cloud Computing”, Recommendations of the National Institute of Standards and Technology, US Department of Commerce, Special Publication 800-145. [2] Dikaiakos, M, Pallis, G, Katsaros, D, Mehra, P, & Vakali, A (2009). Cloud computing: Distributed internet computing for it and scientific research. IEEE Internet Computing, 13(5), 10–13. [3] Amazon Web Services User Guide: Amazon EC2 Cost Comparison

Calculator, February 2010. [4] Saurabh Kumar Garg and Rajkumar Buyya, “Green Cloud computing and Environmental Sustainability”, Cloud computing and Distributed Systems (CLOUDS) Laboratory, The University of Melbourne, Australia. [5] Jinesh Varia/Sajee Mathew, “Amazon Web Services – Overview of Amazon Web Services”, January 2014. [6] David Chappell, “A Short Introduction to Cloud Platforms- An EnterpriseOriented View”, August 2008. [7] “Amazon Web Services: The Economics of the AWS Cloud vs. Owned IT Infrastructure”, December 2009. [8] Noman Islam and Aqeel-ur-Rehman,

“A comparative study of major service providers for cloud computing”. [9] Rajkumar Buyya, Christian Vecchiola, S ThamaraiSelvi, “Mastering Cloud Computing Foundations andApplications Programming”, Morgan Kaufmann Publication, Elsevier. [10] Rajkumar Buyya, Karthik Sukumar, “Platforms for Building and Deploying Applications for Cloud Computing”, CSI Communications,35(3),2011,6 – 11. [11] J K Verma and C P Katti, “Study of Cloud Computing and its Issues: A Review”, Smart Computing Review, vol. 4, no. 5, October 2014. n

About the Authors

Debranjan Pal has received his M.Tech from the Dept.of Computer Science & Engineering, University of Calcutta, India. Currently he is working as Assistant Professor, Dept. of CSE, Academy of Technology, W.B., India. His interest areas are DataStructure, Cryptography and Network Security, Steganography, Mobile Communication, Computer Network, Cloud Computing. Sourav Chakraborty has received his M.Tech from the Dept. of Computer Science & Engineering, University of Calcutta, India. Currently he is working as Assistant Professor, Dept. of CSE, Academy of Technology, W.B., India. His interest areas are DataStructure, Cryptography and Network Security, Computer Network, Cloud Computing. Amitava Nag received his M. Tech. degree from University of Calcutta. Currently he is working as an Assistant Professor and Head in Dept. of IT, Academy of Technology, West Bengal,India and also working towards his PhD at the Dept. of Engineering & Technological Studies, University of Kalyani. He is member of CSI, IEEE and ACM. His areas of interest include Image Processing, Information Security, and Data Mining.

CSI Communications | January 2015 | 12

www.csi-india.org