cloud computing notes unit ii
Embed Size (px)
TRANSCRIPT
Truba College of Science & Technology, Bhopal
Truba College of Science & Technology, BhopalCloud Computing Unit II
CLOUD COMPUTING ARCHITECTURE
Cloud Reference ModelA 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 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 computingCloud computing is typically classified in two ways:1. Location of the cloud computing2. Type of services offeredLocation of the cloudCloud 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.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 cloudOrganizations 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 likeSalesforce cloud computingfor high/peak load requirements. This ensures that a sudden increase in computing requirement is handled gracefully.4. Community cloudinvolves 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 providedBased 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 areAmazon EC2,Amazon S3, Rackspace Cloud ServersandFlexiscale.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 areGoogle Application Engine, Microsofts 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 Googlesgmailand Microsoftshotmail,Google docsand Microsofts online version of office calledBPOS(Business Productivity Online Standard Suite).Cloud Portability and InteroperabilityPortability 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 iscloud 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 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 InteroperabilityA system that involves cloud computing typically includes data, application, platform, and infrastructure components, where: Datais the machine-process able representation of information, held in computer storage. Applicationsare software programs that perform functions related to business problems. Platformsare programs that support the applications and perform generic functions that are not business-related. Infrastructureis 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 InfrastructureNon-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.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 inData, 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 aredata portability,application portability, andplatform portability. These are the portability respectively of data, application, and platform components.Application interoperabilitybetween SaaS services and applications, andplatform interoperabilitybetween 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 ismanagement 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 asmarketplaces.Publication and acquisitionof 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 InteroperabilityData PortabilityData 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 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 PortabilityApplication 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 underApplication 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 asdevops. 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 PortabilityThere 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 portabilityThe UNIXoperating 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 inPlatform Source Portability.
Platform Source PortabilityMachine 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 inMachine Image Portability. It requires a standard program representation that can be deployed in different IaaS use environments.
Machine Image PortabilityApplication InteroperabilityApplication 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 transparencyFull 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 InteroperabilityPlatform 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 users identity, the authorization level established by the user for access control purposes, the users time-zone, the users language, and the users preferred cultural environment.Management InteroperabilityManagement 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 underApplication Portability.Publication and Acquisition InteroperabilityPublication and acquisition interoperability is interoperability between platforms, including cloud PaaS services, and marketplaces (including app stores).Cloud service providers often maintainmarketplacesfrom 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 organizations 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.ScalabilityOne 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 computingis 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 systemprovides 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. Multipleprocessors 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 asthe 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 serviceBusiness 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. Abusiness processis 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 ofinfrastructure 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 testingWhile 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 managementandcloud monitoring toolsenable providers to keep up with the continually shifting capacity demands of a highly elastic environment.Cloud monitoring andcloud service management toolsallow 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 andautomate provisioningof 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 frequentcloud outagesthat 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 traditionalIT 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 ofservice assuranceand 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 -- includingcloud service-level agreement(SLA) management,cloud capacity management, availability management andbilling-- and are applied to administrate a cloud delivery environment in a systemic way. These processes are supported with tools that trackprovisioningand 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 managementand 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 enterprisesthat build and manage their own private clouds, there are far fewer tools that meet the scale, security and performance requirements ofcloud providers. Beyond that, there are even fewer solutions that provide the comprehensive capabilities associated with the entire ITSM process for cloud providers, namelyorchestration.Cloud analyticsIt 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 ason-demand BIorcloud 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'sdata 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. Testingfirewallsandload 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 TestingStressStress 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 testingassures 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.LoadLoad testingof 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.PerformanceFinding out thresholds, bottlenecks & limitations is a part ofperformance 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.FunctionalFunctional testingof 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.CompatibilityUsing cloud environment, instances of different Operating Systems can be created on demand, making compatibility testing effortless.Browser performanceTo 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.LatencyCloud 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 TestingCompanies 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,RadViewandSOASTA. Once user scenarios are developed and the test is designed, these service providers leverage cloud servers (provided by cloud platform vendors such asAmazon.com,Google,Rackspace,Microsoft, etc.) to generateweb trafficthat 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 testing1. Understanding a platform provider's elasticity model/dynamic configuration method2. Staying abreast of the provider's evolving monitoring services andService Level Agreements(SLAs)3. Potentially engaging the service provider as an on-going operations partner if producingcommercial off-the-shelf(COTS) software4. Being willing to be used as a case study by the cloud service provider. The latter may lead to cost reductions.ApplicationsCloud 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 ofsoftware as a service(SaaS) andutility 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 SystemsandParallel Systemsmainly use this approach for testing, because of their inherent complex nature. D-Cloudis 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.ToolsLeading cloud computing service providers include, among others, Amazon, Advaltis, 3-terra, Skytap, HP andSOASTA.[9]Some of the tools for cloud testing include:1. CloudTest2. Soatest3. HP LoadRunnerBenefitsThe 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 incapital expenditure Highly scalableIssuesThe 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 providers network and internet.In many cases,service virtualizationcan 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 ManyA virtual desktop infrastructure (VDI) environment allows your companys 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 asdesktop 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 withVMware VDI, an integrated desktop virtualization solution. VMware VDI is consideredthe industry standard virtualization platform; as such, all of triCerats 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 centernot on the end-users 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 theyve 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
17Compiled By Ms. Nandini Sharma