Transcript
Page 1: Cloud computing notes unit II

Truba College of Science & Technology, Bhopal Cloud Computing Unit II

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

1 Compiled By – Ms. Nandini Sharma

Page 2: Cloud computing notes unit II

Truba College of Science & Technology, Bhopal Cloud Computing Unit II

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.

2 Compiled By – Ms. Nandini Sharma

Page 3: Cloud computing notes unit II

Truba College of Science & Technology, Bhopal Cloud Computing Unit II

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

3 Compiled By – Ms. Nandini Sharma

Page 4: Cloud computing notes unit II

Truba College of Science & Technology, Bhopal Cloud Computing Unit II

the enterprise to have complete control over personal data. On-boarding requires portability 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.

4 Compiled By – Ms. Nandini Sharma

Page 5: Cloud computing notes unit II

Truba College of Science & Technology, Bhopal Cloud Computing Unit II

Data components interoperate via application components rather than directly. There are no “data interoperability” interfaces.

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.

5 Compiled By – Ms. Nandini Sharma

Page 6: Cloud computing notes unit II

Truba College of Science & Technology, Bhopal Cloud Computing Unit II

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 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

6 Compiled By – Ms. Nandini Sharma

Page 7: Cloud computing notes unit II

Truba College of Science & Technology, Bhopal Cloud Computing Unit II

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:

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.

7 Compiled By – Ms. Nandini Sharma

Page 8: Cloud computing notes unit II

Truba College of Science & Technology, Bhopal Cloud Computing Unit II

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 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.

8 Compiled By – Ms. Nandini Sharma

Page 9: Cloud computing notes unit II

Truba College of Science & Technology, Bhopal Cloud Computing Unit II

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.

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

9 Compiled By – Ms. Nandini Sharma

Page 10: Cloud computing notes unit II

Truba College of Science & Technology, Bhopal Cloud Computing Unit II

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 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

10 Compiled By – Ms. Nandini Sharma

Page 11: Cloud computing notes unit II

Truba College of Science & Technology, Bhopal Cloud Computing Unit II

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 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

11 Compiled By – Ms. Nandini Sharma

Page 12: Cloud computing notes unit II

Truba College of Science & Technology, Bhopal Cloud Computing Unit II

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.

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.

12 Compiled By – Ms. Nandini Sharma

Page 13: Cloud computing notes unit II

Truba College of Science & Technology, Bhopal Cloud Computing Unit II

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. 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.

13 Compiled By – Ms. Nandini Sharma

Page 14: Cloud computing notes unit II

Truba College of Science & Technology, Bhopal Cloud Computing Unit II

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 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

14 Compiled By – Ms. Nandini Sharma

Page 15: Cloud computing notes unit II

Truba College of Science & Technology, Bhopal Cloud Computing Unit II

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.

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

15 Compiled By – Ms. Nandini Sharma

Page 16: Cloud computing notes unit II

Truba College of Science & Technology, Bhopal Cloud Computing Unit II

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.

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

16 Compiled By – Ms. Nandini Sharma

Page 17: Cloud computing notes unit II

Truba College of Science & Technology, Bhopal Cloud Computing Unit II

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.

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

17 Compiled By – Ms. Nandini Sharma

Page 18: Cloud computing notes unit II

Truba College of Science & Technology, Bhopal Cloud Computing Unit II

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

18 Compiled By – Ms. Nandini Sharma


Top Related