SlideShare a Scribd company logo
1 of 17
Download to read offline
CLOUD COMPUTING
                                  VIJAYA KUMAR S.
                   M.Sc. (Computer Application), Roll No: 4864
                   I.A.S.R.I., Library Avenue, New Delhi-110012
                               selvavijay1987@gmail.com


Abstract

Cloud computing is the metaphor to the internet and it is a recent technology whose aim is to
deliver IT services on demand on pay per usage basis to the masses. The essential key
characteristics of cloud computing providers are scalability, availability, reliability, flexibility,
security and serviceability etc. Clouds can be classified into three types, Public, Private and
Hybrid clouds as per the deployment model. According to services provided by the cloud
computing it is categorised into Infrastructure as a Service (IaaS), Platform as a Service (PaaS)
and Software as a Service (SaaS).

 IaaS supports operations, including storage, hardware, servers and networking components. The
service provider owns the equipment and is responsible for housing, running and maintaining it
E.g. AWS, IBM etc. PaaS is the second model in cloud computing which acts as an intermediate
between IaaS and SaaS by giving support to the IaaS to avail the services of SaaS to the end
users. Platform as a Service (PaaS) is an application development and deployment platform
delivered as a service to the developers over the web, e.g. Google Apps Engine, Windows Azure.
Third model is SaaS where users simply make use of a web-browser to access software that
others have developed and offer as a service over the web. At the SaaS level, users do not have
control or access to the underlying infrastructure being owned by the host. SaaS is service model
where application services are delivered over the network on a subscription and on-demand basis
e.g. Google Docs, Salesforce.com etc.

 Benefits of cloud computing is reduction of capital investment, automated update of the services,
pay per use, more storage and mobility. The main demerits are dependent on internet
connections, abiding of service provider rules and regulation at any cost and security
implications.

       Keywords: Cloud computing, IaaS, PaaS, SaaS, Google Apps Engine, Windows Azure
Cloud Computing

1. Introduction

With the significant advances in Information and Communications Technology (ICT) over the
last half century, there is an increasingly perceived vision that computing will one day be the 5th
utility (after water, electricity, gas and telephony). This computing utility, like all other four
existing utilities, will provide the basic level of computing services that is considered essential to
meet the everyday needs of the general community. To deliver this vision, a number of
computing paradigms have been proposed, of which the latest one is known as ‘Cloud
Computing’.

Cloud computing is a recent technology trend whose aim is to deliver on demand IT resources on
a pay per usage basis. Previous trends were limited to a specific class of users, or focused on
making available on demand a specific IT resource for computing. Cloud computing is oriented
to provide services to the masses, ranging from the end user which hosts its personal documents
on the Internet, to enterprises outsourcing their entire IT infrastructure to the external data
centres.

Everyone has an opinion on what is cloud computing. It can be the ability to rent a server or a
thousand servers and run the application on the most powerful systems available anywhere. It can
be the ability to rent a virtual server, load software on it, turn it on and off at will, or clone it ten
times to meet a sudden workload demand. It can be storing and securing immense amounts of
data that is accessible only by authorized applications and users.

1.1 Definition

The term ‘cloud’ is not at all new to the computing community. For many years, ‘cloud’ is being
used as a symbol in typical network diagrams to refer to the internet or the components of the
network which are managed outside the environment of any IT organization. Even though cloud
computing has started taking shape in very recent years, some computer scientist has given the clear cut
definition about the cloud computing some of them are follows:

Gartner (2008), defines Cloud computing as "a style of computing where massively scalable IT-
enabled capabilities are delivered 'as a service' to external customers using Internet technologies."
 “Common, Location-independent, Online Utility that is available on Demand” (Chan,
 2009).

Brown (2009), defines cloud computing as, a data-processing infrastructure in which the
application software—and often the data itself—is stored permanently not on your PC but rather
a remote server that’s connected to the Internet.

An emerging model of computing where machines in large data centers can be dynamically
provisioned, configured, and reconfigured to deliver services in a scalable manner, for needs
ranging from scientific research to video sharing to e–mail (Jaeger, et al., 2009).
Finally the most accepted definition of cloud computing is given by the National Institute of
Standards and Technology (NIST).

Cloud computing is a model for enabling 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.

Cloud services can be illustrated in the Figure 1 given below:
In the below diagram middleware is the interface between the cloud vendors and the end users.
The middleware can either be cloud operating platform or storage or service etc. For e.g.
Windows Azure gives the services as Platform to deploy the application to the application
developers. Similarly, IBM Cloud gives the Infrastructure by giving the storage and Google Apps
gives Software services like Apps, Gmail, Calendar etc. to the end users. In cloud computing
environment users may be the commercial IT Company or non commercial government
department or may be individuals.




                                Figure 1. Cloud Services

2. Need for cloud computing
2.1 Innovate to Survive

The companies like Google, Hotmail and Yahoo sustained through the dotcom burst. They began
innovating further to attract more number of users. Cloud computing has its roots in the strategies
adopted by these internet giants. Most of these internet companies would face unpredictable
demand in seasonality due to the very nature of their operations. These vendors needed to ensure
optimum response time even at the highest hit-rate. To achieve this, these vendors went on
expanding their infrastructural capacity by adopting cloud technology.

2.2 Generalize to Proliferate

In this Internet era, generalising one’s own innovation is very easy. In early days of computing
evolution, technology companies such as IBM provides newer technologies and sell it at a
premium cost after securing its intellectual property rights over that technology. On the contrary
some web service providers innovated their technologies and used for their own business use,
later which would be bundled and make it available to the public at an affordable price. E.g.
Google offers Google Apps Engine platform to deploy up to ten application with free of cost, and
Amazon offers software development and database storage management services etc.

The necessity of the cloud computing can be explained by taking an example. Let’s say there is
an executive at a large corporation. His/her particular responsibilities include making sure that all
of his/her employees have the right hardware and software they need to do their jobs. Buying
computers for everyone isn't enough – He/she also has to purchase software or software licenses
to give employees the tools they require. Whenever executive have a new hire, he/she has to buy
more software or make sure your current software license allows another user. This would
increase the capital investment furthermore.

Instead of installing a suite of software for each computer, we'd only have to load one
application. That application would allow workers to log into a Web-based service which hosts
all the programs the user would need for his or her job. Remote machines owned by another
company would run everything from e-mail to word processing to complex data analysis
programs. It's called cloud computing, and it could change the entire computer industry.

The noticeable example of cloud computing in our day today life is e-mail. We have an e-mail
account with a Web-based e-mail service like Hotmail, Yahoo! Mail or Gmail, then we've had
some experience with cloud computing. Instead of running an e-mail program on our computer,
we log in to a Web e-mail account remotely. The software and storage for your account doesn't
exist on our computer -- it's on the service's computer cloud. It's called cloud computing because
the data and applications exist on a "cloud" of Web.

3. Essential characteristics of the cloud environment

3.1 Scalability

Applications designed for cloud computing need to be scaled with workload demands so that
performance with service levels remains on target. In order to achieve this, applications and their
data must be loosely coupled to maximize scalability.

3.2 Reliability

Reliability means that applications do not fail and most importantly the data should not lose. The
way that architecture addresses this characteristic today is to design applications so that it should
continue to operate and user’s data remains intact despite the failure of one or more of the servers
or virtual machines onto which service provider decomposed.
3.3 Security

