Next-Generation Performance Testing with Service Virtualization and Application Performance Management



Similar documents
Crossing the DevOps Chasm

can you effectively plan for the migration and management of systems and applications on Vblock Platforms?

solution brief September 2011 Can You Effectively Plan For The Migration And Management of Systems And Applications on Vblock Platforms?

can you improve service quality and availability while optimizing operations on VCE Vblock Systems?

WHITE PAPER NOVEMBER Eliminate Software Development and Testing Constraints with Service Virtualization

Transforming IT Processes and Culture to Assure Service Quality and Improve IT Operational Efficiency

Service Virtualization CA LISA introduction. Jim Dugger CA LISA Product Marketing Manager Steve Mazzuca CA LISA Public Sector Alliances Director

IntelliNet Delivers APM Service with CA Nimsoft Monitor

how can I improve performance of my customer service level agreements while reducing cost?

Eliminate Software Development and Testing Constraints with Service Virtualization

A to Z Information Services stands out from the competition with CA Recovery Management solutions

How To Improve Your It Performance

agility made possible

SOLUTION BRIEF CA SERVICE MANAGEMENT - SERVICE CATALOG. Can We Manage and Deliver the Services Needed Where, When and How Our Users Need Them?

assure the quality and availability of business services to your customers

Don t Go In Blind: Navigating the Journey to the Cloud. agility made possible

How To Be A World Class Data Center

Service Virtualization and implementation

CA Workload Automation for SAP Software

CA Clarity PPM. Overview. Benefits. agility made possible

CA Application Performance Management Cloud Monitor

can you simplify your infrastructure?

how can I deliver better services to my customers and grow revenue?

agility made possible

SOLUTION BRIEF CA Cloud Compass how do I know which applications and services to move to private, public and hybrid cloud? agility made possible

how can I comprehensively control sensitive content within Microsoft SharePoint?

CA Service Desk Manager

Identity and Access Management (IAM) Across Cloud and On-premise Environments: Best Practices for Maintaining Security and Control

how can you stop sprawl in your IT infrastructure?

are you helping your customers achieve their expectations for IT based service quality and availability?

Work Smarter, Not Harder: Leveraging IT Analytics to Simplify Operations and Improve the Customer Experience

CA Explore Performance Management for z/vm

Technology Partner Program

agility made possible

CA ERwin Data Modeling's Role in the Application Development Lifecycle

can I consolidate vendors, align performance with company objectives and build trusted relationships?

agility made possible

SOLUTION BRIEF BIG DATA MANAGEMENT. How Can You Streamline Big Data Management?

agility made possible

CA Technologies optimizes business systems worldwide with enterprise data model

Leveraging Mobility to Drive Productivity and Provide a Superior IT Service Management Experience

Application Release Automation with Zero Touch Deployment

Picis improves the delivery of client projects worth $50 million with CA Clarity PPM

Elevate the Consumer Experience: Creating a Win-win for Both IT and its Consumers

CA Endevor Software Change Manager Release 15.1

CA Virtual Assurance for Infrastructure Managers

The Future of Workload Automation in the Application Economy

An Enterprise Architect s Guide to API Integration for ESB and SOA

ROI Business Use Case. Cross-Enterprise Application Performance Management. Helps Reduce Costs & MTTR, Simplify Management, Improve Service Quality

Redefining Infrastructure Management for Today s Application Economy

Fujitsu Australia and New Zealand provides cost-effective and flexible cloud services with CA Technologies solutions

Service Virtualization and IT Nowadays

How Can I Deliver Innovative Customer Services Across Increasingly Complex, Converged Infrastructure With Less Management Effort And Lower Cost?

BancoEstado achieves greater data efficiency and system development agility with CA ERwin

CA Workload Automation CA 7 Edition r11.3

agility made possible

How Can Central IT Use Cloud Technologies to Revolutionize Remote Store Operation?

