Notes 2
Notes 2
INFRASTRUCTURE-AS-A-SERVICE (IAAS):--
IaaS provides virtual machines, virtual storage, virtual infrastructure, and other hardware assets as resources that
clients can provision. Most large Infrastructure as a Service (IaaS) providers rely on virtual machine technology
to deliver servers that can run applications. Virtual servers described in terms of a machine image or instance
have characteristics that often can be described in terms of real servers delivering a certain number of
microprocessor (CPU) cycles, memory access, and network bandwidth to customers. Virtual machines are
containers that are assigned specific resources. The software that runs in the virtual machines is what defines the
utility of the cloud computing system. In order to represent how control and management responsibilities are
shared, the IaaS cloud component Stack with scope of control is shown below.
The cloud provider controls the most privileged, lower layers of the software stack. As depicted in the figure
above the provider maintains total control over the physical hardware and administrative control over the
hypervisor layer e.g. Xen5. Thus the consumer can make requests to the cloud to create and manage VMs but
these requests are honored only in case they conform to the provider‘s policies over resource assignment. Via
hypervisor, the provider will normally supply interfaces for the networking functions that the consumers can use
in order to configure the virtual network within the provider‘s infrastructure. The consumer maintains the
complete control over the guest operating system functionality in each of virtual machines, and all the software
layers above. This structure gives very significant control over the software stack to consumers that have to take
responsibility to operate, update and configure these computing resources for security and reliability. As such in
this sense the approach of IaaS is very different from SaaS and PaaS clouds where most of those issues are
handled transparently for consumers .
Below can be seen a simplified view of the interactions within an IaaS cloud.
The figure 2.13 A Shows clients that are interacting with an IaaS cloud over a network. The provider has several
available virtual machines that he can allocate to clients. In the figure, client A has access to vm1 and vm2, and
client B has access to vm3. The provider retains vm4 through vmn, where it is presumed that n is larger than the
number of VMs any client is expected to request. Another situation is shown on the figure 2.13 B, where just
after a new client C has requested and acquired access to three more vms. At this stage, client C has access to
vm4, vm5, and vm6, and the provider now retains only vm7 through vmn. The above is extremely simplified
schema of how IaaS cloud really works. Thus figure 2.13 only depicts virtual machine allocation (by a provider)
and interaction (by a consumer). Practical According to the online reference Wikipedia, Infrastructure-as-a-
Service (IaaS) is the delivery of computer infrastructure (typically a platform virtualization environment) as a
service. IaaS leverages significant technology, services, and data center investments to deliver IT as a service to
customers. Unlike traditional outsourcing, which requires extensive due diligence, negotiations ad infinitum, and
complex, lengthy contract vehicles, IaaS is centered around a model of service
delivery that provisions a predefined, standardized infrastructure specifically optimized for the customer‘s
applications. Simplified statements of work and à la carte service-level choices make it easy to tailor a solution
to a customer‘s specific application requirements. IaaS providers manage the transition and hosting of selected
applications on their infrastructure. Customers maintain ownership and management of their application(s)
while off-loading hosting operations and infrastructure management to the IaaS provider. Provider-owned
implementations typically include the following layered components:
Computer hardware (typically set up as a grid for massive horizontal scalability)
Computer network (including routers, firewalls, load balancing, etc.)
Internet connectivity (often on OC 192 backbones 4)
Platform virtualization environment for running client-specified virtual machines
Service-level agreements
Utility computing billing
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:
Full Control of the computing resources through Administrative Access to VMs.
Flexible and Efficient renting of Computer Hardware.
Portability, Interoperability with Legacy Applications.
Issues
Here are the issues associated with IaaS:
Compatibility with Legacy Security Vulnerabilities
Virtual Machine Sprawl
Robustness of VM-level tion
Data Erase Practices
Characteristics
Here are the characteristics of IaaS service model:
Virtual machines with pre-installed software.
Virtual machines with pre-installed Operating Systems such as windows, Linux, and Solaris.
On-demand availability of resources.
Allows storing copies of particular data in different locations.
The computing resources can be easily scaled up and down.
Benefits
Although proprietary cloud providers do not release technical information about their system architectures,
three Open Source systems i.e. NASA Nebula, Eucalyptus, Ubuntu Enterprise Cloud (all based on the
Eucalyptus source code) provide detailed technical information about specific system architectures.
Furthermore are described main benefits of IaaS pointed out by the source.
-front costs, and access to cloud services over the open Internet.
Freedom of choice. A very important aspect of administrative access to a VM is that consumer can run
almost any software that he wants, including a custom operating system.
Rapid and effortless hardware employment. In public and outsourced IaaS clouds the ability to quickly rent
and then release large numbers of VMs or other cloud resources is provided. This gives a consumer the
possibility of quickly setting up large networks of VMs running software chosen by consumer to solve large
problems without incurring the expense of purchasing and maintaining the necessary hardware.
Compatibility with local environment. Due to the fact that IaaS clouds allow consumers to install and run
operating systems of their choice, a high level of compatibility can be maintained between legacy applications
and workloads in an IaaS cloud. Also, many user-facing applications can be run in an IaaS cloud by virtual
desktop technology.
Drawbacks
As in other service models IaaS cloud shares similar concerns in regards to network dependence, and browser
dependency. The following are the issues related exclusively with IaaS cloud pointed out by the source.
Legacy Security Vulnerabilities impact. Most of IaaS systems give its users a possibility to create and
retain virtual machines in various states e.g., running, suspended and off. An inactive VM can become out of
date with important security updates; whenever such out-of-date VM is activated it may become compromised.
Virtual Machine Sprawl. IaaS clouds expose consumers to all of the security vulnerabilities of the legacy
software systems allowed by consumers to run in the provider‘s infrastructure.
Iaas provider authenticity verification. The user´s browser will most likely use public key cryptography to
establish a private link to the cloud provider. Nevertheless, it is consumer that is in charge of checking the
identity of the cloud Website in order to check if the private link is not with an imposter.
Robustness of VM-level Isolation. Cloud consumers must be isolated from each other except when
they choose to interact. Normally an IaaS cloud uses a hypervisor (which is a software layer), in combination
with hardware support for virtualization (e.g., AMD-V and Intel VT-x), to split each physical computer into
multiple virtual machines. Isolation of the virtual machines depends on the correct implementation and
configuration of the hypervisor. Hardware virtualization provided by hypervisors has become a widely used
technique for providing isolated, computing environments, but the strength of the isolation in the presence of
sophisticated attackers is an open research question.
Features for Dynamic Network Configuration for Providing Isolation. In order to prevent unwanted
interactions among consumers, the cloud network must prevent a consumer from observing other consumer‘s
packets. Furthermore it has to reserve enough bandwidth to ensure that each consumer has the expected level of
service. The allocation a Virtual Machines typically is a matter of a few minutes, and the corresponding
network configuration must be performed just as quickly. Various techniques for logical view of network‘s
topology, such as Virtual Local Area Networks (VLANs) and overlay networks, can be quickly reconfigured.
Thus they (and perhaps support in hypervisors as well) have to be configured carefully in order to prevent
interference between networks belonging to different consumers.
Data Erase Practices. Virtual machines access disk resources maintained by the provider. When a consumer
releases such a resource, the provider must ensure that the next consumer that rents the resource does not
observe data residue from previous tenants. Strong data erase policies (e.g., multiple overwriting of disk blocks)
are time consuming and may not be compatible with high performance when tenants are changing. Data
replication and backup practices also complicate data erase practices.
PLATFORM-AS-A-SERVICE (PAAS):--
Cloud computing has evolved to include platforms for building and running custom web-based applications, a
concept known as Platform-as-a- Service. The PaaS model makes all of the facilities required to support the
complete life cycle of building and delivering web applications and services entirely available from the Internet,
all with no software downloads or installation for developers, IT managers, or end users. PaaS providers offer a
platform for others to use. What is being provided is partially operating system and partially middleware. A
proper PaaS provider has to take care of everything that is necessary in order to run a specific language or
technology stack. PaaS provides a carefree environment for developers to work i.e. it lets them focus on code
without having to worry about configuration and maintenance of the underlying infrastructure. Architects
though, might take advantage of the flexibility provided by PaaS. Individual computing needs, like a database,
can be used without requiring internal expertise for running it.
Types of PaaS Not all Platform-as-a-Service (PaaS) solutions are created equal. You need to carefully evaluate
PaaS offerings and choose the platform which suits your needs:
Social Application Platforms - Platforms such as Facebook provide APIs so that developers can write new
application functionality and make it available to the platform‘s users.
Computing Platforms - Platforms such as Amazon Web Services, Rackspace and others provide storage,
processing and bandwidth as-a-service. As a developer you can upload a traditional software stack and run
applications on their computing infrastructure.
Web Application Platforms – Google Apps provides APIs and functionalities for developers to build Web
applications that leverage its different services such as mapping, calendar and spreadsheets.
Business Application Platforms - Platforms such as WOLF provide a layer of abstraction from the underlying
technical complexities and are specifically geared towards transactional business applications such as online
databases and integration, workflow, and user interface services. Developers & business analysts can develop
complex and robust business applications with a custom user interface – providing higher flexibility with lesser
technical efforts and minimum maintenance.
As it is illustrated on the figure below, the cloud provider has control over the more privileged, lower
layers of the software stack (also has control over networking infrastructure such as LANs and routers between
data centers). Thus it also shows how control and management responsibilities are shared.
The provider makes programming and utility interfaces available to the consumer at the middleware layer. Thus
those interfaces provide the execution environment within which consumer applications run and provide access
to needed resources such as CPU cycles, memory, persistent storage, data stores, data bases, network
connections, etc. The provider determines the programming model, i.e., the circumstances under which consumer
application code gets activated, and monitors the activities of consumer programs for billing and other
management purposes. Once a consumer has used the facilities of the PaaS cloud to implement and deploy an
application, the application essentially is a SaaS deployment and the consumer has administrative control over
the application subject only to the provider supporting the consumer according to the terms of use.
Figure A shows the PaaS provider that has a current inventory of three applications deployed (apps), set
of development tools (dev tools), and a set of execution environments (extri). There are also depicted two active
applications, B→exr1 and C→exr2 indicating that applications B and C are using separate execution resources.
The figure B shows the developer client accessing the development tools of the provider. The example of such
tools could be programming languages, compilers, interfaces, testing tools, and tools for deployment of an
application. In figure C it can be seen how the developer uses the tools. Thus one may download tools and use
them locally in the developer‘s infrastructure or can access those tools in the provider‘s infrastructure as well. In
each case the result is a new application D, as depicted in the figure, which is deployed onto the provider‘s
infrastructure. In figure D can be observed an administrator configuring the new application that has been made
available, as well as a new client, C2 using that new application.
Below is shown a simplified view of Provider-Consumer interaction flow in PaaS.
Benefits
No additional software. Working on the provider‘s environment is very convenient as very often it is just
the browser that is needed for most of the operations.
Centralization of data. From the consumer‘s point of view in PaaS model, management and data are
centralized. As such the PaaS provider can supply professional management of the data, including compliance
checking, security scanning, backup, and disaster recovery. When these services are provided off-premises PaaS
management of data gives protection against the possibility of a single catastrophe destroying both the
consumer‘s facility and data. For on-site private and community PaaS clouds, the benefits of centralized
management are similar, however there is less resilience against catastrophic losses unless consumers explicitly
plan for those contingencies.
Ready to use development environment. In case of outsourced and public PaaS clouds, consumers need not
become involved with the management of a provider's infrastructure.
Pay for what you use model. Outsourced and public PaaS clouds allow a consumer to begin using an
application without the up-front costs of equipment acquisition, but potentially with a recurring usage fee.
Alleviated Scalable Application Development and Deployment. Organizations can develop and deploy
enterprise applications and maintain centralized control over their operation and the data that is processed with
them. Application development frameworks in PaaS normally provide design patterns that support a high level
of scalability, which enables well-written applications to operate smoothly through large fluctuations in
demand. In on-premises scenarios, scalability will be limited to the resources provided by consumer data
centers. Nevertheless in outsourced scenarios more resources may be available at the providers' facilities and,
particularly in the case of public cloud, well-written PaaS applications can be rapidly deployed to large amounts
of consumers and provide very large quantities of data and processing services.
Drawbacks
Possibility of information disclosures. For example, the very presence or absence of message traffic, or the
sizes of messages sent, or the originating locations may leak information that is indirect but still of importance
to some consumers
Network Dependency. In case of network failure outsourced PaaS platforms become non-operational as
there is no connection with them in such case.
PaaS clouds are not portable. This is a concern particularly when platforms require proprietary languages
and run-time environments.
Vendor lock-in. In many cases of PaaS happens (e.g. Google App Engine) that uploaded application to PaaS
cloud is not retrievable from the providers´ servers. It is also called a vendor lock-in, i.e. once a company
deploys its software onto the cloud it becomes dependent on that cloud provider.
Event-based Scheduling. PaaS applications can be event driven with the events composed of HTTP messages.
This kind of design is cost effective (absent an outstanding request, few resources are consumed), however it
poses resource constraints on applications, such as they must answer a request within a time interval or they
must continue a long-running request by queuing synthetic messages that then can be serviced. Moreover, tasks
that execute rapidly in a local application not necessarily offer equivalent performance in a PaaS application.
Security Engineering of PaaS Applications. Unlike the case of an application that can potentially run in an
isolated environment using only local resources, PaaS applications access networks intrinsically. Moreover,
PaaS applications must use cryptography in an explicit way, and must interact with the presentation features of
common Web browsers that provide output to consumers.
Main Providers
Since the next chapter is fully dedicated to PaaS, where more detailed description of main PaaS cloud providers
will be given, below is a short list of the few leading players on the market.
Force.com
Force.com is Salesforce.com‘s on-demand cloud computing platform—billed by Salesforce .com as the
world‘s first PaaS. Force.com features Visualforce, a technology that makes it much simpler for end customers,
developers, and independent software vendors (ISVs) to design almost any type of cloud application for a wide
range of uses. The Force.com platform offers global infrastructure and services for database, logic, workflow,
integration, user interface, and application exchange.
Visualforce is essentially a framework for creating new interface designs and enables user interactions
that can be built and delivered with no software or hardware infrastructure requirements. Force.com delivers
PaaS, a way to create and deploy business apps that allows companies and developers to focus on what their
applications do, rather than the software and infrastructure to run them. The Force.com platform can run
multiple applications within the same Salesforce.com instance, allowing all of a company‘s Salesforce.com
applications to share a common security model, data model, and user interface. This is a major benefit found in
cloud computing solutions. Add to that an on-demand operating system, the ability to create any database on
demand, a workflow engine for managing collaboration between users, and a programming language for
building complex logic. A web services API for programmatic access, mash-ups, and integration with other
applications and data is another key feature.
Visualforce
As part of the Force.com platform, Visualforce provides the ability to design application user interfaces for
practically any experience on any screen. Visualforce uses HTML, AJAX, and Flex, for business applications.
Visualforce provides a page-based model, built on standard HTML and web presentation technologies, and is
complemented with both a component library for implementing common user interface elements, and a
controller model for creating new interactions between those elements.
Visualforce features and capabilities include
• Pages Enables the design definition of an application‘s user interface.
• Components Provides the ability to create new applications that automatically match the look and feel of
Salesforce.com applications or easily customize and extend the Salesforce.com user interface to specific
requirements.
• Logic Controllers The controller enables customers to build any user interface behavior.
SOFTWARE-AS-A-SERVICE (SAAS):--
In reality the term SaaS dates from the 1990s and thus it predates the term cloud computing itself. Thus email
clients such as Gmail or Hotmail, and many different software solutions accessible over Internet, could be given
as an example of SaaS, that is software offered as a service. This leads to a most descriptive definition of SaaS
which is ―Software deployed as a hosted service and accessed over the Internet‖. In order to facilitate the
understanding of scope and division of roles between cloud consumer and cloud provider, the following figure
is placed as a reference.
The figure above depicts a ―user level control‖, which represents that a consumer has control over the
application-specific resources that SaaS application makes available. In some cases, a consumer also has some
limited administrative control over an application. A provider normally has significantly more administrative
control at the application level. The responsibilities of a provider are to deploy, configure, update, and manage
the operation of the application in order to provide expected service levels to consumers. The middleware layer
provides software blocks that are the base of an application. It can take various forms, ranging from: traditional
software libraries, to software interpreters, to invocations of remote network services. Moreover, middleware
components can provide database services, user authentication services, identity managements, etc. Basically
consumers cannot have an access to this layer; neither should they have access to the operating system nor
hardware layers. SaaS can be seen as a Platform for renting access to an application. In order to take a closer
look at consumer/producer interaction dynamics the following figure will serve as a reference
Figure 2.9 A. represents a cloud providing services to two clients, C1 and C2. In a private cloud, the clients will
belong to (or be associated with) a single consumer organization; in other deployment models the clients may
represent different consumers. Abstractly, the cloud provider possesses a set of software applications ("apps" in
the figure) that it is offering to the clients for use over the network. Moreover, the cloud provider manages
application execution resources ("exr" in the figure). In Figure 2.9 A, client C1 is currently using two
applications, B and C. To execute the apps for client C1, the cloud provider has allocated two execution
resources, exr1 and exr2, with exr1 supplying the processing power and other resources to run the B application
(―B→exr1‖ in the figure), and exr2 supplying the processing power and other resources to run the C application
(―C→exr2‖ in the figure). An execution resource could be, e.g., a physical computer, a virtual machine
(discussed in Section 7), or a running server program that is capable of serving client requests, start a virtual
machine, or even rent computing cycles and storage from another organization. Similarly, client C2, is using
one application, C, which is supported by execution resource exr3. It should be noticed that the same
application (C in this case) can be rented out to multiple clients at the same time, as long as the cloud provider
can provide the execution resources to support the application. As shown in Figure 2.9 B, when an additional
client requests applications from the cloud, the cloud provider allocates extra execution resources for supporting
the requested applications
The traditional model of software distribution, in which software is purchased for and installed on
personal computers, is sometimes referred to as Software-as-a-Product. Software-as-a-Service is a software
distribution model in which applications are hosted by a vendor or service provider and made available to
customers over a network, typically the Internet. SaaS is becoming an increasingly prevalent delivery model as
underlying technologies that support web services and service-oriented architecture (SOA) mature and new
developmental approaches become popular. SaaS is also often associated with a pay-as-you-go subscription
licensing model. Meanwhile, broadband service has become increasingly available to support user access from
more areas around the world. The huge strides made by Internet Service Providers (ISPs) to increase bandwidth,
and the constant introduction of ever more powerful microprocessors coupled with inexpensive data storage
devices, is providing a huge platform for designing, deploying, and using software across all areas of business
and personal computing. SaaS applications also must be able to interact with other data and other applications in
an equally wide variety of environments and platforms. SaaS is closely related to other service delivery models
we have described. IDC identifies two slightly different delivery models for SaaS. The hosted application
management model is similar to an Application Service Provider (ASP) model. Here, an ASP hosts
commercially available software for customers and delivers it over the Internet. The other model is software on
demand model where the provider gives customers network-based access to a single copy of an application
created specifically for SaaS distribution. The architecture of SaaS-based applications is specifically designed to
support many concurrent users (multi-tenancy) at once. This is a big difference from the traditional client/server
or application service provider (ASP)-based solutions that cater to a contained audience. SaaS providers, on the
other hand, leverage enormous economies of scale in the deployment, management, support, and maintenance
of their offerings.
Types of SaaS
Business Utility SaaS - Applications like Salesforce automation are used by businesses and individuals for
managing and collecting data, streamlining collaborative processes and providing actionable analysis. Popular
use cases are Customer Relationship Management (CRM), Human Resources and Accounting.
Social Networking SaaS - Applications like Facebook are used by individuals for networking and sharing
information, photos, videos, etc.
Characteristics
Here are the characteristics of SaaS service model:
SaaS makes the software available over the internet.
The Software is 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.
They are available on demand.
They can be scaled up or down on demand.
They are automatically upgraded and updated.
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.
All users are running same version of the software.
Benefits
Nowadays, more and more companies decide to take advantage of SaaS solutions, as they provide scalability
and also shift significant burdens from consumers to providers. Thus it gives better efficiency and sometimes
even better performance. The main benefits of SaaS cloud can be pointed as follows:
Browser based. SaaS application deployment is very convenient and efficient with typically almost no
software required.
Licence management. Consumers can employ a single license on multiple computers at different times instead
of purchasing extra licenses for separate computers that may not be used and thus over-provisioning the license.
Moreover, traditional license management protocols and license servers are not necessary to protect the
intellectual property of application developers because the software runs in the provider's infrastructure and can
be directly metered and billed.
Centralized data administration. From the consumer´s point of view in SaaS model, management and data
are centralized. As such the SaaS provider can supply professional management of the data, including
compliance checking, security scanning, backup, and disaster recovery. When these services are provided off-
premises SaaS management of data gives protection against the possibility of a single catastrophe destroying
both the consumer´s facility and data. For on-site private and community SaaS clouds, the benefits of
centralized management are similar however there is less resilience against catastrophic losses unless
consumers explicitly plan for those contingencies.
No infrastructure involvement. In case of outsourced or public SaaS clouds, consumers need not become
involved with the management of a provider's infrastructure.
Pay for what you use model. Public SaaS clouds allow a consumer to begin using an application without the
up-front costs of equipment acquisition, but potentially with a recurring usage fee.
Scalability Hosted software, another term for SaaS offers you more scalability in using the software. By
utilizing SaaS you are free to use as much or as little part of any software as you need. This gives you easy and
economical access to many programs.
Regular Upgrading SaaS Vendors regularly upgrade their software, so that the users don‘t have to put any
effort into installing and upgrading the applications.
Easy Access A major advantage of SaaS is it can easily and quickly be accessed from anywhere with a web
browser. This gives users a great facility even when they are at home or in another country. They can access
real time synchronized applications from Laptops and Smart Phones.
Drawbacks
For all scenarios, SaaS clouds place significant reliance on consumer browsers as most of computation is done
on provider side. This brings up number of issues and concerns [31].
Lack of 100% Security. Although browsers encrypt their communications with cloud providers, subtle
disclosures of information are still possible. For example, the very presence or absence of message traffic, or the
sizes of messages sent, or the originating locations may leak information that is indirect but still of importance
to some consumers. Moreover man-in-the-middle attacks on the cryptographic protocols used by browsers can
allow an attacker to hijack a consumer's cloud resources.
Browser Dependence. If a consumer visits a malicious Web site and the browser becomes contaminated,
subsequent access to a SaaS application might compromise the consumer's data. Data from different SaaS
applications might be inadvertently mixed on consumer systems within consumer Web browsers.
Network Dependence - In the public SaaS cloud scenario, the network's reliability cannot be guaranteed
either by the cloud consumer or by the cloud provider as the Internet is not controlled by either one.
No Portability. Formats for exporting and importing data may not be entirely compatible between
SaaS clouds. Customized workflow and business rules, user interface and application settings, support scripts,
data extensions, and add-ons developed over time can also be vendor specific and not easily transferable.
Main providers
Theoretically any email client or online software provider could be called a SaaS provider. Thus two leading
cloud providers that identify their services as SaaS will be described.
Salesforce.com
Salesforce.com is the leading CRM SaaS vendor and had 10.6% of the overall CRM market in 2008. The CRM
of Salesforce.com is broken down into various categories [36]:
The Sales Cloud - it includes a real-time sales collaborative tool that is Chatter, it provides sales
representatives with a customer profile and account history. It also allows the user to manage marketing
campaign spending and performance across a variety of channels from a single application, tracks all
opportunity-related data including milestones, decision makers, customer communications, and any other
information unique to the company's sales process.
THe Service Cloud - The Service Cloud provides companies with a call center-like view that enables
companies to create and track cases coming in from every channel, and automatically route and escalate what is
important.
Chatter - It is a real-time collaboration platform for users. The service sends information via a real-time
news stream. Users can follow coworkers and receive broadcast updates about project and customer status.
Users can also form groups and post messages on each other's profiles to collaborate on projects.
AppExchange - It is a marketplace for cloud computing applications built for the Salesforce.com community
and delivered by partners or by third-party developers, which users can purchase and add to their
Salesforce.com.
Configuration - Salesforce users can configure their CRM application. In the system, there are tabs such as
"Contacts," "Reports," and "Accounts." Each tab contains associated information.
Web services - In addition to the web interface, salesforce.com provides a SOAP/REST Web service API
that allows for integration with other systems.
Google Docs
Google Docs (http://docs.google.com) is a collection of office applications that users can create, modify, share,
and work on documents collaboratively with others. Google Docs has a very large user base, mainly due to the
dominant position of the search engine company in the marketplace and its free use. Google Docs is supported
on Linux, Macintosh OS X, and Microsoft Windows, as well as on Android and iPhone mobile phones. Only
word processor and spreadsheets are supported by mobile phone applications at the moment; viewing
presentations, database files, and PDFs are not. Google Docs creates native HTML files that are stored online.
When you import files from Microsoft Word (DOC or DOCX), RTF, OpenOffice (ODF), data files in CSV, or
PowerPoint (PPT), they are converted to HTML. You can export a Google Docs document to standard formats
such as Microsoft Word DOC or Adobe PDF. Open documents are automatically saved, and Google Docs
retains document revisions. You can tag and archive documents and use the tags to search your documents.
When you click the Share button, you can specify who can either view or collaborate on that document.
The people you indicate are sent an e-mail with a link to that document in it. Collaboration on a document can
be done simultaneously by two or more collaborators.
These are important features of Google Docs:
• Google Docs: This is a full featured word processor with an interface similar to Microsoft Office 2003. It has
support for templates, a basic drawing function (Google Draw), and a LaTeX equation editor available in the
word processor. The following file types can be imported into Google Docs: text (TXT), Word, RTF, HTML,
Open Office (ODF), and StarOffice Writer (SXW).
• Spreadsheets: This allows you to create, import, modify, and share spreadsheets. You can collaborate on your
spreadsheet and chat in real time, embed the worksheet in a document, or post your worksheets to a block or a
Web site.
• Presentation: This is a presentation creation program. You can import and modify presentation files from
PowerPoint (PPT or PPS) files or create new presentations that you can share. Presentations support images,
audio, and video content. You can provide a real-time presentation from a remote site or publish your
presentation to a Web page.
• Reader (http://reader.google.com): This RSS feed aggregator can be read online or offline. If you choose, you
can populate Reader with your RSS feeds used on your iGoogle pages. The front page shows summaries of new
items, and you can view a list or an expanded view of an item. Items may be imported or exported from Reader
in an OPML file. Google also can search across all your feeds and updates in your subscriptions.
• File Manager: The central application in the Google Docs suite lets you upload documents, open documents,
and share documents. When you open a document, the application that supports the file type launches. The free
account gives a user 1GB of disk storage. The current restrictions on content for a free account are 5,000
documents, 5,000 images, 1,000 spreadsheets, and up to 100 Adobe PDF files. Spreadsheets can have 256
columns maximum and up to 200,000 cells divided into no more than 99 worksheets. Images embedded in
documents must be no more than 2MB in size.
• Calendar (http://calendar.google.com): Google's event and time management application uses an Ajax
interface to support drag and drop of events between dates and times. Google Calendar is thought to be the most
widely used online calendar today. It has a number of different viewing modes, including Day, 4 Day, Week,
Month, and Agenda views; it also supports a To-Do list. Events in the calendar can be set up to generate SMS
messages (called GVENTs) or e-mail through Google Gmail. You can use a gadget to populate your iGoogle
home page with your events, and another gadget can allow you to search your calendars from within the Google
Desktop application. Calendar can import Microsoft Outlook calendar (CSV) and iCalendar (ICS) files. An
account can support multiple calendars, which can be shared with other users and groups. Among the platforms
supported by Google Calendar are Android, Blackberry, iPhone, and Pocket PC mobile devices, Apple
Macintosh through iCal, and Microsoft Windows through Outlook.
What is an identity?
An identity is a set of characteristics or attributes that make something recognizable or known. In computer
network systems, it is one's digital identity that most concerns us. A digital identity is those attributes and
metadata of an object along with a set of relationships with other objects that makes an object identifiable. Not
all objects are unique, but by definition a digital identity must be unique, if only trivially so, through the
assignment of a unique identification attribute. An identity must therefore have a context in which it exists. This
description of an identity as an object with attributes and relationships is one that programmer's would
recognize. You can extend this notion to the idea of an identity having a profile and profiling services such as
Facebook as being an extension of the notion of Identity as a Service in cloud computing. An identity can
belong to a person and may include the following:
• Things you are: Biological characteristics such as age, race, gender, appearance, and so forth
• Things you know: Biography, personal data such as social security numbers, PINs, where you went to school,
and so on
• Things you have: A pattern of blood vessels in your eye, your fingerprints, a bank account you can access, a
security key you were given, objects and possessions, and more
• Things you relate to: Your family and friends, a software license, beliefs and values, activities and
endeavors, personal selections and choices, habits and practices, an iGoogle account, and more To establish
your identity on a network, you might be asked to provide a name and password, which is called a single-factor
authentication method. More secure authentication requires the use of at least two-factor authentication; for
example, not only name and password (things you know) but also a transient token number provided by a
hardware key (something you have). To get to multifactor authentication, you might have a system that
examines a biometric factor such as a fingerprint or retinal blood vessel pattern—both of which are essentially
unique things you are. Multifactor authentication requires the outside use of a network security or trust service,
and it is in the deployment of trust services that our first and most common IDaaS applications are employed in
the cloud.
Of course, many things have digital identities. User and machine accounts, devices, and other objects
establish their identities in a number of ways. For user and machine accounts, identities are created and stored in
domain security databases that are the basis for any network domain, in directory services, and in data stores in
federated systems. Network interfaces are identified uniquely by Media Access Control (MAC) addresses,
which alternatively are referred to as Ethernet Hardware Addresses (EHAs). It is the assignment of a network
identity to a specific MAC address that allows systems to be found on networks. The manner in which
Microsoft validates your installation of Windows and Office is called Windows Product Activation and creates
an identification index or profile of your system, which is instructive. During activation, the following unique
data items are retrieved:
• A 25-character software product key and product ID
• The uniquely assigned Global Unique Identifier or GUID
• PC manufacturer
• CPU type and serial number
• BIOS checksum
• Network adapter and its MAC address
• Display adapter
• SCSCI and IDE adapters
• RAM amount
• Hard drive and volume serial number
• Optical drive
• Region and language settings and user locale
From this information, a code is calculated, checked, and entered into the registration database. Each of
these uniquely identified hardware attributes is assigned a weighting factor such that an overall sum may be
calculated. If you change enough factors—NIC and CPU, display adapter, RAM amount, and hard drive—you
trigger a request for a reactivation based on system changes. This activation profile is also required when you
register for the Windows Genuine Advantage program. Windows Product Activation and Windows Genuine
Advantage are cloud computing applications, albeit proprietary ones. Whether people consider these
applications to be services is a point of contention.
OpenID is a developing industry standard for authenticating ―end users‖ by storing their digital identity in a
common format. When an identity is created in an OpenID system, that information is stored in the system of
any OpenID service provider and translated into a unique identifier. Identifiers take the form of a Uniform
Resource Locator (URL) or as an Extensible Resource Identifier (XRI) that is authenticated by that OpenID
service provider. Any software application that complies with the standard accepts an OpenID that is
authenticated by a trusted provider. A very impressive group of cloud computing vendors serve as identity
providers (or OpenID providers), including AOL, Facebook, Google, IBM, Microsoft, MySpace, Orange,
PayPal, VeriSign, LiveJournal, Ustream, Yahoo!, and others.
The OpenID standard applies to the unique identity of the URL; it is up to the service provider to store
the information and specify the forms of authentication required to successfully log onto the system. Thus an
OpenID authorization can include not only passwords, but smart cards, hardware keys, tokens, and biometrics
as well.
These are samples of trusted providers and their URL formats:
• Blogger: <username>.blogger.com or <blogid>.blogspot.com
• MySpace: myspace.com/<username>
• MyOpenID: <username>.myopenid.com
• Orange: openid.orange.fr/username or simply orange.fr/
• Verisign: <username>.pip.verisinglabs.com
• WordPress: <username>.wordpress.com
• Yahoo!: openid.yahoo.com
After you have logged onto a trusted provider, that logon may provide you access to other Web sites that
support OpenID. When you request access to a site through your browser (or another application that is referred
to as a user-agent), that site serves as the ―relying party‖ and requests of the server or server-agent that it verify
the end-user's identifier. You won't need to log onto these other Web sites, if your OpenID is provided. Most
trusted providers require that you indicate which Web sites you want to share your OpenID identifier with and
the information is submitted automatically to the next site. CardSpace is a Microsoft software client that is part
of the company's Identity Metasystem and built into the Web Services Protocol Stack. This stack is built on the
OASIS standards (WS-Trust, WS-Security, WS-SecurityPolicy, and WS-MetadataExchange), so any
application that conforms with the OASIS WS- standards can interoperate with CardSpace. CardSpace was
introduced with .NET Frameworks 3.0 and can be installed on Windows XP, Server 2003, and later. It is
installed by default on Windows Vista and Windows 7.
A SAML assertion is a security statement in the SAML file that makes a claim regarding authentication,
attributes, or authorization. The SAML protocol request is often referred to as a query; the three different
supported query types are an authentication query, an attribute query, and an authorization decision query.
SAML requests use a SOAP binding; that is, the SAML request or response is embedded in a SOAP wrapper
within an HTTP message. SAML is used to provide a mechanism for a Web Browser Single Sign On (SSO). In
this instance, a Web browser is the user agent, which requests access to a resource that is authorized by a SAML
service provider. The service provider takes a request from a user for access to the resource and sends an
authentication request to the SAML identity provider directly from the initiating user agent (Web browser).
Figure 4.10 shows the SAML Single Sign on Request/Response mechanism.
The Service Provisioning Markup Language (SPML) is another of the OASIS open standards developed
to provide for service provisioning. Provisioning is the process by which a resource is prepared for use,
reserved, accessed, used, and then released when the transaction is completed. A classic example of
provisioning a resource is the reservation and use of a phone line or a Virtual Private Network. A provisioning
system has three types of components: A Requesting Authority (RA) is the client, the Provisioning Service
Point (PSP) is the cloud component that receives the request and returns a response to the RA, and a
Provisioning Service Targets (PST) is the software application upon which the provisioning action is
performed. The SPML provisioning system (which can be thought of as an architectural layer) means that
identity information need only be entered into these three components once.
SPML is used to prepare Web services and applications for use, signal that the resource is available for
use and waiting for instructions, and signal when the use or transaction has been completed. With SPML, a
system can provide automated user and system access, enforce access rights, and make cloud computing
services available across network systems. Without a provisioning system, a cloud computing system can be
very inefficient and potentially unreliable.
FIGURE 4.10:SAML provides a mechanism by which a service requester can use a Single Sign On logon to
access Web services securely.
COMMUNICATION-AS-A-SERVICE (CAAS):--
Communications as a Service (CaaS) goes beyond traditional VoIP offerings by delivering a fully hosted
VoIP and Unified Communications solution. As an outsourced solution, CaaS requires little oversight from you
and your team so you can re-allocate IT budget and personnel resources to where they‘ll create the most
business growth and value. With a CaaS solution, you can leverage enterprise-class communication services
without the complexity and time required to build a premises-based solution – and without the capital
investment. CaaS is designed to include a utility-based pricing model that provides users with a comprehensive,
flexible and simple-to-understand VoIP service. The bundled service typically includes integrated access (voice
and data), a handset, local and long-distance voice services, voicemail, VoIP technology infrastructure and
advanced PBX functionality.
In the CaaS model, you contact with a single vendor for all of your entire communication needs.
Bundled services usually include voice and data access, long-distance and local voice services, telephone
handsets, voicemail, software, and advanced Unified Communications functionality such as video calling, Web
collaboration, chat, real-time presence and unified messaging. The vendor offers this functionality from one or
more remote, secure and fully redundant data centers.
Communications as a Service or CaaS similar in concept to Software as a Service or SaaS, CaaS
represents the virtualization of the PBX. The newest and most innovative of the hosted applications, CaaS
includes a full complement of Unified Communications functionality. In the CaaS model, the PBX is located in
the IP ―cloud‖ instead of residing at the user premises. Like other hosted models, users outsource the day-to-day
management responsibilities and pay for usage, not ownership.
At the user level, calls can be routed to cell or home phones. Inherent collaboration and mobility
features ensure business continuity for each employee. Callers dial your office number and get you on the line –
no matter where you are. Communications can also continue using only a laptop and the CaaS soft client. CaaS
is an outsourced enterprise communications solution. Providers of this type of cloud-based solution (known as
CaaS vendors) are responsible for the management of hardware and software required for delivering Voice over
IP (VoIP) services, Instant Messaging (IM), and video conferencing capabilities to their customers. This model
began its evolutionary process from within the telecommunications (Telco) industry, not unlike how the SaaS
model arose from the software delivery services sector. CaaS vendors are responsible for all of the hardware
and software management consumed by their user base. CaaS vendors typically offer guaranteed quality of
service (QoS) under a service-level agreement (SLA).
A CaaS model allows a CaaS provider‘s business customers to selectively deploy communications
features and services throughout their company on a pay-as-you-go basis for service(s) used. CaaS is designed
on a utility-like pricing model that provides users with comprehensive, flexible, and (usually) simple-to-
understand service plans. CaaS service offerings are often bundled and may include integrated access to
traditional voice (or VoIP) and data, advanced unified communications functionality such as video calling, web
collaboration, chat, realtime presence and unified messaging, a handset, local and long-distance voice services,
voice mail, advanced calling features (such as caller ID, three-way and conference calling, etc.) and advanced
PBX functionality. CaaS offers flexibility and scalability that small and medium-sized business might not
otherwise be able to afford. CaaS service providers are usually prepared to handle peak loads for their
customers by providing services capable of allowing more capacity, devices, modes or area coverage as their
customer demand necessitates. Network capacity and feature sets can be changed dynamically, so functionality
keeps pace with consumer demand and provider-owned resources are not wasted. From the service provider
customer‘s perspective, there is very little to virtually no risk of the service becoming obsolete, since the
provider‘s responsibility is to perform periodic upgrades or replacements of hardware and software to keep the
platform technologically current.
CaaS requires little to no management oversight from customers. It eliminates the business customer‘s
need for any capital investment in infrastructure, and it eliminates expense for ongoing maintenance and
operations overhead for infrastructure.
Companies including AT&T, IntelePeer, Alteva and Cypress Communications offer services that
fall into this category. Recently, there have been announcements by BT and Verizon that they are entering the
market with hosted VoIP services.
Advantages of CaaS:
Hosted and Managed Solutions
Remote management of infrastructure services provided by third parties once seemed an unacceptable situation
to most companies. However, over the past decade, with enhanced technology, networking, and software, the
attitude has changed. This is, in part, due to cost savings achieved in using those services. However, unlike the
―one-off ‖ services offered by specialist providers, CaaS delivers a complete communications solution that is
entirely managed by a single vendor. Along with features such as VoIP and unified communications, the
integration of core PBX features with advanced functionality is managed by one vendor, who is responsible for
all of the integration and delivery of services to users.
No Risk of Obsolescence
Rapid technology advances, predicted long ago and known as Moore‘s law, 2 have brought about product
obsolescence in increasingly shorter periods of time. Moore‘s law describes a trend he recognized that has held
true since the beginning of the use of integrated circuits (ICs) in computing hardware. Since the invention of the
integrated circuit in 1958, the number of transistors that can be placed inexpensively on an integrated circuit has
increased exponentially, doubling approximately every two years. Unlike IC components, the average life
cycles for PBXs and key communications equipment and systems range anywhere from five to 10 years. With
the constant introduction of newer models for all sorts of technology (PCs, cell phones, video software and
hardware, etc.), these types of products now face much shorter life cycles, sometimes as short as a single year.
CaaS vendors must absorb this burden for the user by continuously upgrading the equipment in their offerings
to meet changing demands in the marketplace.
MONITORING-AS-A-SERVICE (MAAS):
Monitoring-as-a-Service (MaaS) is the outsourced provisioning of security, primarily on business
platforms that leverage the Internet to conduct business. MaaS has become increasingly popular over the last
decade. Since the advent of cloud computing, its popularity has, grown even more. Security monitoring
involves protecting an enterprise or government client from cyber threats. A security team plays a crucial role in
securing and maintaining the Confidentiality, Integrity, and Availability (CIA) of IT assets. However, time and
resource constraints limit security operations and their effectiveness for most companies. This requires constant
vigilance over the security infrastructure and critical information assets. Many industry regulations require
organizations to monitor their security environment, server logs, and other information assets to ensure the
integrity of these systems. However, conducting effective security monitoring can be a daunting task because it
requires advanced technology, skilled security experts, and scalable processes—none of which come cheap.
MaaS security monitoring services offer real-time, 24/7 monitoring and nearly immediate incident response
across a security infrastructure—they help to protect critical information assets of their customers. Prior to the
advent of electronic security systems, security monitoring and response were heavily dependent on human
resources and human capabilities, which also limited the accuracy and effectiveness of monitoring efforts. Over
the past two decades, the adoption of information technology into facility security systems, and their ability to
be connected to security operations centers (SOCs) via corporate networks, has significantly changed that
picture. This means two important things: (1) The total cost of ownership (TCO) for traditional SOCs is much
higher than for a modern-technology SOC; and (2) achieving lower security operations costs and higher security
effectiveness means that modern SOC architecture must use security and IT technology to address security
risks.
Early Detection
An early detection service detects and reports new security vulnerabilities shortly after they appear. Generally,
the threats are correlated with thirdparty sources, and an alert or report is issued to customers. This report is
usually sent by email to the person designated by the company. Security vulnerability reports, aside from
containing a detailed description of the vulnerability and the platforms affected, also include information on the
impact the exploitation of this vulnerability would have on the systems or applications previously selected by
the company receiving the report. Most often, the report also indicates specific actions to be taken to minimize
the effect of the vulnerability, if that is known.
Cloud Computing involves many activities for which monitoring is an essential task. The most important ones
are:
• Capacity and Resource Planning. One of the most challenging tasks for application and service developers,
before the large scale adoption of Cloud Computing, has always been resource and capacity planning (e.g. web
services ).
• Data Center Management. Cloud services are provided through large scale data centers, whose management
is a very important activity. Data center management includes two fundamental tasks: (i) monitoring, that keeps
track of desired hardware and software metrics; (ii) data analysis, that processes such metrics to infer system or
application states for resource provisioning, troubleshooting, or other management actions.
• SLA Management. The unprecedented flexibility in terms of resource management provided by Cloud
Computing calls for new programming models in which Cloud applications can take advantage of such new
feature, whose underlying premise is monitoring.
• Billing. In order to offer ―measured services‖ allowing the Consumer to pay proportionally to a metered
parameter, monitoring is fundamental.
• Troubleshooting. The complex infrastructure of a Cloud represents a big challenge for troubleshooting (e.g.
root cause analysis), as the cause of the problem has to be searched in several possible components (e.g.
network, host, etc.), each of them made of several layers. Monitoring is therefore needed for Providers to
understand where to locate the problem inside their complex infrastructure and for Consumers to understand if
any occurring performance issue or failure is caused by the Provider or by other causes.
• Performance Management. Being the hardware infrastructure maintenance delegated to the Providers, the
Cloud Computing model is attractive for most Consumers (primarily medium sized enterprises and research
groups). However, despite the attention paid by Providers, some Cloud nodes may attain performance orders of
magnitude worse than other nodes .
• Security Management. Cloud security is very important for several reasons. It is one of the most significant
obstacles to the spread of Cloud Computing, especially considering certain kinds of applications (e.g. business-
critical ones) and Consumers (e.g. governments)
Providers:
STORAGE AS A SERVICE:
Cloud data storage is a critical component in the cloud computing model; without cloud storage, there can be no
cloud service. A storage cloud provides storage as a service to storage consumers. A storage cloud can be used
to support a diverse range of storage needs, including mass data stores, file shares, backup, archive, and more.
Implementations range from public user data stores to large private storage area networks (SAN) or network-
attached storage (NAS), hosted in-house or at third-party managed facilities. The following examples are
publicly available storage clouds:
_ IBM SmartCloud offers a variety of storage options, including archive, backup, and object storage.
_ Skydrive from Microsoft allows the public to store and share nominated files on the Microsoft public storage
cloud service.
_ Email services, such as Hotmail, Gmail, and Yahoo, store user email and attachments in their respective
storage clouds.
_ Facebook and YouTube allow users to store and share photos and videos.
Storage cloud capability can also be offered in the form of storage as a service, where you pay based
on the amount of storage space used. There are various ways a storage cloud can be used, based on your
organization's specific requirements. Figure 2-1 describes how various electronic or portable devices can access
storage through the Internet without necessarily knowing the explicit details of the type or location of storage
that is used underneath.
Storage for cloud : Storage for cloud is a general name applied to the type of storage environment,
implemented in cloud computing that is required to provision cloud computing services. For example, when a
virtual server machine is created, some storage capacity is required. This storage is provisioned as part of the
virtual machine creation process to support the operating system and runtime environment for the instance. It is
not delivered by a storage cloud. However, it may be provisioned from the same storage infrastructure as a
storage cloud. The types of storage provisioned for a cloud service can be categorized as follows:
Ephemeral storage: This storage is required only while a virtual machine is running. It is freed from use and
made available to the storage pool when the virtual machine is shut down. Examples of this category of storage
include boot volumes, page files, and other temporary data.
Persistent storage: This storage is required across virtual machine reboots. It is retained even when a virtual
machine is shutdown. It includes ―gold‖ (master template) images, systems customization, and user data.
3) Organizational constraints
Another barrier to efficient use of resources can be traced to artificial resource acquisition, ownership, and
operational practices:
_ Project oriented infrastructure funding
_ Constrained operational budgets
_ Difficulty implementing resource sharing
_ No chargeback or showback mechanism as incentive for IT resource conservation
The limited ability to share data across the enterprise especially in the context of interdepartmental sharing can
degrade overall use of IT resources including storage capacity. Parallel performance requirements in existing
storage systems result in one node supporting one disk, leading to multiplication of nodes and servers.
4) IT resource management
Efficient IT support is based on cost-effective infrastructure and service-level management to address business
needs.
_ Rapid capacity growth
_ Cost control
_ Service-level monitoring and support (performance, availability, capacity, security, retention, and more)
_ Architectural open standardization
The continued growth of resource management complexity in the storage infrastructure is often based on a lack
of standardization and high levels of configuration customization. For example, adjusting storage performance
through multiple RAID settings and manual tuning the distribution of I/O loads across various storage arrays
consumes valuable staff resources. Sometimes, the desire to avoid vendor lock-in because of proprietary
protocols for data access also creates tremendous pressure on storage resource management. Other challenges
are related to managing and meeting stringent SLA requirements and lack of enough in-house expertise to
manage complex storage infrastructures. New service levels, adjusting existing SLAs to align IT disaster
recovery, business resilience requirements, and high-availability solutions are also factors.
Duplicate data existing in the form of copies across organizational islands within the enterprise leads to
higher costs for data storage and also backup infrastructure. Compounding all of this are ever-shrinking
operational and project budgets, and lack of dynamic chargeback or show back models as incentives for IT
resource conservation.
In today‘s challenging and complex business environment, firms need streamlined business processes in
order to run efficient and sustained operations. Business process management (BPM) is very critical to a firm
because it helps to create efficient and effective workflow processes that integrate with different functions of the
firm. In the advent of the internet and mobility, firms establish flexible and robust business processes so that
process owners, users and stakeholders could take advantage of the integrated and ubiquitous connectivity
approach to execute the business processes anywhere in the world.
Business Process as a Service (BPaaS) employs the cloud computing service model to outsource
Business Process Management (BPM) dependent on related cloud services; these include Software as a Service
(SaaS), Platform as a Service (PaaS) and Infrastructure as a Service (IaaS).
Traditional BPM Systems (BPMS) run business processes and track active instances of these processes.
A BPMS automates the workflow of a business process step by step and provides reporting on the status of a
process instance giving details on whether it is completed or stalled. In the case of a stalled process, BPMS
shows which step a process has stalled on; allowing companies to be proactive in their approach to optimizing
their processes and resolving workflow steps that may continually stall.
BPaaS on the other hand is simply Business Processes uploaded to a cloud service that performs the
tasks and allows for monitoring and reporting on the workflow status of active and completed tasks. The added
advantages of BPaaS over traditional BPMS are what set it apart. Some examples of outsourcing services
available with the BPaaS model include payroll, procurement, tender and industry operation processes. The aim
of BPaaS is to reduce labour costs through an increase in automation of business processes and adheres to the
usual cost structures typical of cloud computing - ‗pay as you go‘.
BPaaS differs from traditional business logic software packages as it is specifically designed-oriented
towards delivering services. BPaaS therefore will tend to have well-defined application interfaces that are
useable by many different businesses and offer a consistent, automated and repeatable service assisting in the
standardization of business processes.
Automating business processes is not a new concept and has been achieved in the past either manually
or programmatically often incurring costly modifications to existing ERP, CRM or other business logic
software packages.
Although, cloud revolution has helped firms to approach business transformation with radical changes to
IT infrastructure and practices. IT plays a critical role in selecting the necessary infrastructure to support the
firms‘ business operations. Choosing the right platform for BPaaS depends on how well the corporate
infrastructure is architected and designed to support cloud based solutions and services.
BPaaS integrates very well with other cloud services of a hybrid cloud model thereby creating an integrated
delivery platform for efficient business process management. Hybrid cloud model is a combination of private,
community or public clouds that offer firms to build necessary technology platform and services without
worrying about the infrastructure ownership, maintenance, and support.
The figure above clearly depicts how BPaaS fits well in a corporate hybrid cloud structure along with
other cloud-based services. Infrastructure as a Service (IaaS) provides necessary computing resources, storage
and networking capabilities, hosted by a service provider who takes responsibility to manage, maintain and
support the underlying infrastructure and offers as on-demand services to customers. Platform as a Service
(PaaS) offers a broad range of middleware services including integrated application development environment,
application delivery platform, and database services. Software as a Service (SaaS) offers a wide range of
software services hosted in a cloud infrastructure using a pay-per-use pricing model or subscription service-
based model.
BPaaS sits on top of the other cloud-services as a robust business process management system and offers
firms to experiment new innovative business process ideas, thereby creating a well-integrated business approach
for firms in order to establish a superior competitive advantage. Consequently, IT brings the needful business
process innovation into reality through efficient and effective IT governance, quality assurance and control, and
robust program management practices, thereby providing immense value to reap business benefits.
There is a practical reason to select a business process service. First, an organization can select a process
that matches business policy. It can then be used in many different application environments. This ensures that a
well-defined and, more importantly, a consistent process exist across the organization. For example, a company
may have a complex process for processing payroll or managing shipping. This service can be linked to other
services in the cloud, such as SaaS, as well as to applications in the data center.
Like SaaS cloud services, business processes are beginning to be designed as a packaged offering that
can be used in a hybrid manner. These business processes can really be any service that can be automated,
including managing e-mail, shipping a package, or managing customer credit.
The difference between traditional packaged applications and BPaaS is that BPaaS is designed to be
service-oriented. So, BPaaS is likely to have well-defined interfaces. In addition, a BPaaS is a standardized
service for use by many different organizations.