Applications need to provide access only to authorized, authenticated users, and those users need
to be able to trust that their data is secure. This is true whether the application helps individual
users on the Internet prepare their tax returns, or whether the application exchanges confidential
information between a company and its suppliers. Security in today’s environments is established
using strong authentication, authorization, and accounting procedures, establishing security of
data at rest and in transit, locking down networks, and hardening operating systems, middleware,
and application software.

3.4 Flexibility and agility

These characteristics are increasingly important, as business organizations find themselves
having to adapt even more rapidly to changing business conditions by increasing the velocity at
which applications are delivered into customer hands. Cloud computing stresses getting
applications to market very quickly by using the most appropriate building blocks to get the job
done rapidly.

3.5 Serviceability

 Once an application is deployed, it needs to be maintained and updated as a dew course. Without
disrupting the service availability and security, to the customer, cloud provider should update or
even replace the application’s infrastructure components if it demands.

3.6 Efficiency

An application should deploy in the cloud quickly and easily, as we moves our service on pay per
basis.

3.7 Ubiquitous network access

Availability of the network and it should be accessed through standard mechanisms that promote
use by heterogeneous clients.

3.8 Location-independent resource pooling

It is no matter where we are residing, and where we are accessing the data. The data should be
available when we require it and should be accessed in independent of location. The customer
generally has no control or knowledge over the exact location of the provided resources but
may be able to specify location at a higher level of abstraction (e.g., country, state, or data
centre). Examples of resources include storage, processing, memory, network bandwidth, and
virtual machines.

3.9 Measured service

Resource usage can be monitored, controlled, and reported by providing transparency of the
utilized service for both the provider and consumer.
4. Types of clouds

Cloud model is categorized into three types as Public, Private and Hybrid clouds according to
the users as per deployment model.

4.1 Public Clouds

Public clouds are run by third parties, and applications from different customers are likely to be
stitched together on the cloud’s servers, storage systems and networks. Public clouds are most
often hosted away from customer premises, and they provide a way to reduce customer risk and
cost by providing a flexible, even temporary extension to enterprise infrastructure. If a public
cloud is implemented with performance, security and data locality in mind, the existence of other
applications running in the cloud should be transparent to both cloud architects and end users.




                                  Figure 2. Public Cloud




4.2 Private clouds

The cloud infrastructure is operated solely for an organization. It may be managed by the
organization or a third party, and may exist on or off the premises. Private clouds are built for the
exclusive use of one client, providing the utmost control over data, security, and quality of
service. The company owns the infrastructure and has control over how applications are deployed
on it. Private clouds may be deployed in an enterprise data center. Private clouds can be built and
managed by a company’s own IT organization or by a cloud provider.
Figure 3. Private Cloud


4.3 Hybrid clouds

The cloud infrastructure is a composition of two clouds (private and public) that remain unique
entities but are bound together by standard technology that enables data and application
portability. Hybrid clouds combine both public and private cloud models. Hybrid clouds
introduce the complexity of determining how to distribute applications across both a public and
private cloud. Hybrid cloud will be suitable for the small data which demands more application
processing. If the data is large and it demands less application, then the data will be transferred to
the public cloud for processing.




                                         Figure 4. Hybrid Cloud
5. Service model of the cloud computing architecture

There are three service models in cloud computing architecture
     a)     Infrastructure as a Service(IaaS)
     b)     Platform as a Service(PaaS)
     c)     Software as a Service(SaaS)

5.1 Infrastructure as a service (IaaS)

Infrastructure as a Service is a provision model in which an organization outsources the
equipment used to support operations, including storage, hardware, servers and networking
components. The service provider owns the equipment and is responsible for housing, running
and maintaining it. IaaS clouds provide a set of building blocks or basic services, such as virtual
servers, data storage and databases. We can stitch these services together into a platform for
deploying and running our applications.
  Infrastructure as a Service is sometimes referred to as Hardware as a Service (HaaS).

Some Important Cloud Infrastructure as a Service Provider




5.1.1 Architecture of IaaS

The fundamental building block of an infrastructure as a service in the cloud is workload.
Workload is the amount of work done by the server with the given amount of resources
allocated to it. Those resources encompass processing (CPU & RAM), data (throughput),
and networking (latency & throughput). Mostly, cloud workloads are delivered in virtual
servers. Workload might be delivered using a single virtual server spanning a variety of
physical resources including compute, storage, and networking. A workload can also be
an application or part of an application given by the cloud provider. Examples of
workloads include:
        • Transactional Database
        • Fileserver
        • Application Server
        • Web Server
A workload can be the one of the above mentioned example. If the workload is transactional
database then it provides service in the DBMS(Data Base Management System) if it is a file
server then it will provides the document related applications, application server will provide
the on-demand request in the analysis of data, and web server gives services as web services
related application.
A database may require large amounts of CPU & RAM, fast storage, and low latency
networking, while an application server might require large amounts of CPU & RAM only.
Web servers need very little resources other than networking.




                                      Requesting and
                                      accessing
                                      services




                   Step 2                                    Step 1




                   Figure 5. Infrastructure as aService Architecture


IaaS is entirely based on the server virtualization concept, as the IaaS provides the vast variety
of services. In figure 5 the request made by the Users directly ( In step 1)to the IaaS provider
for any application with in the service limit of IaaS cloud, the host will allow to access the
services to the user. This application will be running on the VM of the host. In the second step
application developer stands as a middle man for the end user to access the services from the
IaaS provider and serve back to the user what they demands. In IaaS, user can access the
services directly or indirectly to the IaaS provider. IaaS gives users more flexibility than PaaS
as it allows the user to deploy any software which they demands. Amazon Web Services’ EC2
and S37 are very popular IaaS examples.


5.1.2 In the IaaS cloud architecture there are five important components which controls
the entire IaaS Architecture

      I.   Cloud Controller (CLC)
     II.   Cluster Controller(CC)
    III.   Node Controller (NC)
    IV.    Walrus (W)
     V.    Storage Controller (SC)
I .Cloud Controller (CLC)

Within IaaS cloud, this is the main controller component responsible for managing the entire
system. It is the main entry point into the cloud for all users and administrators. All clients will
communicate only with the CLC using API.

II.Cluster Controller (CC)

The controller component within cloud responsible for managing the entire virtual instance
network. Requests are communicated to the CC using API. The CC maintains all the
information about the Node Controllers that run in the system and is responsible for controlling
the life cycle of the instances.

III.Node Controller (NC)

This controls the host operating system and the corresponding hypervisor (Xen with support for
VMware on the horizon e.g. In Eucalyptus). You must run an instance of the NC on each
machine that will be hosting the actual virtual instances instantiated upon request from a CC.

IV.Walrus (W)

The controller component that manages access to the storage services within cloud. Requests
are communicated to Walrus using API.

V.Storage Controller (SC)

SC is used for storing and accessing virtual machine images. The VM images can be public or
private and are initially stored in compressed and encrypted form. The images are decrypted
only when a node needs to start a new instance and requests access to the image.

5.1.3 Topology of a single-cluster cloud installation

A single-cluster installation, as shown in Figure 2, will consist of at least two machines: one
running the CC, SC, and CLC, and the other one running the NC. We can simplify this even
further by combining everything onto a single machine, but we will need hefty machine
specifications to pull it off.




                       Figure 4. Single Cluster Cloud Installation
5.1.4 Topology of a multi-cluster cloud installation