CA NSM System Monitoring Option for OpenVMS r3.2

SOLUTION BRIEF Enterprise Mobility Management. Critical Elements of an Enterprise Mobility Management Suite

How To Use Ca Product Vision

CA Automation Suite for Data Centers

Stefanini helps customers achieve cost avoidance savings with CA Service Desk Manager

The Advantages of a Predatory Retail Enterprise

Service Catalog Management: A CA Service Management Process Map

Can I Optimize the Value and Service Levels of My SAP Platforms and Applications While Lowering Risk and Staying Within Budget?

Evolving the IT Service Experience to Meet New Business and User Demands

protect your assets. control your spending

Sicredi improves data center monitoring with CA Data Center Infrastructure Management

IT Financial Management and Cost Recovery

Data Modeling for Big Data

Radix Technologies China establishes compelling cloud services using CA AppLogic

CA SYSVIEW Performance Management r13.0

KASIKORNBANK eliminates nearly 30,000 helpdesk calls a year with automated identity management

Faster Development Through Virtualization

When It Needs to Get Done at 2 a.m., That s when you can rely on CA Workload Automation

Proactive Performance Management for Enterprise Databases

Grants Management for CA Clarity PPM gives you the confidence to choose the RIGHT applicants, make the RIGHT decisions, award the RIGHT funds, and to

agility made possible

Broadcloud improves competitive advantage with efficient, flexible and scalable disaster recovery services

Business Service Management Links IT Services to Business Goals

Dynamic Data Center Update:

Use service virtualization to remove testing bottlenecks

PGi halves the time-to-market for new products with cloud infrastructure solutions from CA Technologies

CA Workload Automation

Authentication Strategy: Balancing Security and Convenience

A FinCo Case Study - Using CA Business Service Insight to Manage Outsourcing Suppliers

Building a Roadmap to Robust Identity and Access Management

CA Chorus for Security and Compliance Management Deep Dive

defending against advanced persistent threats: strategies for a new era of attacks agility made possible

Service Virtualization:

identity as the new perimeter: securely embracing cloud, mobile and social media agility made possible

CA Endevor Software Change Manager Version 15.0

Nordea saves 3.5 million with enhanced application portfolio management

CA SOLVE:Central Service Desk for z/os

CA NetSpy Network Performance r12

Project and Portfolio Management for the Innovative Enterprise

CA Business Service Insight

Sallie Mae slashes change management costs and complexity with CA SCM

CA Capacity Manager. Product overview. agility made possible

How Can I Better Manage My Software Assets And Mitigate The Risk Of Compliance Audits?

Transcription:

Next-Generation Performance Testing with Service Virtualization and Application Performance Management By Akshay Rao, Principal Consultant, CA Technologies Summary Current approaches for predicting with a high degree of confidence the application performance prior to implementation into production can be antiquated, expensive and time consuming. This document outlines a next-generation performance management approach being adopted by progressive organizations around the world. Adopting a next-generation performance management approach can offer a range of benefits including efficiency gains in delivering applications, cost savings, improved agility and better performing applications. For organizations that increasingly rely on technology to provide value to stakeholders improving application delivery capability is critical to remaining competitive and relevant. Background Performance has always been an important component of application quality but the growth in online channels of interaction means that for many organizations performance is now critical. Poor performance can impact customer experience, revenues, profitability, brand and in some cases the viability of organizations. The importance of performance has increased at the same time as application workloads have grown larger and more unpredictable; unfortunately there have been few corresponding improvements in the tools and techniques for predicting and tuning application performance. This paper examines some of the issues that may be associated with traditional performance management techniques and describes how solutions from CA Technologies can help address these issues. Performance Management: Current State Application performance is typically managed through a combination of end-to-end performance testing and application monitoring. The intent of application monitoring is to detect performance problems that occur in the production environment and provide information to assist support teams to diagnose and resolve the root cause of issues before end users are impacted. Application monitoring capabilities vary greatly with some organizations having almost no capabilities while others have very mature approaches. What tends to be consistent across all organizations is that there is very little integration between application monitoring and end-to-end performance test functions. End-to-end performance testing is currently one of the approaches organizations have to proactively ensuring application performance. This activity typically occurs at the end of the delivery lifecycle in an environment that attempts to replicates production and is usually performed by using a load testing tool to simulate a large number of concurrent users accessing the applications user interface. Whilst common, this approach can have a number of issues: it can only be done late in the lifecycle, requires large amounts of infrastructure, seldom replicates production to the appropriate level, fails to allow the majority of negative testing conditions, and the provisioning of appropriate test data sets is very challenging. 1

