Cloud Computing Guide
Cloud Computing Guide
We need not to install a piece of software on our local PC and this is how, the cloud
computing overcomes platform dependency issues. Hence, the Cloud Computing is
making our business application mobile and collaborative.
Virtualization
Grid Computing
Utility Computing
Virtualization
Virtualization is a technique which allows to share single physical instance
of an application or resource among multiple organizations or
tenants(customers). It does so by assigning a logical name to a physical
resource and providing a pointer to that physical resource when demanded.
Service-Oriented Architecture(SOA)
Service-Oriented Architecture helps to use applications as a service for
other applications regardless type of vendor, product or technology.
Therefore it is possible to exchange of data between applications of different
vendors without additional programming or making changes to services.
cloud_computing-service_oriented_architecture
Grid Computing
Grid Computing refers to distributed computing in which a group computers
from multiple locations are connected with each other to achieve common
objective. These computer resources are heterogeneous and geographically
dispersed.
Grid Computing breaks complex task into smaller pieces. These smaller
pieces are distributed to CPUs that reside within the grid.
Utility Computing
Utility computing is based on Pay per Use model. It offers computational
resources on demand as a metered service. Cloud computing, grid
computing, and managed IT services are based on the concept of Utility
computing
Front End
Back End
Each of the ends are connected through a network, usually via. Internet. The
following diagram shows the graphical view of cloud computing architecture:
Front End
Front End refers to the client part of cloud computing system. It consist of
interfaces and applications that are required to access the cloud computing
platforms. Eg. Web Browser
Back End
Back End refers to the cloud itself. It consist of all the resources required to
provide cloud computing services. It comprises of huge data storage,
virtual machines, security mechanism, services, deployment models,
servers etc.
Management Software
Management Software helps to maintain and configure the infrastructure.
Deployment Software
Deployment software helps to deploy and integrate the application on the
cloud.
Network
Network is the key component of cloud infrastructure. It allows to connect
cloud services over the internet. It is also possible to deliver network as a
utility over the internet i.e. the consumer can customize the network route
and protocol.
Server
Server helps to compute the resource sharing and offer other services such
as resource allocation and de allocation, monitoring resources, security etc.
Storage
Cloud uses distributed file system for storage purpose. If one of the storage
resource fails then it can be extracted from another one, which makes cloud
computing more reliable.
BENEFITS
Cost Effective
Reliability
Flexibility
Location Independence
High Scalability
DISADVANTAGES
Low Security
Less customizable
BENEFITS
More Control
DISADVANTAGES
Restricted Area
Inflexible Pricing
Limited Scalability
Additional Skills
BENEFITS
Scalability
Flexibility
Cost Efficiencies
DISADVANTAGES
Networking Issues
Security Compliance
Infrastructural Dependency
Cost effective
Security
ISSUES
Since all data is housed at one location, therefore one must be careful in storing
data in community cloud because it might be accessible by others.
Infrastructure as a Service(IaaS)
IaaS provides access to fundamental resources such as physical machines,
virtual machines, virtual storage etc. Apart from these resource the IaaS also
offers:
Load balancers
IP addresses
Software bundles
All of the above resources are made available to end user via server
virtualization. Moreover, these resources are accessed by the customers as
if they own them.
BENEFITS
IaaS allows the cloud provider to freely locate the infrastructure over the
internet in cost-effective manner. Some of the key benefits of IaaS are listed
below:
ISSUES
CHARACTERISTICS
Platform as a Service(PaaS)
PaaS offers the run time environment for applications. It also offers
development & deployment tools, required to develop applications. PaaS has
a feature of point-and-click tools that enables non-developers to create
web applications.
The following diagram shows how PaaS offers an API and development tools
to the developers and how it helps the end user to access business
applications.
BENEFITS
Scalable Solutions
ISSUES
CHARACTERISTICS
The Software are maintained by the vendor rather than where they are running.
The license to the software may be subscription based or usage based. And it is
billed on recurring basis.
SaaS applications are cost effective since they do not require any maintenance at
end user side.
SaaS offers share data model. Therefore multiple users can share single instance
of infrastructure. It is not required to hard code the functionality for individual
users.
BENEFITS
Multitenant solutions.
ISSUES
There are several issues associated with SaaS. Some of them are listed
below:
Network dependence
Identity as a Service(IDaaS)
OVERVIEW
If an employee leaves the company, It's required to ensure that each of the user's
account has been disabled. This increases workload on IT staff.
IDENTITY
Federated Services
Registration
Authentication Services
SSO WORKING
1. User logs into the authentication server using a username and password.
5. Authentication server sends the user's security credentials for that server back to
the intranet server.
If an employee leaves the company, then it just required to disable the user at the
authentication server, which in turn disable the user's access to all the systems.
FEDERATED IDENTITY MANAGEMENT(FIDM)
FIDM describes the technologies and protocols that enable a user to package
security credentials across security domains. It uses Security Markup
Language (SAML) to package a user's security credentials as shown in the
following diagram:
OPENID
It offers users to login multiple websites with single account. Google, Yahoo!,
Flickr, MySpace, WordPress.com are some of the companies that support
OpenID.
BENEFITS
Network as a Service(NaaS)
OVERVIEW
To use NaaS model, the consumer is required to logon to the web portal,
where he can get on line API. Here, the consumer can customize the route.
In turn, consumer has to pay for the capacity used. It is also possible to turn
off the capacity at any time.
MOBILE NAAS
Mobile NaaS offers more efficient and flexible control over mobile devices. It
uses virtualization to simplify the architecture to create more efficient
processes.
NAAS BENEFITS
Independence
Analytics
Resilience
Ease of Adding new Service Elements
Support Models
Storage Devices
Storage devices can be broadly classified into two categories:
Block Storage Devices offers the raw storage to the clients. This raw
storage can be partitioned to create volumes.
Unmanaged Cloud Storage means that the storage is preconfigured for the
consumer. The consumer can not format nor the consumer can install own
file system or change drive properties.
To aggregate storage assets into cloud storage systems, the cloud provider
can use storage virtualization software, StorageGRID. It creates a
virtualization layer that fetches storage from different storage devices into a
single management system. It can also manage data from CIFS and NFS file
system over the Internet. The following diagram shows how SystemGRID
virtualizes the storage into storage clouds:
Virtual Storage Containers
Virtual storage containers offer high performance cloud storage
systems. Logical Unit Number (LNU) of device, files and other objects are
created in virtual storage containers. Following diagram shows a virtual
storage container, defining a cloud storage domain:
Challenges
Storing the data in cloud is not that simple task. Apart from its flexibility and
convenience, it also has several challenges faced by the consumers. The
consumers require ability to:
Virtualization Concept
Creating a virtual machine over existing operating system and hardware is
referred as Hardware Virtualization. Virtual Machines provide an environment
that is logically separated from the underlying hardware.
Hypervisor
Hypervisor is a firmware or low level program that acts as a Virtual Machine
Manager. There are two types of hypervisor:
1. Full Virtualization
2. Emulation Virtualization
3. Paravirtualization
Full Virtualization
In Full Virtualization, the underlying hardware is completely simulated.
Guest software do not require any modification to run.
Emulation Virtualization
In Emulation, the virtual machine simulates the hardware and hence
become independent of the it. In this, the guest operating system does not
require modification.
Paravirtualization
In Paravirtualization, the hardware is not simulated. The guest software
run their own isolated domains.
VMware vSphere is highly developed infrastructure that offers a management
infrastructure framework for virtualization. It virtualizes the system, storage and
networking hardware.
Security Planning
Before deploying a particular resource to cloud, one should need to analyze
several attributes about the resource such as:
Select which resources, he is going to move to cloud and analyze its sensitivity to
risk.
Consider cloud service models such as IaaS, PaaS, and SaaS. These models
require consumer to be responsible for security at different level of service.
Understand the cloud service provider's system that how data is transferred,
where it is stored and how to move data into and out of cloud.
Mainly the risk in cloud deployment depends upon the service models and cloud types.
Understanding Security of Cloud
Security Boundaries
A particular service model defines the boundary between the responsibilities
of service provider and consumer. Cloud Security Alliance (CSA) stack
model defines the boundaries between each service model and shows how
different functional units relate to each other. The following diagram shows
the CSA stack model:
IaaS is the most basic level of service with PaaS and SaaS next two above level
of service.
Moving upwards each of the service inherits capabilities and security concerns of
the model beneath.
IaaS has the least level of integrated functionalities and integrated security while
SaaS has the most.
This model describes the security boundaries at which cloud service provider's
responsibility ends and the consumer's responsibilities begin.
Any security mechanism below the security boundary must be built into the
system and above should me maintained by the consumer.
Although each service model has security mechanism but security needs also depends
upon where these services are located, in private, public, hybrid or community cloud.
Access Control
Auditing
Authentication
Authorization
Brokered Cloud Storage Access is one of the approach for isolating the
storage in cloud. In this approach two services are created:
A proxy with no access to storage but access to both client and broker.
Encryption
Encryption helps to protect data from being compromised. It protects data
that is being transferred as well as data stored in the cloud. Although
encryption helps to protect data from any unauthorized access, it does not
prevent from data loss.
Always employ right tools and resources to perform any function in the cloud.
Cloud Applications
Cloud Computing has its applications in almost all the fields such
as business, entertainment, data storage, social networking,
management, entertainment, education, art and global positioning
system etc. Some of the widely famous cloud computing applications are
discusses here in this tutorial:
Business Applications
Cloud computing has made business more collaborative and easy by
incorporating various apps such as MailChimp, Chatter, Google Apps for
business, and Quickbooks.
SN Application Description
MailChimp
1 It offers an email publishing platfrom. It is widely employed by the
businesses to design and send their email campaigns.
Chatter
2 Chatter app helps the employee to share important information about
organization in real time. One can get the instant feed regarding any issue.
Quickbooks
4 It offers online accounting solutions for a business. It helps in monitoring
cash flow, creating VAT returns and creating business reports.
Box.com
1 Box.com offers drag and drop service for files. It just required to drop the files
into Box and access from anywhere.
Mozy
2
Mozy offers online backup service for files during a data loss.
Joukuu
3 Joukuu is a web based interface. It allows to display a single list of contents
for files stored to Google Docs, Box.net and Dropbox.
Management Applications
There are apps available for management task such as time tracking,
organizing notes. Applications performing such tasks are discussed below:
SN Application Description
Toggl
1
It helps in tracking time period assigned to a particular project.
Evernote
2 Evernote is an application that organizes the sticky notes and even can read
the text from images which helps the user to locate the notes easily.
Outright
3 It is an accounting app. It helps to track income, expenses, profits and losses
in real time.
Social Applications
There are several social networking services providing websites such as
Facebook, Twitter etc.
SN Application Description
Facebook
1 Facebook offer social networking service. One can share photos, videos, files,
status and much more.
Twitter
Twitter helps to interact directly with the public. Once can follow any
2
celebrity, organization and any person who is on twitter and can have latest
updates regarding the same.
Entertainment Applications
SN Application Description
Audiobox.fm
1 It offers streaming service i.e. music can be stored online and can be played
from cloud using service's own media player.
Art Applications
SN Application Description
Moo
1 It offers art services such as designing and printing business cards,
poscards and minicards.
Cloud Providers
Various Cloud Computing platforms are available today. The following table
contains the popular Cloud Computing platforms:
SN Platforms Description
Salesforce.com
1 This is a Force.com development platfrom. This provide a simple user interface
and lets users log in, build an app and push it in the cloud.
Appistry
The Appistry's CloudQ platform is efficient in delivering a run-time application
2
platform. This platform is very useful to create scalable and service oriented
applications.
AppScale
3
The AppScale is an open source platform for Google App Engine applications.
AT&T
The AT&T allows access to virtual servers and manages the virtualization AT&T
4 The AT&T allows access to virtual servers and manages the virtualization
infrastructure. This virtualization infrastructure includes network, server and
storage.
Engine Yard
5
The Engine Yard is a Rails Application cloud computing platform.
Enomaly
6
Enomaly's provides the Infrastructure-as-a-Service platform.
FlexiScale
7 The FlexiScale offers a cloud computing platform that allows flexible, scalable
and automated cloud infrastructure.
GCloud3
8
The GCloud3 offers private cloud solution in its gPlatform.
Gizmox
9 The Gizmox Visual WebGUI platfrom is best suited for developing new web
apps and modernize the legacy apps based on ASP.net, DHTML etc.
GoGrid
10 The GoGrid platform allows the users to deploy web and database cloud
services.
Google
11 The Google's App Engine, let the users build, run and maintain their
applications on Google's infrastructure.
LongJump
12 The LongJump offers a Business Application Platform, a platform-as-a-Service
(PaaS).
Microsoft
13 The Microsoft's Windows Azure is a cloud computing platform, offering an
environment to create cloud apps and services.
OrangeScape
14 OrangeScape is offers a Platform-as-a-Service (Paas) for non programmers.
Building an app is as easy as spreadsheet.
RackSpace
15 The RackSpace provide servers-on-demand via a cloud-driven platfrom of
virtualized servers.
Amazon EC2
16 The Amazon EC2 (Elastic Compute Cloud) lets the users configure and control
computing resources while running them on Amazon's environment.
Portability
This is another challenge to cloud computing that applications should easily
be migrated form one cloud provider to another. There should not be vendor-
lock in. However, it is not yet made possible because each of the cloud
provider use different standard languages for their platforms.
Interoperability
Application on one platform should be able to incorporate services from other
platfrom. It is made possible via web services. But this writing such web
services is very complex.
Computing Performance
To deliver data intensive applications on cloud requires high network
bandwidth which result in high cost. If done at low bandwidth, then it does
not meet the required computing performance of cloud application.
Architecture
MCC includes four types of cloud resources:
Hybrid
The following diagram shows the framework for mobile cloud computing
architecture:
Issues
Despite of having significant development in field of mobile computing, there
still exists many issues:
Architectural Issues
Mobile cloud computing is required to make architectural neutral because of
heterogeneous environment.
Live VM migration
It is challenging to migrate an application which is resource-intensive to cloud
and to execute it via. Virtual Machine .