A multi-cluster installation can situate each of the components (CC, SC, NC, and CLC) on
separate machines. This is the preferred way to configure our cloud if we intend to do serious
work with it. The multi-cluster installation also gives you the opportunity to significantly
enhance performance by selecting machines that complement the type of controller running on
it. For instance, we can select a machine with a super-fast CPU for running the CLC. The
choice of multiple clusters will result in higher availability and in distribution of load and
resources across the clusters. The concept of a cluster is similar to the concept of an availability
zone in Amazon EC2. We distribute resources across multiple availability zones so that a
failure in one does not affect our application.




                         Figure 7. Multi Cluster Cloud Installation

Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides resizable
compute capacity in the cloud. It is designed to make web-scale computing easier for
developers. Amazon Simple Storage Service (Amazon S3) enables storage in the cloud.

5.2 Platform as a service (PaaS)

The next layer after the IaaS in the cloud computing architecture is Platform as a Service
(PaaS). This is the layer which acts as an intermediate between IaaS and SaaS by giving
support to the IaaS to avail the services of SaaS to the end users. Platform as a Service (PaaS) is
an application development and deployment platform delivered as a service to developers over
the Web.

 Marc Andreessen, who coined the phrase “Web as Platform”, once wrote: “platform is a
 system that can be programmed and therefore customized by outside developers — users
 — and in that way, adapted to countless needs and niches that the platform’s original
 developers could not have possibly contemplated, much less had time to accommodate. If
 you can program it, then it’s a platform. If you can’t, then it’s not.
5.2.1 Architecture of Platform as a service in the cloud computing

In Platform as a Service (PaaS), applications are developed using a set of programming
languages and tools that are supported by the PaaS provider. PaaS provides users with a high
level of abstraction that allows them to focus on developing their applications and not worry
about the underlying infrastructure. Just like the SaaS model, users do not have control or
access to the underlying infrastructure being used to host their applications at the PaaS level.
Google App Engine and Microsoft’s Windows Azure are popular PaaS examples. PaaS
provides support the use of the application by many concurrent users, by providing concurrency
management, scalability and security. The architecture enables defining the trust relationship
between users in security, access, distribution of source code, user (people and device) profiles,
interaction and application usage.




                                                                          End user




                                                                         Application Developer



                                                                        PaaS providers offering
                                                                        middleware     to    the
                                                                        Application developer.


                             Figure 8. Architecture of PaaS


As shown in the Fig 8. There are three layers present in the architecture of PaaS. The first layer
in architecture is PaaS provider Layer. This layer consists of OS server which may or may not
include virtualization technique such as Virtual Machine hypervisor software. The inclusion of
virtualization technique will depends upon the capital investment and volume of service given
by the PaaS providers. Second layer is Middleware which gives the platform to the application
developer to develop the application for their customer (end user). This layer includes
application servers and technologies such as service-oriented architecture (SOA), business
process management (BPM), user interface (UI) technologies, and identity management. Upon
this middleware layer the end users layer resides, where the application developed by the
application developers will be accessed by the end users by just giving the request on demand.


5.2.2 Characteristics

PaaS typically provide some level of support to ease the creation of user interfaces, either based
on standards language such as HTML, JavaScript or Python etc. This platform consists of
infrastructure software, and typically includes a database, middleware and development tools.
Some PaaS have a specific programming language.

Google App Engine

    Built on Google infrastructure platform (i.e. No commercially available server operating
     system).
    Choice of either Python or Java run-time for running web applications. Other pre-
     selected applications are available via services (e.g. Mail, Memcache).
    Application development tightly confined to Google’s Software Development Kit
     (SDK).
    Tightly integrated with Google’s web services APIs (e.g. for authenticating users and
     sending email).
    Free quotas for applications limited to: 500MB of persistent storage and CPU width for
     approximately 5 million page views a month.

Microsoft’s Windows Azure

    Operates on Microsoft’s virtualized 64-bit Windows Server 2008 operating system.
    Support for .NET applications, as well as other third party applications available for the
     same OS running on a standard server.
    Application development tightly integrated with Microsoft’s Visual Studio, in addition
     to having its own Software Development Kit (SDK).
    Fully pay-per-use service for the application developer’s on-demand basis.

5.3 Software as a service (SaaS)

In the architectural layer of the cloud computing, this is the last layer where users simply make
use of a web-browser to access software that others have developed and offer as a service over
the web. At the SaaS level, users do not have control or access to the underlying infrastructure
being owned by the host. SaaS is service model where application services are delivered over
the network on a subscription and on-demand basis. Google Docs is popular examples that use
the SaaS model of cloud computing. Software as a Service (SaaS), also sometimes referred to
as Service or Application Clouds.


NIST has defined SaaS as the capability provided to the consumer and is the use of the
provider’s applications running on a cloud infrastructure and accessible from various client
devices through a thin-client interface such as a web browser (e.g., web-based e-mail). The
consumer does not manage or control the underlying cloud infrastructure, network, servers,
operating systems, storage, or even individual application capabilities, with the possible
exception of limited user-specific application configuration settings.
5.3.1 Architecture of SaaS




                          Figure 9. Software as Service Architecture

SaaS applications requested by the end user can provide single sign-in authentication through
the use of a federation server within the customer's network that interfaces with the customer's
own enterprise user-directory service. This federation server has a trust relationship with a
corresponding federation server located within the SaaS provider's network. When an end user
attempts to access the application, the enterprise federation server authenticates the user locally
and negotiates with the SaaS federation server to provide the user with a signed security token,
which the SaaS provider's authentication system accepts and uses to grant the user access.

The important thing to be noted while designing architecture for SaaS is Multi tenancy.
Multitenancy refers to a principle in software architecture where a single instance of the
software runs on a (SaaS) vendor's servers, serving multiple client organizations (tenants or
users). Multitenancy is often contrasted with a multi-instance architecture where separate
software instances (or hardware systems) are set up for different client organizations.

In SaaS model, the application or service is deployed from a centralized data center across a
network providing access and use on a recurring fee basis. The core value of SaaS is providing
access to a commercially available application. This service is different from business process
outsourcing (BPO), for instance, where the outsourcing contract encompasses management of
entire business processes such as HR or Finance, where the focus of the service is management
of the network and servers.

The SaaS solution offers the opportunity for companies to select their information technology
priorities and then choose from the growing menu of applications now being offered via service
providers. An outsourced service can also provide a superior infrastructure with improved
business agility and scalability, and rapid deployment. SaaS is generally requires much shorter
time to install and implement new software applications to establish new department in the
 enterprise

 As SaaS is directly contact with the application user so it involves five types of cost model to
 be paid by the users to the SaaS provider.

 I. Subscription-Based Model: Monthly payment is calculated on the software actually used,
    and includes a commitment as to the actual number of users. Subscriptions are usually
    written on a per-seat or named user basis.

II. Usage-Based Model: Payment is determined by application usage and is typically related
    to peak or near peak levels of usage. Payment may be tied to the number of CPUs
    (customers are charged for every computer that runs the hosted application). It may also be
    a written for number of concurrent users.

III. Transaction-Based Model: ASPs that provide online scheduling and similar products
     sometimes charge customers for each business transaction: purchasing one introductory
     relational database class is one service; two classes are two services, and so on.

IV. Value-Based Model: Premised on the provision of whatever software is needed to achieve
    business goals, and payment is linked to the achievement of those goals.