Lifecycle stage Traditional performance testing typically requires that all components of the application are completed, integrated and deployed into an appropriate environment. These requirements mean that this testing usually occurs near the very end of the delivery lifecycle. There are a number of challenges associated with the late execution of performance testing, including: Shrinking windows. Software delivery projects have a tendency to slip schedules; as a result there is often pressure to reduce the time spent on late lifecycle activities such as performance testing. This effect is compounded by the unpredictable nature of project delays. As performance testing is often carried out by a centralized center of excellence, a delay in one project can impact the windows available for multiple projects. Cost of quality. The longer a defect goes undetected then the more it can cost to repair this is particularly true of performance defects which are often a consequence of the application architecture. Performance testing late in the lifecycle means that performance issues are not detected until the last minute, fixes are typically very expensive and may require staff that have long since moved to other projects. Schedule conflicts. Testing of multiple channel applications that access shared EIB/middleware and system of records can cause scheduling constraints unless you have a mirrored configuration of your production environment available for performance testing including separate networks, network components, as well as the rest of the application infrastructure up to and including your mainframes. This approach can be very expensive to build and support and still will not allow for the simulation of System of Record, partner or database slowdown conditions. Overlapping releases. Overlapping SDLC releases add complexity to the ecosystem in that you need the capability to test multiple code releases concurrently. The ability to fund and support multiple end-to-end performance testing environments is just not prudent for most large organizations. Infrastructure requirements End-to-end performance testing needs to occur in an environment that replicates production. The costs associated with providing these environments have grown rapidly over recent years and look set to escalate even further. These cost increases are driven by a number of factors, including: Application workloads continue to grow rapidly, requiring increased amounts of infrastructure to support those workloads The evolution of composite application architectures means that applications are often made up of a large number of component applications. Even a relatively simple service might require a significant subset of an organization s application portfolio to be assembled to support an end-to-end test. The increased adoption of web services means that many applications are dependent on web services provided by thirdparties. Those third-parties may charge additional fees for access to test interfaces and the availability and performance of those interfaces may not be identical to the production versions The high costs involved in the provision of infrastructure for end-to-end performance testing mean that most organizations have very few suitable environments and a high degree of contention for those environments. Cost and complexity also mean it is increasingly common for end-to end test environments to differ substantially from production, further increasing the risk of production performance issues. 2

Test data management The management of performance test data for modern applications presents a number of challenges. Composite applications typically have multiple data stores that need to be provisioned with test data and synchronized. Higher workloads mean that the volume of data required for a realistic test is greater than ever before. In addition, privacy regulations mean that the use of production data for performance testing is no longer an option for many organizations. Test data management is typically the most costly and time consuming activity involved in running a performance test. To complicate test data management further, a fair number of tests are destructive thus the need to reset, or condition, the data for the next test adds time and complexity to the schedule. Next-Generation Performance Management As outlined above many current approaches to ensuring applications deliver adequate levels of performance are flawed. Performance problems are typically not detected until very late in the delivery lifecycle, at best, or in production, at worst. In addition the costs and time taken to detect and resolve performance issues are often unacceptably high and continue to grow. Fortunately, there is an alternative approach for organizations wishing to address the growing cost and ineffectiveness of traditional approaches to performance management. A number of organizations are finding that component-based performance testing coupled with advanced Application Performance Management solutions from CA Technologies can address these issues. Component-based performance testing Modern applications are typically component-based: application components leverage services provided by other components often via an ESB or integration layer as illustrated in the diagram below. Note that this diagram is very much a stylized representation of a component-based architecture and typically interactions between the various components are much more complex than indicated below. Figure A. Component-based architectures 3

