1. Truba College of Science & Technology, Bhopal Cloud
Computing
UnitII
1 CompiledBy – Ms. Nandini Sharma
CLOUD COMPUTING ARCHITECTURE
Cloud Reference Model
A Reference Architecture (RA) provides a blueprint of a to-be-model with a well-defined
scope, requirements it satisfies, and architectural decisions it realizes. By delivering best
practices in a standardized, methodical way, an RA ensures consistency and quality across
development and delivery projects. The mission of the CC RA is defined as follows:
Definition of a single Cloud Computing Reference Architecture, enabling cloud-scale
economics in delivering cloud services while optimizing resource and labour utilization and
delivering a design blueprint for, Cloud services, which are offered to customers, Private,
public or hybrid cloud projects, Workload-optimized systems, Enabling the management of
multiple cloud services (across I/P/S/BPaaS) based on the same, common management
platform for enabling economies of scale.
The CC RA is based on real-world input from many cloud implementations across IBM. The
Architecture Overview Diagram (AOD) provides overview of the fundamental architectural
building blocks making up the CC RA. It also defines architectural principles serving as a
guideline for creating any cloud environment.
Cloud implementations, driven by functional and non-functional requirements of the
respective cloud implementation. Consequently, the CC RA should not be viewed as fine-
granular deployment specification of just a single specific cloud implementation (and its
management platform
This document serves the following purposes:
1. This document defines the basic architectural elements and relationships which make up
the IBM Cloud Computing Reference Architecture.
2. This document defines the basic architectural principles which are fundamental for
delivering & managing cloud services.
The audience of the CC Reference Architecture is:
• Development teams implementing cloud services exploiting CCMP capabilities.
For the Cloud architecture, there has been special focus on the:
• Operational Layer: Infrastructure is part of the operational systems layer, but often
highlighted in Cloud architectures because Cloud imposes new requirements on infrastructure
to enable broad network access, resource pooling, rapid elasticity, virtualization and
scalability.
• Service Layer: The common cloud service types, These cloud service types, like other
services, use and sometimes expose assets in the Operational systems layer. For cloud
services, which assets are exposed is often the focus of the service type, ie within operational
2. Truba College of Science & Technology, Bhopal Cloud
Computing
UnitII
2 CompiledBy – Ms. Nandini Sharma
systems, hardware infrastructure is exposed as IaaS, and middleware is exposed as PaaS, and
business process as BPaaS.
• Business Process: Business processes participate in a Cloud solution much like they do in
SOA solutions, they can be provided as a service (BPaaS) or be the consumer of services
(whether they care cloud services or not). Additionally, business processes within a cloud
provider organization need to be restructured and streamlined in novel ways to meet much
faster time-to deliver, time-to-change and cost objectives.
• Consumer Layer: The consumer layer is more strictly and carefully separated from the
services and service provider to allow pooling and substitution of cloud services or providers.
Types of cloud computing
Cloud computing is typically classified in two ways:
1. Location of the cloud computing
2. Type of services offered
Location of the cloud
Cloud computing is typically classified in the following three ways:
1. Public cloud: In Public cloud the computing infrastructure is hosted by the cloud
vendor at the vendor premises. The customer has no visibility and control over where
the computing infrastructure is hosted. The computing infrastructure is shared
between any organizations.
2. Private cloud: The computing infrastructure is dedicated to a particular organization
and not shared with other organizations. Some experts consider that private clouds are
not real examples of cloud computing. Private clouds are more expensive and more
secure when compared to public clouds.
3. Truba College of Science & Technology, Bhopal Cloud
Computing
UnitII
3 CompiledBy – Ms. Nandini Sharma
Private clouds are of two types: On-premise private clouds and externally hosted private
clouds. Externally hosted private clouds are also exclusively used by one organization, but
are hosted by a third party specializing in cloud infrastructure. Externally hosted private
clouds are cheaper than On-premise private clouds.
3. Hybrid cloud Organizations may host critical applications on private clouds and
applications with relatively less security concerns on the public cloud. The usage of
both private and public clouds together is called hybrid cloud. A related term is Cloud
Bursting. In Cloud bursting organization use their own computing infrastructure for
normal usage, but access the cloud using services like Salesforce cloud computing for
high/peak load requirements. This ensures that a sudden increase in computing
requirement is handled gracefully.
4. Community cloud involves sharing of computing infrastructure in between
organizations of the same community. For example all Government organizations
within the state of California may share computing infrastructure on the cloud to
manage data related to citizens residing in California.
Classification based upon service provided
Based upon the services offered, clouds are classified in the following ways:
1. Infrastructure as a service (IaaS) involves offering hardware related services using the
principles of cloud computing. These could include some kind of storage services
(database or disk storage) or virtual servers. Leading vendors that provide
Infrastructure as a service are Amazon EC2, Amazon S3, Rackspace Cloud
Servers and Flexiscale.
2. Platform as a Service (PaaS) involves offering a development platform on the cloud.
Platforms provided by different vendors are typically not compatible. Typical players
in PaaS are Google Application Engine, Microsoft’s Azure, Salesforce.com.
3. Software as a service (SaaS) includes a complete software offering on the cloud.
Users can access a software application hosted by the cloud vendor on pay-per-use
basis. This is a well-established sector. The pioneer in this field has been
Salesforce.coms offering in the online Customer Relationship Management (CRM)
space. Other examples are online email providers like Googles gmail and
Microsofts hotmail, Google docs and Microsofts online version of office
called BPOS (Business Productivity Online Standard Suite).
Cloud Portability and Interoperability
Portability and interoperability relate to the ability to build systems from re-usable
components that will work together “out of the box”.
A particular concern for cloud computing is cloud on-boarding – the deployment or
migration of systems to a cloud service or set of cloud services. A common scenario is that
some components cannot be moved to the cloud; for example, because of requirements for
the enterprise to have complete control over personal data. On-boarding requires portability
4. Truba College of Science & Technology, Bhopal Cloud
Computing
UnitII
4 CompiledBy – Ms. Nandini Sharma
of those components that can be moved to the cloud, and interoperability with them of
components that remain on in-house systems.
The Important Categories of Cloud Computing Portability and Interoperability
A system that involves cloud computing typically includes data, application, platform, and
infrastructure components, where:
Data is the machine-process able representation of information, held in computer
storage.
Applications are software programs that perform functions related to business
problems.
Platforms are programs that support the applications and perform generic functions
that are not business-related.
Infrastructure is a collection of physical computation, storage, and communication
resources.
The application, platform, and infrastructure components can be as in traditional enterprise
computing, or they can be cloud resources that are (respectively) software application
programs (SaaS), software application platforms (PaaS), and virtual processors and data
stores (IaaS).
Data, Applications, Platforms, and Infrastructure
Non-cloud systems include mainframes, minicomputers, personal computers, and mobile
devices owned and used by enterprises and individuals.
Data components interoperate via application components rather than directly. There are no
“data interoperability” interfaces.
5. Truba College of Science & Technology, Bhopal Cloud
Computing
UnitII
5 CompiledBy – Ms. Nandini Sharma
Portability and interoperability of infrastructure components are achieved by hardware and
virtualization architectures. The interfaces are mostly internal to the IaaS and infrastructure
components shown in Data, Applications, Platforms, and Infrastructure. The interfaces
exposed by these components are physical communications interfaces: these are important,
but are the same as for traditional computing. For these reasons, infrastructure portability and
interoperability are not discussed further in this Guide.
The main kinds of cloud computing portability to consider are data portability, application
portability, and platform portability. These are the portability respectively of data,
application, and platform components.
Application interoperability between SaaS services and applications, and platform
interoperability between PaaS services and platforms are important kinds of cloud computing
interoperability to consider.
Applications can include programs concerned with the deployment, configuration,
provisioning, and operation of cloud resources. Interoperability between these programs and
the cloud resource environments is important. This is management interoperability.
Applications can also include programs such as app stores (for applications), data markets
(for, e.g., openly available data) and cloud catalogues (e.g., reserved capacity exchanges,
cloud service catalogs) from which users can acquire software products, data and cloud
services, and to which developers can publish applications, data, and cloud services. In this
Guide, all such programs are referred to as marketplaces. Publication and acquisition of
products is performed by platforms, including PaaS services, that interface to the
marketplaces. This is the final important cloud interoperability interface.
The cloud computing portability and interoperability categories to consider are thus:
Data Portability
Application Portability
Platform Portability
Application Interoperability
Platform Interoperability
Management Interoperability
Publication and Acquisition Interoperability
Data Portability
Data portability enables re-use of data components across different applications.
Suppose that an enterprise uses a SaaS product for Customer Relations Management (CRM),
for example, and the commercial terms for use of that product become unattractive compared
with other SaaS products or with use of an in-house CRM solution. The customer data held
6. Truba College of Science & Technology, Bhopal Cloud
Computing
UnitII
6 CompiledBy – Ms. Nandini Sharma
by the SaaS product may be crucial to the enterprise's operation. How easy will it be to move
that data to another CRM solution?
In many cases, it will be very difficult. The structure of the data is often designed to fit a
particular form of application processing, and a significant transformation is needed to
produce data that can be handled by a different product.
This is no different from the difficulty of moving data between different products in a
traditional environment. But, in a traditional environment, the customer is more often able to
do nothing; to stay with an old version of a product, for example, rather than upgrading to a
newer, more expensive one. With SaaS, the vendor can more easily force the customer to pay
more or lose the service altogether.
Cloud introduces no new technical problems, but its different commercial arrangements can
make the old technical problems much more serious.
Application Portability
Application portability enables the re-use of application components across cloud PaaS
services and traditional computing platforms.
Suppose that an enterprise has an application built on a particular cloud PaaS service and, for
cost, performance, or other reasons, wishes to move it to another PaaS service or to in-house
systems. How easy will this be?
If the application uses features that are specific to the platform, or if the platform interface is
non-standard, then it will not be easy.
Application portability requires a standard interface exposed by the supporting platform. As
discussed under Application Interoperability, this must enable the application to use the
service discovery and information communication protocols implemented by the platform, as
well as providing access to the platform capabilities that support the application directly. On
a cloud PaaS platform, or a platform running on a cloud IaaS service, it may also enable
applications to manage the underlying resources.
A particular application portability issue that arises with cloud computing is portability
between development and operational environments. Cloud PaaS is particularly attractive for
development environments from a financial perspective, because it avoids the need for
investment in expensive systems that will be unused once the development is complete. But,
where a different environment is to be used at run time – either on in-house systems or on
different cloud services – it is essential that the applications can be moved unchanged
between the two environments. Cloud computing is bringing development and operations
closer together, and indeed increasingly leading to the two being integrated as devops. This
can only work if the same environment is used for development and operation, or if there is
application portability between development and operation environments.
Platform Portability
There are two kinds of platform portability:
7. Truba College of Science & Technology, Bhopal Cloud
Computing
UnitII
7 CompiledBy – Ms. Nandini Sharma
Re-use of platform components across cloud IaaS services and non-cloud
infrastructure – platform source portability
Re-use of bundles containing applications and data with their supporting platforms –
machine image portability
The UNIX operating system provides an example of platform source portability. It is mostly
written in the C programming language, and can be implemented on different hardware by re-
compiling it and re-writing a few small hardware-dependent sections that are not coded in C.
Some other operating systems can be ported in a similar way. This is the traditional approach
to platform portability. It enables applications portability because applications that use the
standard operating system interface can similarly be re-compiled and run on systems that
have different hardware. It is illustrated in Platform Source Portability.
Platform Source Portability
Machine image portability gives enterprises and application vendors a new way of achieving
applications portability, by bundling the application with its platform and porting the
resulting bundle, as illustrated in Machine Image Portability. It requires a standard program
representation that can be deployed in different IaaS use environments.
Machine Image Portability
Application Interoperability
Application interoperability is interoperability between application components deployed as
SaaS, as applications using PaaS, as applications on platforms using IaaS, in a traditional
8. Truba College of Science & Technology, Bhopal Cloud
Computing
UnitII
8 CompiledBy – Ms. Nandini Sharma
enterprise IT environment, or on client devices. An application component may be a
complete monolithic application, or a part of a distributed application.
Interoperability is required, not just between different components, but between identical
components running in different clouds. For example, in a hybrid cloud solution, an
application component may be deployed in a private cloud, with provision for a copy to be
run in a public cloud to handle traffic peaks. The two components must work together.
Data synchronization is a particular issue when components in different clouds or internal
resources work together, whether or not they are identical. Such components often keep
copies of the same data, and these copies must be maintained in a consistent state.
Communication between clouds typically has a high latency, which makes synchronization
difficult. Also, the two clouds may have different access control regimes, complicating the
task of moving data between them. The design approach must address:
Management of “system of record” sources
Management of data at rest and data in transit across domains that may be under
control of a cloud service consumer or provider
Data visibility and transparency
Full interoperability includes dynamic discovery and composition: the ability to discover
instances of application components, and combine them with other application component
instances, at run time.
Cloud SaaS gives enterprises the possibility of acquiring new application capabilities quickly
and easily, but much of the benefit of this is lost if costly integration work is needed to make
the SaaS service interoperate with other applications and services that the enterprise uses.
Application components typically intercommunicate by invoking their respective platforms,
which implement the necessary communications protocols. Protocol standards enable
platform interoperability directly and are discussed under that heading. They are indirect
enablers of application interoperability.
Application interoperability requires more than communications protocols. It requires that the
interoperating applications share common process and data models. These are not appropriate
subjects for generic standards, although there are specific standards for some particular
applications and business areas.
There are, however, some design principles that improve application interoperability.
Integration of applications designed following these principles still requires some effort, but
is much less difficult and expensive than integration of applications that do not follow them.
Platform Interoperability
Platform interoperability is interoperability between platform components, which may be
deployed as PaaS, as platforms on IaaS, in a traditional enterprise IT environment, or on
client devices.
9. Truba College of Science & Technology, Bhopal Cloud
Computing
UnitII
9 CompiledBy – Ms. Nandini Sharma
Platform interoperability requires standard protocols for service discovery and information
exchange. As discussed above, these indirectly enable interoperability of the applications that
use the platforms. Application interoperability cannot be achieved without platform
interoperability.
Service discovery is currently used by a minority of applications, but is essential to achieve
the highest levels of service integration maturity [OSIMM]. Standard service discovery
protocols should be supported by platforms used by service registries and other applications.
Protocols for information exchange between platforms should support the establishment of
sessions and transfer of session information, as well as information transport. (In the case of
IaaS, the platform in question is not part of the infrastructure service but implemented on top
of it.) Session information might, for example, include the user’s identity, the authorization
level established by the user for access control purposes, the user’s time-zone, the user’s
language, and the user’s preferred cultural environment.
Management Interoperability
Management interoperability is interoperability between cloud services (SaaS, PaaS, or IaaS)
and programs concerned with the implementation of on-demand self-service.
As cloud computing grows, enterprises will want to manage cloud services together with their
in-house systems, using generic off-the-shelf systems management products. This can only be
achieved if cloud services have standard interfaces.
These interoperability interfaces may provide the same functionality as the management
interfaces mentioned under Application Portability.
Publication and Acquisition Interoperability
Publication and acquisition interoperability is interoperability between platforms, including
cloud PaaS services, and marketplaces (including app stores).
Cloud service providers often maintain marketplaces from which their cloud services can be
obtained. Some also make associated components available. For example, an IaaS supplier
may make available machine images that run on its infrastructure services. Some large user
organizations, including governments, maintain app stores to which approved suppliers can
publish programs, which can then be downloaded by the organization’s departments. Some
mobile device suppliers maintain app stores from which users can obtain apps to run on their
devices.
Standard interfaces to these stores would lower the cost of cloud computing for software
providers and users.
Scalability
One of the key benefits of using cloud computing is its scalability. Cloud computing allows
your business to easily upscale or downscale your IT requirements as and when required. For
example, most cloud service providers will allow you to increase your existing resources to
10. Truba College of Science & Technology, Bhopal Cloud
Computing
UnitII
10 CompiledBy – Ms. Nandini Sharma
accommodate increased business needs or changes. This will allow you to support your
business growth without expensive changes to your existing IT systems.
Impact of scalability on managed data centers. Because of the highly scalable nature of
cloud computing, many organizations are now relying on managed data centers where there
are cloud experts trained in maintaining and scaling shared, private and hybrid clouds. Cloud
computing allows for quick and easy allocation of resources in a monitored environment
where overloading is never a concern as long as the system is managed properly. From small
companies to large enterprise companies, managed data centers can be an option for your
business.
Private cloud computing is a solution for scalable, customized and secure resources where
control has to reside with your internal IT department.
Beyond the improvements on business flexibility and scalability, cloud computing has
fundamentally changed the way we pay for resources. In the past, tasks that required
considerable processing power or space needed significant capital investments in the
necessary hardware. Now, cloud computing allows these users to purchase scalable space for
heavy duty data crunching on demand, paying for only what they use.
Moreover, a new report by the Software & Information Industry Association, which includes
opinions of 49 technology CXOs and VPs, notes that cloud computing impact grows even
more significant when coupled with mobile and big data analytics.
Fault-tolerant
It describes a computer system or component designed so that, in the event that a component
fails, a backup component or procedure can immediately take its place with no loss of
service. Fault tolerance can be provided with software, or embedded in hardware, or provided
by some combination.
In the software implementation, the operating system provides an interface that allows a
programmer to "checkpoint" critical data at pre-determined points within a transaction. In the
hardware implementation (for example, with Stratus and its VOS operating system), the
programmer does not need to be aware of the fault-tolerant capabilities of the machine.
At a hardware level, fault tolerance is achieved by duplexing each hardware component.
Disks are mirrored. Multiple processors are "lock-stepped" together and their outputs are
compared for correctness. When an anomaly occurs, the faulty component is determined and
taken out of service, but the machine continues to function as usual.
Cloud ecosystem is a term used to describe the complex system of interdependent
components that work together to enable cloud services.
Merriam-Webster defines an ecosystem as the complex of a community of organisms and its
environment functioning as an ecological unit. In terms of cloud computing, that complex
includes not only traditional elements of cloud computing such as software and infrastructure
11. Truba College of Science & Technology, Bhopal Cloud
Computing
UnitII
11 CompiledBy – Ms. Nandini Sharma
but also consultants, integrators, partners, third parties and anything in their environments
that has a bearing on the other components.
Werner Vogels, CTO of Amazon, discussed the cloud ecosystem in a keynote address at
Cloud Connect 2011. According to Vogels, the traditional concept of cloud services creates a
metaphorical pyramid out of infrastructure-as-a-service (IaaS), platform-as-a-service (PaaS)
and software-as-a-service (SaaS), which limits the way we think about them. Vogels
suggested that a better way of thinking of the cloud environment was to think of everything
as a service
Business process management (BPM)
It is a systematic approach to making an organization's workflow more effective, more
efficient and more capable of adapting to an ever-changing environment. A business
process is an activity or set of activities that will accomplish a specific organizational goal.
The goal of BPM is to reduce human error and miscommunication and focus stakeholders on
the requirements of their roles. BPM is a subset of infrastructure management, an
administrative area concerned with maintaining and optimizing an organization's equipment
and core operations.
BPM is often a point of connection within a company between the line-of-business (LOB)
and the IT department. Business Process Execution Language (BPEL) and Business Process
Management Notation (BPMN) were both created to facilitate communication between IT
and the LOB. Both languages are easy to read and learn, so that business people can quickly
learn to use them and design processes. Both BPEL and BPMN adhere to the basic rules of
programming, so that processes designed in either language are easy for developers to
translate into hard code.
There are three different kinds of BPM frameworks available in the market today. Horizontal
frameworks deal with design and development of business processes and are generally
focused on technology and reuse. Vertical BPM frameworks focus on a specific set of
coordinated tasks and have pre-built templates that can be readily configured and deployed.
Full-service BPM suites have five basic components:
Process discovery and project scoping
Process modeling and design
Business rules engine
Workflow engine
Simulation and testing
While on-premise business process management (BPM) has been the norm for most
enterprises, advances in cloud computing have lead to increased interest in on-demand,
software as a service (SaaS) offerings.
12. Truba College of Science & Technology, Bhopal Cloud
Computing
UnitII
12 CompiledBy – Ms. Nandini Sharma
The delivery of dynamic, cloud-based infrastructure, platform and application services
doesn't occur in a vacuum. In addition to best practices for effective administration of all the
elements associated with cloud service delivery, cloud service management and cloud
monitoring tools enable providers to keep up with the continually shifting capacity demands
of a highly elastic environment.
Cloud monitoring and cloud service management tools allow cloud providers to ensure
optimal performance, continuity and efficiency in virtualized, on-demand environments.
These tools -- software that manages and monitors networks, systems and applications --
enable cloud providers not just to guarantee performance, but also to better orchestrate
and automate provisioning of resources.
Cloud monitoring tools, specifically, enable cloud providers to track the performance,
continuity and security of all of the components that support service delivery: the hardware,
software and services in the data center and throughout the network infrastructure.
Through successful cloud service management and monitoring, cloud providers can use
service quality to differentiate themselves in what remains a crowded and noisy marketplace.
Through successful cloud service management and monitoring, cloud providers can use
service quality to differentiate themselves in what remains a crowded and noisy marketplace.
Effective cloud service management also helps lower the risk of frequent cloud outages that
can jeopardize security systems. Using these tools also supports greater operational
efficiency, helping cloud providers minimize costs and maximize profit margins. However,
achieving these goals can be difficult in a complex virtual delivery environment where
visibility and control are limited.
What are the key processes associated with cloud service management?
Cloud service management shares some basic principles with traditional IT service
management (ITSM). Cloud management tools help providers administrate the systems and
applications that facilitate the on-demand service delivery model. The goal of these practices
is to improve the efficiency of the cloud environment and achieve a high level of customer
satisfaction.
Essentially, cloud service management takes the customer perspective as the measure
of service assurance and manages all the individual IT resources in a way that will support
that. This involves adjusting the operations and policies, as necessary, of all the assets in the
virtual environment that support and affect the on-demand service delivery model. Such
assets include servers, software and services that provide access and connectivity to these
cloud services.
The core elements of cloud service management mirror those of traditional ITSM --
including cloud service-level agreement (SLA) management, cloud capacity management,
availability management and billing -- and are applied to administrate a cloud delivery
environment in a systemic way. These processes are supported with tools that
track provisioning and change management, configuration management, release
management, incident management, performance management and service continuity.
13. Truba College of Science & Technology, Bhopal Cloud
Computing
UnitII
13 CompiledBy – Ms. Nandini Sharma
Customers are supported directly and indirectly through a help desk function. Cloud service
management is complemented by monitoring software that tracks operational information and
feeds that data to the appropriate management resource.
Given the elastic, highly virtualized nature of cloud environments, there are some key
differences in approaches to cloud service management and conventional IT service
management. The two disciplines have different objectives, requiring tools that emphasize
their individual requirements. Whereas the goals of traditional ITSM are effective SLA
management, improved performance and streamlined billing, the goal of cloud service
management is to orchestrate resources for fast provisioning, effective capacity
management and ongoing service stability. Automation is vital to ensure efficiency and
reduce costs.
Cloud service management platforms: Build or buy?
Although vendors have developed many cloud service management and monitoring tools for
enterprises that build and manage their own private clouds, there are far fewer tools that meet
the scale, security and performance requirements of cloud providers. Beyond that, there are
even fewer solutions that provide the comprehensive capabilities associated with the entire
ITSM process for cloud providers, namely orchestration.
Cloud analytics
It is a service model in which one or more key element of data analytics is provided through
a public or private cloud. Cloud analytics applications and services are typically provided
through a subscription-based or utility (pay-per-use) model.
Gartner defines the six key elements of analytics as data sources, data models, processing
applications, computing power, analytic models and sharing or storage of results. In its view,
any analytics initiative “in which one or more of these elements is implemented in the cloud”
qualifies as cloud analytics. Gartner analyst Bill Gassman noted that vendors offering cloud-
based technologies designed to support a single element refer to themselves as cloud
analytics companies, which can cause confusion for potential users.
Examples of cloud analytics products and services include hosted data warehouses, software-
as-a-service business intelligence (SaaS BI) and cloud-based social media analytics.
SaaS BI (also known as on-demand BI or cloud BI) involves delivery of business intelligence
(BI) applications to end users from a hosted location. This model is scalable and makes start-
up easier and less expensive, but the product may not offer the same features as an in-house
application.
Cloud Testing
Cloud Testing uses cloud infrastructure for software testing. Organizations pursuing testing in
general and load, performance testing and production service monitoring in particular are
challenged by several problems like limited test budget, meeting deadlines, high costs per
test, large number of test cases, and little or no reuse of tests and geographical distribution of
users add to the challenges. Moreover ensuring high quality service delivery and avoiding
14. Truba College of Science & Technology, Bhopal Cloud
Computing
UnitII
14 CompiledBy – Ms. Nandini Sharma
outages requires testing in one's data centre, outside the data-centre, or both. Cloud Testing is
the solution to all these problems. Effective unlimited storage, quick availability of the
infrastructure with scalability, flexibility and availability of distributed testing environment
reduce the execution time of testing of large applications and lead to cost-effective solutions.
Traditional approaches to test software incur high cost to simulate user activity from different
geographic locations. Testing firewalls and load balancers involves expenditure on hardware,
software and its maintenance. In case of applications where rate of increase in number of
users is unpredictable or there is variation in deployment environment depending on client
requirements, cloud testing is more effective.
Types of Testing
Stress
Stress Test is used to determine ability of application to maintain a certain level of
effectiveness beyond breaking point. It is essential for any application to work even under
excessive stress and maintain stability. Stress testing assures this by creating peak loads using
simulators. But the cost of creating such scenarios is enormous. Instead of investing capital in
building on-premise testing environments, cloud testing offers an affordable and scalable
alternative.
Load
Load testing of an application involves creation of heavy user traffic, and measuring its
response. There is also a need to tune the performance of any application to meet certain
standards. However a number of tools are available for that purpose.
Performance
Finding out thresholds, bottlenecks & limitations is a part of performance testing. For this,
testing performance under a particular workload is necessary. By using cloud testing, it is
easy to create such environment and vary the nature of traffic on-demand. This effectively
reduces cost and time by simulating thousands of geographically targeted users.
Functional
Functional testing of both internet and non-internet applications can be performed using
cloud testing. The process of verification against specifications or system requirements is
carried out in the cloud instead of on-site software testing.
Compatibility
Using cloud environment, instances of different Operating Systems can be created on
demand, making compatibility testing effortless.
Browser performance
To verify application's support for various browser types and performance in each type can
be accomplished with ease. Various tools enable automated website testing from the cloud.
15. Truba College of Science & Technology, Bhopal Cloud
Computing
UnitII
15 CompiledBy – Ms. Nandini Sharma
Latency
Cloud testing is utilized to measure the latency between the action and the corresponding
response for any application after deploying it on cloud.
Steps for Cloud Testing
Companies simulate real world Web users by using cloud testing services that are provided
by cloud service vendors such as Advaltis, Compuware, HP, Keynote Systems, Load
Impact, Neotys, RadView and SOASTA. Once user scenarios are developed and the test is
designed, these service providers leverage cloud servers (provided by cloud platform vendors
such as Amazon.com, Google, Rackspace, Microsoft, etc.) to generate web traffic that
originates from around the world. Once the test is complete, the cloud service providers
deliver results and analytics back to corporate IT professionals through real-time dashboards
for a complete analysis of how their applications and the internet will perform during peak
volumes.
Keys to successful testing
1. Understanding a platform provider's elasticity model/dynamic configuration method
2. Staying abreast of the provider's evolving monitoring services and Service Level
Agreements (SLAs)
3. Potentially engaging the service provider as an on-going operations partner if
producing commercial off-the-shelf (COTS) software
4. Being willing to be used as a case study by the cloud service provider. The latter may
lead to cost reductions.
Applications
Cloud testing is often seen as only performance or load tests, however, as discussed earlier it
covers many other types of testing. Cloud computing itself is often referred to as the marriage
of software as a service (SaaS) and utility computing. In regard to test execution, the software
offered as a service may be a transaction generator and the cloud provider's infrastructure
software, or may just be the latter. Distributed Systems and Parallel Systems mainly use this
approach for testing, because of their inherent complex nature. D-Cloud is an example of
such a software testing environment.
For testing non-internet applications, virtual instances of testing environment can be quickly
set up to do automated testing of the application. The cloud testing service providers provide
essential testing environment as per the requirement of the application under test. The actual
testing of applications is performed by the testing team of the organization which owns the
application or third party testing vendors.
16. Truba College of Science & Technology, Bhopal Cloud
Computing
UnitII
16 CompiledBy – Ms. Nandini Sharma
Tools
Leading cloud computing service providers include, among others, Amazon, Advaltis, 3-
terra, Skytap, HP and SOASTA.[9] Some of the tools for cloud testing include :
1. CloudTest
2. Soatest
3. HP LoadRunner
Benefits
The ability and cost to simulate web traffic for software testing purposes has been an
inhibitor to overall web reliability. The low cost and accessibility of the cloud's extremely
large computing resources provides the ability to replicate real world usage of these systems
by geographically distributed users, executing wide varieties of user scenarios, at scales
previously unattainable in traditional testing environments. Minimal start-up time along with
quality assurance can be achieved by cloud testing.
Following are some of the key benefits:
Reduction in capital expenditure
Highly scalable
Issues
The initial setup cost for migrating testing to cloud is very high as it involves modifying some
of the test cases to suit cloud environment. This makes the decision of migration
crucial. Therefore, cloud testing is not necessarily the best solution to all testing problems.
Legacy systems & services need to be modified in order to be tested on cloud. Usage of
robust interfaces with these legacy systems may solve this problem. Also like any other cloud
services, cloud testing is vulnerable to security issues.
The test results may not be accurate due to varying performance of service provider’s
network and internet. In many cases, service virtualization can be applied to simulate the
specific performance and behaviours required for accurate and thorough testing.
Virtual Desktop Infrastructure (VDI)
As the size of your enterprise increases, so does the scope of its technical and network needs.
Something as seemingly simple as applying the latest OS hotfixes, or ensuring that virus
definitions are up to date, can quickly turn into a tedious mess when the task must be
performed on the hundreds or thousands of computers within your organization.
VDI Allows One to Manage Many
A virtual desktop infrastructure (VDI) environment allows your company’s information
technology pros to centrally manage thin client machines, leading to a mutually beneficial
experience for both end-users and IT admins.
17. Truba College of Science & Technology, Bhopal Cloud
Computing
UnitII
17 CompiledBy – Ms. Nandini Sharma
What is VDI?
Sometimes referred to as desktop virtualization, virtual desktop infrastructure or VDI is a
computing model that adds a layer of virtualization between the server and the desktop PCs.
By installing this virtualization in place of a more traditional operating system, network
administrators can provide end users with ‘access anywhere’ capabilities and a familiar
desktop experience, while simultaneously heightening data security throughout the
organization.
Some IT professionals associate the acronym VDI with VMware VDI, an integrated desktop
virtualization solution. VMware VDI is considered the industry standard virtualization
platform; as such, all of triCerat’s solutions fully support VMware VDI workstations.
VDI Provides Greater Security, Seamless User Experience Superior data security: Because
VDI hosts the desktop image in the data center, organizations keep sensitive data safe in the
corporate data center—not on the end-user’s machine which can be lost, stolen, or even
destroyed. VDI effectively reduces the risks inherent in every aspect of the user environment.
More productive end-users: With VDI, the end-user experience remains familiar. Their
desktop looks just like their desktop and their thin client machine performs just like the
desktop PC they’ve grown comfortable with and accustomed to. With virtual desktop
infrastructure, there are no expensive training seminars to host and no increase in tech
support issues or calls. End- user satisfaction is actually increased because they have greater
control over the applications and settings that their work requires.
Other Benefits of VDI
Desktops can be set up in minutes, not hours
Client PCs are more energy efficient and longer lasting than traditional desktop
computers
IT costs are reduced due to a fewer tech support issues
Compatibility issues, especially with single-user software, are lessened
Data security is increased