V. The Fixed-Fee Model: An emerging option, users generally pay a predetermined monthly
   fee based on number of users supported, which application modules are rented and service
   and support levels specified by the customer.

 Though these cost models are for the professional enterprises, Google Apps gives SaaS in free
 of cost for their range of services. Google Apps is a powerful set of tools and user friendly that
 Google has bundled together to meet the needs of businesses, schools, government agencies,
 and other organizations of any size.

 Gmail: An e-mail app based on Google’s popular Gmail platform.

 Calendar: A calendar and scheduling app that allows easy collaboration.

 Talk: Instant messaging, available directly from within Gmail or as a standalone software
 application. Talk also allows voice calls, voice mail, and file sharing.

 Docs: A simple, yet powerful, set of word processing, spreadsheet, and presentation apps.

 The Start Page: An app that you can personalize by adding gadgets to access any or all of the
 other Google Apps, as well as news, weather reports, entertainment information, and more
 from one place.
6. Benefits of cloud computing

      Upfront infrastructure investment

 If you have to build a large-scale system it may cost a fortune to invest in hardware (racks,
machines, routers, backup power supplies), hardware management (power management,
cooling), and operations personnel. In cloud computing, there is no or less fixed cost.

      More efficient resource utilization

System administrators usually worry about hardware procuring (when they run out of capacity)
and better infrastructure utilization (when they have excess and idle capacity). With Cloud
Architectures they can manage resources more effectively and efficiently by having the
applications request and relinquish resources only what they need (on-demand).


      Usage-based costing

Utility-style pricing allows billing the customer only for the infrastructure that has been used.
The customer is not liable for the entire infrastructure that may be in place. This is a subtle
difference between desktop applications and web applications. A desktop application or a
traditional client-server application runs on customer’s own infrastructure (PC or server),
whereas in a Cloud Architectures application, the customer uses a third party infrastructure and
gets billed only for the fraction of it that was used.

      Potential for shrinking the processing time

Parallelization is the one of the great ways to speed up processing. If one compute-intensive or
data intensive job that can be run in parallel takes 500 hours to process on one machine, with
Cloud Architectures, it would be possible to spawn and launch 500 instances and process the
same job in 1hour. Having available an elastic infrastructure provides the application with the
ability to exploit parallelization in a cost-effective manner reducing the total Processing time.

      Increased storage

Organizations can store more data than on private computer systems with affordable cost.

      Highly Automated

No longer do IT personnel need to worry about keeping software up to date.

      More Mobility

Employees can access information wherever they are, rather than having to remain at their
desks.
7. Demerits

      Depending on third-party to ensure the security and confidentiality of data and
       information.
      Without internet access cloud service is no longer possible.
      If the cloud service providers increase the cost for their services then we have to abide
       their rules and conditions if we had an agreement with them, moreover our data are
       entangled with them.

References:

    1. http://en.wikipedia.org/wiki/Cloud_computing
    2. Toby Velte, Anthony Velte, Robert C. Elsenpeter, (2009), Cloud Computing: A
        Practical Approach, McGraw Hills Publications.
    3. http://searchcloudcomputing.techtarget.com/sDefinition/sid201_gci1287881,00.html
    4. http://www.exforsys.com/tutorials/cloud-computing/cloud-computing-architecture.html
    5. http://www.scribd.com/doc/17274860/Introduction-to-Cloud-Computing-Architecture
    6. Architectural strategies for cloud computing [online]
        http://www.oracle.com/technology/architect/entarch/pdf/architectural_strategies_for_cl
        oud_computing.pdf
    7. https://www.sun.com/offers/details/CloudComputing.xml
    8. Introduction to Cloud Computing Architecture, [online]
        http://www.inst-informatica.pt/servicos/informacao-e-documentacao/dossiers-
        tematicos/teste-dossier-tematico-no-7-cloud-computing/tecnologia/introduction-to-
        cloud-computing-architecture
    9. Cisco Cloud Computing -Data Center Strategy, Architecture, and Solutions, [online]
         http://www.cisco.com/web/strategy/docs/gov/CiscoCloudComputing_WP.pdf
    10. http://sites.google.com/site/cloudarchitecture/
    11. Research Agendas In Cloud Technologies [online] http://arxiv.org/abs/1001.3259
    12. Cloud Architectures [online]
        http://jineshvaria.s3.amazonaws.com/public/cloudarchitectures-varia.pdf
    13. Cloud Computing and Emerging IT Platforms: Vision, Hype, and Reality for Delivering
        Computing as the 5th Utility [online]
        http://www.buyya.com/gridbus/reports/CloudITPlatforms2008.pdf
    14. http://hosteddocs.ittoolbox.com/pp011508.pdf
    15. http://www.f5.com/pdf/white-papers/controlling-the-cloud-wp.pdf
    16. http://www.rpath.com/corp/images/stories/white_papers/WP_ArchitectureForCloudCo
        mputing.pdf
    17. http://msdn.microsoft.com/en-us/library/aa905332.aspx
    18. http://www.microsoft.com/windowsazure/windowsazure/
    19. http://net.educause.edu/ir/library/pdf/ELI7035.pdf
    20. http://en.wikipedia.org/wiki/Google_Apps
    21. http://en.wikipedia.org/wiki/Azure_Services_Platform
    22. http://code.google.com/appengine/docs/whatisgoogleappengine.html

More Related Content

What's hot (20)

Research in Cloud Computing
Research in Cloud ComputingResearch in Cloud Computing
Research in Cloud Computing
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Introduction to cloud computing
Introduction to cloud computingIntroduction to cloud computing
Introduction to cloud computing
 
Cloud computing by Bharat Bodage
Cloud computing by Bharat BodageCloud computing by Bharat Bodage
Cloud computing by Bharat Bodage
 
Introduction Cloud Computing
Introduction Cloud ComputingIntroduction Cloud Computing
Introduction Cloud Computing
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Seminar on cloud computing by Prashant Gupta
Seminar on cloud computing by Prashant GuptaSeminar on cloud computing by Prashant Gupta
Seminar on cloud computing by Prashant Gupta
 
Cloud Computing Documentation Report
Cloud Computing Documentation ReportCloud Computing Documentation Report
Cloud Computing Documentation Report
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Cloud computing ... simple
Cloud computing ... simpleCloud computing ... simple
Cloud computing ... simple
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Cloud computing
Cloud computing Cloud computing
Cloud computing
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Cloud computing ppt
Cloud computing pptCloud computing ppt
Cloud computing ppt
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Cloud Computing Project
Cloud Computing Project Cloud Computing Project
Cloud Computing Project
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Cloud Computing Presentation
Cloud Computing PresentationCloud Computing Presentation
Cloud Computing Presentation
 

Similar to Cloud computing writeup

Cloud computing 1
Cloud computing 1Cloud computing 1
Cloud computing 1Sagar Kumar
 
Ijirsm choudhari-priyanka-backup-and-restore-in-smartphone-using-mobile-cloud...
Ijirsm choudhari-priyanka-backup-and-restore-in-smartphone-using-mobile-cloud...Ijirsm choudhari-priyanka-backup-and-restore-in-smartphone-using-mobile-cloud...
Ijirsm choudhari-priyanka-backup-and-restore-in-smartphone-using-mobile-cloud...IJIR JOURNALS IJIRUSA
 
Cloud computing course and tutorials
Cloud computing course and tutorialsCloud computing course and tutorials
Cloud computing course and tutorialsUdara Sandaruwan
 
Group seminar report on cloud computing
Group seminar report on cloud computingGroup seminar report on cloud computing
Group seminar report on cloud computingSandhya Rathi
 
