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