Component-based architectures are both a challenge and an opportunity; they are a challenge as they contribute significantly to the cost of infrastructure, however they do present us with the opportunity to test performance at the component level. Component level performance testing is where we only test the component(s) that have changed; this approach is potentially beneficial for a number of reasons: Smaller scale component level tests are much easier and cheaper to run than full end-to-end tests. Testing can commence once the component is available, which usually occurs much earlier in the lifecycle than availability of the full system. Often only a few components change. Component-based testing lets teams focus on testing changes as opposed to end-to-end testing which tends to dilute testing effort. For this reason component-based testing is much more likely to find defects. The ability to find the true break point of a given application. Component level testing allows for the isolation of the changing application so that we can focus more deeply in testing of: Resiliency testing for fail over The impact to the application of a service provider slowdown Exercising capacity above our current peak production numbers. Operational testing of alerts, monitoring triggers, and production automation scripts prior to implementation of the changes into production While component-based testing is an attractive concept, it has been very difficult to actually implement in practice. There are typically two main barriers, firstly the ability to isolate a component and secondly the intelligence around a component s interactions. Isolation refers to our ability to run a component or group of related components without requiring access to their dependencies. For example consider the ESB component in Figure A, this has dependencies on all of the lower tier components and cannot be run or tested without those components being available. We would ideally like to test the ESB without having to make all these dependencies available. Many organizations make use of hand-coded stubs to isolate components. A stub is a simple piece of code that simulates the behavior of a component. Whilst stubs are often useful for development purposes they are labor intensive to create and usually not well suited to performance testing. In order to be able to use stubs for performance testing we need to be able to control how they perform. The developers who typically build stubs are usually not interested in modeling performance, and doing so would greatly increase the cost of stub creation and maintenance. To implement component-based performance testing we need a method of rapidly building intelligent stubs that are capable of simulating a range of different performance scenarios. We also need intelligence about the behavior of the component under test and its dependencies; this intelligence is used to design our performance scenarios and to tune the behavior of the intelligent stubs. 4

Figure B. Intelligence to support component-based performance testing Expected interactions sequence, timing, frequency? Realistic performance characteristics response time, failure rate As an example, consider a scenario where we would like to run a performance test against the ESB component shown in the diagram above to determine whether some changes to existing services have impacted performance. We would like to make this test as accurate as possible so we need to understand what ESB services are typically called and the sequence and frequency of these calls. If we are to replace the downstream dependencies with stubs we need intelligence on how those dependencies perform to ensure our testing is realistic. The CA Technologies component-based performance testing solution CA Technologies can provide organizations with a comprehensive solution designed to address the issues around isolation and intelligence. CA LISA Service Virtualization addresses the problem of providing intelligent stateful stubs through its ability to observe then simulate the behavior of dependent systems. The use of service virtualization can reduce or eliminate a large amount of manual effort and produces stubs which can be used in many lifecycle phases, including performance testing. The CA Application Performance Management (CA APM) offering is able to monitor production application performance at all tiers and feed the gathered intelligence back to the performance test team to support component-based testing efforts. Integration between the APM and service virtualization offerings greatly assists the performance test team in acquiring and utilizing the gathered intelligence. The integration between these offerings delivers some other areas of value that might be exploited by a performance testing group. Data gathered from the production systems by CA APM can be used to automatically generate test cases in CA LISA Pathfinder, another module in the CA LISA suite. Automatic generation of test cases for use in functional or performance testing may well justify supplementing or replacing existing test automation solutions. In addition, the ability of CA APM to monitor behavior across and within application tiers is very useful to the performance testing and development teams. The root cause of many performance related problems detected in testing can be quickly and easily identified through the use of CA APM. The diagram above provides a high level view of the components involved in the next-generation performance management approach. Production data is mined by CA APM and used to provide intelligence to the Service Virtualization and Test components for CA LISA Pathfinder. This intelligence can then be used to performance test a specific component in isolation, thus minimizing the time and infrastructure required for testing. 5