Cloud Computing Michael Davis 2008 Aug17
Cloud Computing Michael Davis 2008 Aug17Cloud Computing Michael Davis 2008 Aug17
Cloud Computing Michael Davis 2008 Aug17MJD Management Group
 
Impactofcloudcomputing 141103103626-conversion-gate01
Impactofcloudcomputing 141103103626-conversion-gate01Impactofcloudcomputing 141103103626-conversion-gate01
Impactofcloudcomputing 141103103626-conversion-gate01Rabia Naushad
 
Cloud Computing: Overview & Utility
Cloud Computing: Overview & UtilityCloud Computing: Overview & Utility
Cloud Computing: Overview & Utilityiosrjce
 
Cloud computing project report
Cloud computing project reportCloud computing project report
Cloud computing project reportNaveed Farooq
 
The Nitty Gritty of Cloud Computing
The Nitty Gritty of Cloud ComputingThe Nitty Gritty of Cloud Computing
The Nitty Gritty of Cloud ComputingMike Tase
 

Similar to Cloud computing writeup (20)

cloud-computing
cloud-computingcloud-computing
cloud-computing
 
Cloud Computing Essays
Cloud Computing EssaysCloud Computing Essays
Cloud Computing Essays
 
Ey35869874
Ey35869874Ey35869874
Ey35869874
 
Cloud computing 1
Cloud computing 1Cloud computing 1
Cloud computing 1
 
Ijirsm choudhari-priyanka-backup-and-restore-in-smartphone-using-mobile-cloud...
Ijirsm choudhari-priyanka-backup-and-restore-in-smartphone-using-mobile-cloud...Ijirsm choudhari-priyanka-backup-and-restore-in-smartphone-using-mobile-cloud...
Ijirsm choudhari-priyanka-backup-and-restore-in-smartphone-using-mobile-cloud...
 
Cloud computing course and tutorials
Cloud computing course and tutorialsCloud computing course and tutorials
Cloud computing course and tutorials
 
Cloud computing (3)
Cloud computing (3)Cloud computing (3)
Cloud computing (3)
 
Sami-Cloud
Sami-CloudSami-Cloud
Sami-Cloud
 
Group seminar report on cloud computing
Group seminar report on cloud computingGroup seminar report on cloud computing
Group seminar report on cloud computing
 
Cloud Computing Michael Davis 2008 Aug17
Cloud Computing Michael Davis 2008 Aug17Cloud Computing Michael Davis 2008 Aug17
Cloud Computing Michael Davis 2008 Aug17
 
Cloud Computing Essay
Cloud Computing EssayCloud Computing Essay
Cloud Computing Essay
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Impactofcloudcomputing 141103103626-conversion-gate01
Impactofcloudcomputing 141103103626-conversion-gate01Impactofcloudcomputing 141103103626-conversion-gate01
Impactofcloudcomputing 141103103626-conversion-gate01
 
Cloud Computing: Overview & Utility
Cloud Computing: Overview & UtilityCloud Computing: Overview & Utility
Cloud Computing: Overview & Utility
 
G017324043
G017324043G017324043
G017324043
 
Cloud computing project report
Cloud computing project reportCloud computing project report
Cloud computing project report
 
The Cloud Of Cloud Computing Essay
The Cloud Of Cloud Computing EssayThe Cloud Of Cloud Computing Essay
The Cloud Of Cloud Computing Essay
 
The Nitty Gritty of Cloud Computing
The Nitty Gritty of Cloud ComputingThe Nitty Gritty of Cloud Computing
The Nitty Gritty of Cloud Computing
 
Cloud computing (1)
Cloud computing (1)Cloud computing (1)
Cloud computing (1)
 