Figure C. Next-generation performance management Additional benefits This document has focused on the use of CA LISA combined with CA APM to enable component-based performance testing. The value of these solutions is far greater than the specific uses outlined in this document. More information on these solutions can be found at ca.com/lisa. Adopting Next-Generation Performance Management There are a number of organizations around the world who have adopted or are in the process of adopting next-generation performance testing. The most mature organizations never perform end-to-end performance tests and typically leverage service virtualization for functional testing and development purposes as well. Mature organizations can often see a number of benefits from the adoption of next-generation performance management, these include: Reduced infrastructure costs through virtualizing expensive dependencies Reduction in time taken to set-up and manage testing environments as a result of fewer moving parts Reduced test data management effort (Virtualizing dependencies means that only interface data is required, not full dependent system data stores. Interface only data is easier to create and synchronize with other systems) Improved quality as a result of being able to focus testing on changed or new components Ability to concurrently test multiple applications within the eco-system Ability to concurrently test multiple CODE BASES within the same timeframe Deeper level of resiliency testing which is critical to the production operations 6

Adopting these practices and achieving these outcomes is not something that can be achieved overnight. Supporting technology must be deployed, people trained, assets and procedures created, and trust must be earned. In most organizations there are opportunities to start small and build up the necessary competencies whilst delivering a number of quick wins. Service virtualization can be deployed as a point solution to address the unavailability of key systems in preproduction. CA APM can be deployed in parallel to initially address the needs of operations groups. As APM data becomes available, it can be used to drive the increased adoption of service virtualization and component-based testing. As applications become increasingly more complex and reliant on component-based architectures and third-party cloud systems, the traditional performance testing approach of building a production replica will become more and more difficult. For most organizations, the move to next-generation performance management is probably inevitable. Agility Made Possible: The CA Technologies Advantage CA Technologies (NASDAQ: CA) provides IT management solutions that help customers manage and secure complex IT environments to support agile business services. Organizations leverage CA Technologies software and SaaS solutions to accelerate innovation, transform infrastructure and secure data and identities, from the data center to the cloud. CA Technologies is committed to ensuring our customers achieve their desired outcomes and expected business value through the use of our technology. To learn more about our customer success programs, visit ca.com/customer-success. For more information about CA Technologies go to ca.com. Copyright 2013 CA. All rights reserved. All trademarks, trade names, service marks and logos referenced herein belong to their respective companies. This document is for your informational purposes only and to the extent permitted by applicable law, CA provides it as is without warranty of any kind, including, without limitation, any implied warranties of merchantability, fitness for a particular purpose, or noninfringement. The information in this document is based upon CA s experiences with the referenced software products in a variety of development and customer environments. Past performance of the software products in such development and customer environments is not indicative of the future performance of such software products in identical, similar or different environments. In no event will CA be liable for any loss or damage, direct or indirect, from the use of this document, including, without limitation, lost profits, business interruption, goodwill or lost data, even if CA is expressly advised in advance of the possibility of such damages. CA does not provide legal advice. Neither this document nor any software product referenced herein serves as a substitute for your compliance with any laws (including but not limited to any act, statute, regulation, rule, directive, standard, policy, administrative order, executive order, and so on (collectively, Laws )) referenced herein or any contract obligations with any third parties. You should consult with competent legal counsel regarding any such Laws or contract obligation. CS200-17205_0713