Cloud computing writeup

  • 1. CLOUD COMPUTING VIJAYA KUMAR S. M.Sc. (Computer Application), Roll No: 4864 I.A.S.R.I., Library Avenue, New Delhi-110012 selvavijay1987@gmail.com Abstract Cloud computing is the metaphor to the internet and it is a recent technology whose aim is to deliver IT services on demand on pay per usage basis to the masses. The essential key characteristics of cloud computing providers are scalability, availability, reliability, flexibility, security and serviceability etc. Clouds can be classified into three types, Public, Private and Hybrid clouds as per the deployment model. According to services provided by the cloud computing it is categorised into Infrastructure as a Service (IaaS), Platform as a Service (PaaS) and Software as a Service (SaaS). IaaS supports operations, including storage, hardware, servers and networking components. The service provider owns the equipment and is responsible for housing, running and maintaining it E.g. AWS, IBM etc. PaaS is the second model in cloud computing which acts as an intermediate between IaaS and SaaS by giving support to the IaaS to avail the services of SaaS to the end users. Platform as a Service (PaaS) is an application development and deployment platform delivered as a service to the developers over the web, e.g. Google Apps Engine, Windows Azure. Third model is SaaS where users simply make use of a web-browser to access software that others have developed and offer as a service over the web. At the SaaS level, users do not have control or access to the underlying infrastructure being owned by the host. SaaS is service model where application services are delivered over the network on a subscription and on-demand basis e.g. Google Docs, Salesforce.com etc. Benefits of cloud computing is reduction of capital investment, automated update of the services, pay per use, more storage and mobility. The main demerits are dependent on internet connections, abiding of service provider rules and regulation at any cost and security implications. Keywords: Cloud computing, IaaS, PaaS, SaaS, Google Apps Engine, Windows Azure
  • 2. Cloud Computing 1. Introduction With the significant advances in Information and Communications Technology (ICT) over the last half century, there is an increasingly perceived vision that computing will one day be the 5th utility (after water, electricity, gas and telephony). This computing utility, like all other four existing utilities, will provide the basic level of computing services that is considered essential to meet the everyday needs of the general community. To deliver this vision, a number of computing paradigms have been proposed, of which the latest one is known as ‘Cloud Computing’. Cloud computing is a recent technology trend whose aim is to deliver on demand IT resources on a pay per usage basis. Previous trends were limited to a specific class of users, or focused on making available on demand a specific IT resource for computing. Cloud computing is oriented to provide services to the masses, ranging from the end user which hosts its personal documents on the Internet, to enterprises outsourcing their entire IT infrastructure to the external data centres. Everyone has an opinion on what is cloud computing. It can be the ability to rent a server or a thousand servers and run the application on the most powerful systems available anywhere. It can be the ability to rent a virtual server, load software on it, turn it on and off at will, or clone it ten times to meet a sudden workload demand. It can be storing and securing immense amounts of data that is accessible only by authorized applications and users. 1.1 Definition The term ‘cloud’ is not at all new to the computing community. For many years, ‘cloud’ is being used as a symbol in typical network diagrams to refer to the internet or the components of the network which are managed outside the environment of any IT organization. Even though cloud computing has started taking shape in very recent years, some computer scientist has given the clear cut definition about the cloud computing some of them are follows: Gartner (2008), defines Cloud computing as "a style of computing where massively scalable IT- enabled capabilities are delivered 'as a service' to external customers using Internet technologies." “Common, Location-independent, Online Utility that is available on Demand” (Chan, 2009). Brown (2009), defines cloud computing as, a data-processing infrastructure in which the application software—and often the data itself—is stored permanently not on your PC but rather a remote server that’s connected to the Internet. An emerging model of computing where machines in large data centers can be dynamically provisioned, configured, and reconfigured to deliver services in a scalable manner, for needs ranging from scientific research to video sharing to e–mail (Jaeger, et al., 2009).
  • 3. Finally the most accepted definition of cloud computing is given by the National Institute of Standards and Technology (NIST). Cloud computing is a model for enabling 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. Cloud services can be illustrated in the Figure 1 given below: In the below diagram middleware is the interface between the cloud vendors and the end users. The middleware can either be cloud operating platform or storage or service etc. For e.g. Windows Azure gives the services as Platform to deploy the application to the application developers. Similarly, IBM Cloud gives the Infrastructure by giving the storage and Google Apps gives Software services like Apps, Gmail, Calendar etc. to the end users. In cloud computing environment users may be the commercial IT Company or non commercial government department or may be individuals. Figure 1. Cloud Services 2. Need for cloud computing 2.1 Innovate to Survive The companies like Google, Hotmail and Yahoo sustained through the dotcom burst. They began innovating further to attract more number of users. Cloud computing has its roots in the strategies adopted by these internet giants. Most of these internet companies would face unpredictable demand in seasonality due to the very nature of their operations. These vendors needed to ensure
  • 4. optimum response time even at the highest hit-rate. To achieve this, these vendors went on expanding their infrastructural capacity by adopting cloud technology. 2.2 Generalize to Proliferate In this Internet era, generalising one’s own innovation is very easy. In early days of computing evolution, technology companies such as IBM provides newer technologies and sell it at a premium cost after securing its intellectual property rights over that technology. On the contrary some web service providers innovated their technologies and used for their own business use, later which would be bundled and make it available to the public at an affordable price. E.g. Google offers Google Apps Engine platform to deploy up to ten application with free of cost, and Amazon offers software development and database storage management services etc. The necessity of the cloud computing can be explained by taking an example. Let’s say there is an executive at a large corporation. His/her particular responsibilities include making sure that all of his/her employees have the right hardware and software they need to do their jobs. Buying computers for everyone isn't enough – He/she also has to purchase software or software licenses to give employees the tools they require. Whenever executive have a new hire, he/she has to buy more software or make sure your current software license allows another user. This would increase the capital investment furthermore. Instead of installing a suite of software for each computer, we'd only have to load one application. That application would allow workers to log into a Web-based service which hosts all the programs the user would need for his or her job. Remote machines owned by another company would run everything from e-mail to word processing to complex data analysis programs. It's called cloud computing, and it could change the entire computer industry. The noticeable example of cloud computing in our day today life is e-mail. We have an e-mail account with a Web-based e-mail service like Hotmail, Yahoo! Mail or Gmail, then we've had some experience with cloud computing. Instead of running an e-mail program on our computer, we log in to a Web e-mail account remotely. The software and storage for your account doesn't exist on our computer -- it's on the service's computer cloud. It's called cloud computing because the data and applications exist on a "cloud" of Web. 3. Essential characteristics of the cloud environment 3.1 Scalability Applications designed for cloud computing need to be scaled with workload demands so that performance with service levels remains on target. In order to achieve this, applications and their data must be loosely coupled to maximize scalability. 3.2 Reliability Reliability means that applications do not fail and most importantly the data should not lose. The way that architecture addresses this characteristic today is to design applications so that it should continue to operate and user’s data remains intact despite the failure of one or more of the servers or virtual machines onto which service provider decomposed.
  • 5. 3.3 Security Applications need to provide access only to authorized, authenticated users, and those users need to be able to trust that their data is secure. This is true whether the application helps individual users on the Internet prepare their tax returns, or whether the application exchanges confidential information between a company and its suppliers. Security in today’s environments is established using strong authentication, authorization, and accounting procedures, establishing security of data at rest and in transit, locking down networks, and hardening operating systems, middleware, and application software. 3.4 Flexibility and agility These characteristics are increasingly important, as business organizations find themselves having to adapt even more rapidly to changing business conditions by increasing the velocity at which applications are delivered into customer hands. Cloud computing stresses getting applications to market very quickly by using the most appropriate building blocks to get the job done rapidly. 3.5 Serviceability Once an application is deployed, it needs to be maintained and updated as a dew course. Without disrupting the service availability and security, to the customer, cloud provider should update or even replace the application’s infrastructure components if it demands. 3.6 Efficiency An application should deploy in the cloud quickly and easily, as we moves our service on pay per basis. 3.7 Ubiquitous network access Availability of the network and it should be accessed through standard mechanisms that promote use by heterogeneous clients. 3.8 Location-independent resource pooling It is no matter where we are residing, and where we are accessing the data. The data should be available when we require it and should be accessed in independent of location. The customer generally has no control or knowledge over the exact location of the provided resources but may be able to specify location at a higher level of abstraction (e.g., country, state, or data centre). Examples of resources include storage, processing, memory, network bandwidth, and virtual machines. 3.9 Measured service Resource usage can be monitored, controlled, and reported by providing transparency of the utilized service for both the provider and consumer.
  • 6. 4. Types of clouds Cloud model is categorized into three types as Public, Private and Hybrid clouds according to the users as per deployment model. 4.1 Public Clouds Public clouds are run by third parties, and applications from different customers are likely to be stitched together on the cloud’s servers, storage systems and networks. Public clouds are most often hosted away from customer premises, and they provide a way to reduce customer risk and cost by providing a flexible, even temporary extension to enterprise infrastructure. If a public cloud is implemented with performance, security and data locality in mind, the existence of other applications running in the cloud should be transparent to both cloud architects and end users. Figure 2. Public Cloud 4.2 Private clouds The cloud infrastructure is operated solely for an organization. It may be managed by the organization or a third party, and may exist on or off the premises. Private clouds are built for the exclusive use of one client, providing the utmost control over data, security, and quality of service. The company owns the infrastructure and has control over how applications are deployed on it. Private clouds may be deployed in an enterprise data center. Private clouds can be built and managed by a company’s own IT organization or by a cloud provider.
  • 7. Figure 3. Private Cloud 4.3 Hybrid clouds The cloud infrastructure is a composition of two clouds (private and public) that remain unique entities but are bound together by standard technology that enables data and application portability. Hybrid clouds combine both public and private cloud models. Hybrid clouds introduce the complexity of determining how to distribute applications across both a public and private cloud. Hybrid cloud will be suitable for the small data which demands more application processing. If the data is large and it demands less application, then the data will be transferred to the public cloud for processing. Figure 4. Hybrid Cloud
  • 8. 5. Service model of the cloud computing architecture There are three service models in cloud computing architecture a) Infrastructure as a Service(IaaS) b) Platform as a Service(PaaS) c) Software as a Service(SaaS) 5.1 Infrastructure as a service (IaaS) Infrastructure as a Service is a provision model in which an organization outsources the equipment used to support operations, including storage, hardware, servers and networking components. The service provider owns the equipment and is responsible for housing, running and maintaining it. IaaS clouds provide a set of building blocks or basic services, such as virtual servers, data storage and databases. We can stitch these services together into a platform for deploying and running our applications. Infrastructure as a Service is sometimes referred to as Hardware as a Service (HaaS). Some Important Cloud Infrastructure as a Service Provider 5.1.1 Architecture of IaaS The fundamental building block of an infrastructure as a service in the cloud is workload. Workload is the amount of work done by the server with the given amount of resources allocated to it. Those resources encompass processing (CPU & RAM), data (throughput), and networking (latency & throughput). Mostly, cloud workloads are delivered in virtual servers. Workload might be delivered using a single virtual server spanning a variety of physical resources including compute, storage, and networking. A workload can also be an application or part of an application given by the cloud provider. Examples of workloads include: • Transactional Database • Fileserver • Application Server • Web Server A workload can be the one of the above mentioned example. If the workload is transactional database then it provides service in the DBMS(Data Base Management System) if it is a file server then it will provides the document related applications, application server will provide the on-demand request in the analysis of data, and web server gives services as web services related application.
  • 9. A database may require large amounts of CPU & RAM, fast storage, and low latency networking, while an application server might require large amounts of CPU & RAM only. Web servers need very little resources other than networking. Requesting and accessing services Step 2 Step 1 Figure 5. Infrastructure as aService Architecture IaaS is entirely based on the server virtualization concept, as the IaaS provides the vast variety of services. In figure 5 the request made by the Users directly ( In step 1)to the IaaS provider for any application with in the service limit of IaaS cloud, the host will allow to access the services to the user. This application will be running on the VM of the host. In the second step application developer stands as a middle man for the end user to access the services from the IaaS provider and serve back to the user what they demands. In IaaS, user can access the services directly or indirectly to the IaaS provider. IaaS gives users more flexibility than PaaS as it allows the user to deploy any software which they demands. Amazon Web Services’ EC2 and S37 are very popular IaaS examples. 5.1.2 In the IaaS cloud architecture there are five important components which controls the entire IaaS Architecture I. Cloud Controller (CLC) II. Cluster Controller(CC) III. Node Controller (NC) IV. Walrus (W) V. Storage Controller (SC)
  • 10. I .Cloud Controller (CLC) Within IaaS cloud, this is the main controller component responsible for managing the entire system. It is the main entry point into the cloud for all users and administrators. All clients will communicate only with the CLC using API. II.Cluster Controller (CC) The controller component within cloud responsible for managing the entire virtual instance network. Requests are communicated to the CC using API. The CC maintains all the information about the Node Controllers that run in the system and is responsible for controlling the life cycle of the instances. III.Node Controller (NC) This controls the host operating system and the corresponding hypervisor (Xen with support for VMware on the horizon e.g. In Eucalyptus). You must run an instance of the NC on each machine that will be hosting the actual virtual instances instantiated upon request from a CC. IV.Walrus (W) The controller component that manages access to the storage services within cloud. Requests are communicated to Walrus using API. V.Storage Controller (SC) SC is used for storing and accessing virtual machine images. The VM images can be public or private and are initially stored in compressed and encrypted form. The images are decrypted only when a node needs to start a new instance and requests access to the image. 5.1.3 Topology of a single-cluster cloud installation A single-cluster installation, as shown in Figure 2, will consist of at least two machines: one running the CC, SC, and CLC, and the other one running the NC. We can simplify this even further by combining everything onto a single machine, but we will need hefty machine specifications to pull it off. Figure 4. Single Cluster Cloud Installation
  • 11. 5.1.4 Topology of a multi-cluster cloud installation A multi-cluster installation can situate each of the components (CC, SC, NC, and CLC) on separate machines. This is the preferred way to configure our cloud if we intend to do serious work with it. The multi-cluster installation also gives you the opportunity to significantly enhance performance by selecting machines that complement the type of controller running on it. For instance, we can select a machine with a super-fast CPU for running the CLC. The choice of multiple clusters will result in higher availability and in distribution of load and resources across the clusters. The concept of a cluster is similar to the concept of an availability zone in Amazon EC2. We distribute resources across multiple availability zones so that a failure in one does not affect our application. Figure 7. Multi Cluster Cloud Installation Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides resizable compute capacity in the cloud. It is designed to make web-scale computing easier for developers. Amazon Simple Storage Service (Amazon S3) enables storage in the cloud. 5.2 Platform as a service (PaaS) The next layer after the IaaS in the cloud computing architecture is Platform as a Service (PaaS). This is the layer which acts as an intermediate between IaaS and SaaS by giving support to the IaaS to avail the services of SaaS to the end users. Platform as a Service (PaaS) is an application development and deployment platform delivered as a service to developers over the Web. Marc Andreessen, who coined the phrase “Web as Platform”, once wrote: “platform is a system that can be programmed and therefore customized by outside developers — users — and in that way, adapted to countless needs and niches that the platform’s original developers could not have possibly contemplated, much less had time to accommodate. If you can program it, then it’s a platform. If you can’t, then it’s not.
  • 12. 5.2.1 Architecture of Platform as a service in the cloud computing In Platform as a Service (PaaS), applications are developed using a set of programming languages and tools that are supported by the PaaS provider. PaaS provides users with a high level of abstraction that allows them to focus on developing their applications and not worry about the underlying infrastructure. Just like the SaaS model, users do not have control or access to the underlying infrastructure being used to host their applications at the PaaS level. Google App Engine and Microsoft’s Windows Azure are popular PaaS examples. PaaS provides support the use of the application by many concurrent users, by providing concurrency management, scalability and security. The architecture enables defining the trust relationship between users in security, access, distribution of source code, user (people and device) profiles, interaction and application usage. End user Application Developer PaaS providers offering middleware to the Application developer. Figure 8. Architecture of PaaS As shown in the Fig 8. There are three layers present in the architecture of PaaS. The first layer in architecture is PaaS provider Layer. This layer consists of OS server which may or may not include virtualization technique such as Virtual Machine hypervisor software. The inclusion of virtualization technique will depends upon the capital investment and volume of service given by the PaaS providers. Second layer is Middleware which gives the platform to the application developer to develop the application for their customer (end user). This layer includes application servers and technologies such as service-oriented architecture (SOA), business process management (BPM), user interface (UI) technologies, and identity management. Upon this middleware layer the end users layer resides, where the application developed by the application developers will be accessed by the end users by just giving the request on demand. 5.2.2 Characteristics PaaS typically provide some level of support to ease the creation of user interfaces, either based on standards language such as HTML, JavaScript or Python etc. This platform consists of
  • 13. infrastructure software, and typically includes a database, middleware and development tools. Some PaaS have a specific programming language. Google App Engine  Built on Google infrastructure platform (i.e. No commercially available server operating system).  Choice of either Python or Java run-time for running web applications. Other pre- selected applications are available via services (e.g. Mail, Memcache).  Application development tightly confined to Google’s Software Development Kit (SDK).  Tightly integrated with Google’s web services APIs (e.g. for authenticating users and sending email).  Free quotas for applications limited to: 500MB of persistent storage and CPU width for approximately 5 million page views a month. Microsoft’s Windows Azure  Operates on Microsoft’s virtualized 64-bit Windows Server 2008 operating system.  Support for .NET applications, as well as other third party applications available for the same OS running on a standard server.  Application development tightly integrated with Microsoft’s Visual Studio, in addition to having its own Software Development Kit (SDK).  Fully pay-per-use service for the application developer’s on-demand basis. 5.3 Software as a service (SaaS) In the architectural layer of the cloud computing, this is the last layer where users simply make use of a web-browser to access software that others have developed and offer as a service over the web. At the SaaS level, users do not have control or access to the underlying infrastructure being owned by the host. SaaS is service model where application services are delivered over the network on a subscription and on-demand basis. Google Docs is popular examples that use the SaaS model of cloud computing. Software as a Service (SaaS), also sometimes referred to as Service or Application Clouds. NIST has defined SaaS as the capability provided to the consumer and is the use of the provider’s applications running on a cloud infrastructure and accessible from various client devices through a thin-client interface such as a web browser (e.g., web-based e-mail). The consumer does not manage or control the underlying cloud infrastructure, network, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user-specific application configuration settings.
  • 14. 5.3.1 Architecture of SaaS Figure 9. Software as Service Architecture SaaS applications requested by the end user can provide single sign-in authentication through the use of a federation server within the customer's network that interfaces with the customer's own enterprise user-directory service. This federation server has a trust relationship with a corresponding federation server located within the SaaS provider's network. When an end user attempts to access the application, the enterprise federation server authenticates the user locally and negotiates with the SaaS federation server to provide the user with a signed security token, which the SaaS provider's authentication system accepts and uses to grant the user access. The important thing to be noted while designing architecture for SaaS is Multi tenancy. Multitenancy refers to a principle in software architecture where a single instance of the software runs on a (SaaS) vendor's servers, serving multiple client organizations (tenants or users). Multitenancy is often contrasted with a multi-instance architecture where separate software instances (or hardware systems) are set up for different client organizations. In SaaS model, the application or service is deployed from a centralized data center across a network providing access and use on a recurring fee basis. The core value of SaaS is providing access to a commercially available application. This service is different from business process outsourcing (BPO), for instance, where the outsourcing contract encompasses management of entire business processes such as HR or Finance, where the focus of the service is management of the network and servers. The SaaS solution offers the opportunity for companies to select their information technology priorities and then choose from the growing menu of applications now being offered via service providers. An outsourced service can also provide a superior infrastructure with improved business agility and scalability, and rapid deployment. SaaS is generally requires much shorter
  • 15. time to install and implement new software applications to establish new department in the enterprise As SaaS is directly contact with the application user so it involves five types of cost model to be paid by the users to the SaaS provider. I. Subscription-Based Model: Monthly payment is calculated on the software actually used, and includes a commitment as to the actual number of users. Subscriptions are usually written on a per-seat or named user basis. II. Usage-Based Model: Payment is determined by application usage and is typically related to peak or near peak levels of usage. Payment may be tied to the number of CPUs (customers are charged for every computer that runs the hosted application). It may also be a written for number of concurrent users. III. Transaction-Based Model: ASPs that provide online scheduling and similar products sometimes charge customers for each business transaction: purchasing one introductory relational database class is one service; two classes are two services, and so on. IV. Value-Based Model: Premised on the provision of whatever software is needed to achieve business goals, and payment is linked to the achievement of those goals. V. The Fixed-Fee Model: An emerging option, users generally pay a predetermined monthly fee based on number of users supported, which application modules are rented and service and support levels specified by the customer. Though these cost models are for the professional enterprises, Google Apps gives SaaS in free of cost for their range of services. Google Apps is a powerful set of tools and user friendly that Google has bundled together to meet the needs of businesses, schools, government agencies, and other organizations of any size. Gmail: An e-mail app based on Google’s popular Gmail platform. Calendar: A calendar and scheduling app that allows easy collaboration. Talk: Instant messaging, available directly from within Gmail or as a standalone software application. Talk also allows voice calls, voice mail, and file sharing. Docs: A simple, yet powerful, set of word processing, spreadsheet, and presentation apps. The Start Page: An app that you can personalize by adding gadgets to access any or all of the other Google Apps, as well as news, weather reports, entertainment information, and more from one place.
  • 16. 6. Benefits of cloud computing  Upfront infrastructure investment If you have to build a large-scale system it may cost a fortune to invest in hardware (racks, machines, routers, backup power supplies), hardware management (power management, cooling), and operations personnel. In cloud computing, there is no or less fixed cost.  More efficient resource utilization System administrators usually worry about hardware procuring (when they run out of capacity) and better infrastructure utilization (when they have excess and idle capacity). With Cloud Architectures they can manage resources more effectively and efficiently by having the applications request and relinquish resources only what they need (on-demand).  Usage-based costing Utility-style pricing allows billing the customer only for the infrastructure that has been used. The customer is not liable for the entire infrastructure that may be in place. This is a subtle difference between desktop applications and web applications. A desktop application or a traditional client-server application runs on customer’s own infrastructure (PC or server), whereas in a Cloud Architectures application, the customer uses a third party infrastructure and gets billed only for the fraction of it that was used.  Potential for shrinking the processing time Parallelization is the one of the great ways to speed up processing. If one compute-intensive or data intensive job that can be run in parallel takes 500 hours to process on one machine, with Cloud Architectures, it would be possible to spawn and launch 500 instances and process the same job in 1hour. Having available an elastic infrastructure provides the application with the ability to exploit parallelization in a cost-effective manner reducing the total Processing time.  Increased storage Organizations can store more data than on private computer systems with affordable cost.  Highly Automated No longer do IT personnel need to worry about keeping software up to date.  More Mobility Employees can access information wherever they are, rather than having to remain at their desks.
  • 17. 7. Demerits  Depending on third-party to ensure the security and confidentiality of data and information.  Without internet access cloud service is no longer possible.  If the cloud service providers increase the cost for their services then we have to abide their rules and conditions if we had an agreement with them, moreover our data are entangled with them. References: 1. http://en.wikipedia.org/wiki/Cloud_computing 2. Toby Velte, Anthony Velte, Robert C. Elsenpeter, (2009), Cloud Computing: A Practical Approach, McGraw Hills Publications. 3. http://searchcloudcomputing.techtarget.com/sDefinition/sid201_gci1287881,00.html 4. http://www.exforsys.com/tutorials/cloud-computing/cloud-computing-architecture.html 5. http://www.scribd.com/doc/17274860/Introduction-to-Cloud-Computing-Architecture 6. Architectural strategies for cloud computing [online] http://www.oracle.com/technology/architect/entarch/pdf/architectural_strategies_for_cl oud_computing.pdf 7. https://www.sun.com/offers/details/CloudComputing.xml 8. Introduction to Cloud Computing Architecture, [online] http://www.inst-informatica.pt/servicos/informacao-e-documentacao/dossiers- tematicos/teste-dossier-tematico-no-7-cloud-computing/tecnologia/introduction-to- cloud-computing-architecture 9. Cisco Cloud Computing -Data Center Strategy, Architecture, and Solutions, [online] http://www.cisco.com/web/strategy/docs/gov/CiscoCloudComputing_WP.pdf 10. http://sites.google.com/site/cloudarchitecture/ 11. Research Agendas In Cloud Technologies [online] http://arxiv.org/abs/1001.3259 12. Cloud Architectures [online] http://jineshvaria.s3.amazonaws.com/public/cloudarchitectures-varia.pdf 13. Cloud Computing and Emerging IT Platforms: Vision, Hype, and Reality for Delivering Computing as the 5th Utility [online] http://www.buyya.com/gridbus/reports/CloudITPlatforms2008.pdf 14. http://hosteddocs.ittoolbox.com/pp011508.pdf 15. http://www.f5.com/pdf/white-papers/controlling-the-cloud-wp.pdf 16. http://www.rpath.com/corp/images/stories/white_papers/WP_ArchitectureForCloudCo mputing.pdf 17. http://msdn.microsoft.com/en-us/library/aa905332.aspx 18. http://www.microsoft.com/windowsazure/windowsazure/ 19. http://net.educause.edu/ir/library/pdf/ELI7035.pdf 20. http://en.wikipedia.org/wiki/Google_Apps 21. http://en.wikipedia.org/wiki/Azure_Services_Platform 22. http://code.google.com/appengine/docs/whatisgoogleappengine.html