services_and_network_virtualization.pdf

Upload: lalatendurath5716

Post on 04-Jun-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/14/2019 Services_and_Network_Virtualization.pdf

    1/7

    Services and Network Virtualization: A Joint Solution Brief from Shunra and HP Software

  • 8/14/2019 Services_and_Network_Virtualization.pdf

    2/7 2012 Shunra Software Ltd. All rights reserved. Shunra is a registered trademark of Shunra Softw are. P

    A Shunra Software Solution Brie

    Executive IntroductionModern enterprise applications have reached an historiclevel of complexity. Today, applications are a compositeof distributed components, often running in a virtualizedor cloud server infrastructure. The rise and predominanceof mobile apps, as well as public cloud hosting, has takencontrol of the network and third-party services out of thehands of IT, development and testers. Last year, customers(end users) were satisfied with any working mobile access tocritical business service or consumer information; this year,any working access is not enough; this year, all critical andrequired features are expected to be available on an iPhoneor other smartphone and be accessible faster than froma desktop. The preference for mobile access has createdgreater pressure for agile development, with updated andimproved product releases often on a 30-day or faster cycle.

    Every layer of this complexity represents a potential point offailure. To combat this potential, we must adapt our methodsto reduce the risk of a poor user experience because thetrue cost of failure is more costly than ever. A poor userexperience is a lost customer. The design, test, monitor, andbreak/fix cycle we have lived with for 20 years will not workin todays modern application environment where 80% of thetotal cost of ownership of an application is directly attributedto finding and fixing problems post-deployment.

    More accurate and reliable testing could reduce this cost byone-third or more. However, achieving better testing is achallenge the distributed nature of composite applicationsand the dynamic conditions of mobile, Cloud and broadbandnetworks must be effectively and precisely incorporated intothe test environment, otherwise tests do not reflect real-world results.

    HP and Shunra offer a solution that recreatesservices, load, and network conditions in your testinglab. The integrated products and methodologyvirtualize the conditions of the real-world applicationand user environment so that you can reliably knowhow an end user will experience an application beforeit is deployed.

    This solution brief will introduce you to essential capabilities

    for virtualizing conditions in the test lab and provide youwith a methodology that has been demonstrated to improvetesting accuracy and reliability, reduce production incidentsby up to 60%, and deliver a return on investment with thevery first avoided remediation incident.

    A Day in the Life:A Single Online Purchase TransactionFor the end user, a mobile or online purchase may appearstraightforward. However, the resources and infrastructure

    required to provide accurate, timely and on occasion securetransactions are, in reality, complex.

    From the customers standpoint, the process looks rathersimple. Consider this example of a budding photographer inSan Francisco who is in the market for a new camera:

    Lets explore this transaction in more detail. The customer ison the west coast of the US; the online catalogue is createdand maintained in England; and the camera is manufacturedin China. Purchase of the camera requires an online paymentfrom the US payment processor. The product is shippedfrom China but the tracking system is located in the US. Ineach of these systems, many sub-components, or resources,are hosted in distributed environments, so this simpletransaction in effect circles the globe more than once.

    Even the most common online transactions may integratemultiple global components in order to deliver on a singlebusiness process, as shown in Figure 1.

    Figure 1 Even the simplest transaction may span the globe.

    1. The photographer checks out a retail site on his mobiledevice. He thinks that a certain model will be appropriate.

    2. Before making a decision, he consults with friends viasocial network apps, checks product reviews and alsolooks at three competitors catalogues again, all fromhis mobile device.

    3. He then decides to purchase the camera, and returnsto the site that has the second-best price but was highlyrecommend by a colleague at work.

    4. To complete the purchase he enters his onlinepayment information.

    5. When the payment is processed and approved, hereceives a notification and monitors the shipping servicestracking system to see when his new camera will bedelivered.

  • 8/14/2019 Services_and_Network_Virtualization.pdf

    3/7 2012 Shunra Software Ltd. All rights reserved. Shunra is a registered trademark of Shunra Softw are. P

    A Shunra Software Solution Brie

    The process is supported by a complex infrastructure,requiring multiple steps and turns in order to share andtransfer data. In the case of third party resources beingaccessed, even those resources may rely on equallydistributed systems. For the business provider, this simpleend user transaction is not as simple as it would seem.

    While a customer should be blissfully unaware of themultitude of subtransactions that are occurring behindthe scene, or how much time each subtransaction adds tothe total purchase process, performance information foreach subtransaction is crucial to those responsible for anycomponent in the process. Shaving even a few millisecondsat each stage can significantly impact overall transactiontime, marking the crucial difference between a successfulpurchase and site abandonment.

    The distributed nature of composite applications and theglobal networks required to support the applications and endusers makes ensuring performance a critical challenge thatbusinesses must overcome. Poor performance, especiallyon mobile devices, has been clearly demonstrated toincrease abandonment, causing both revenue loss and branddamage. Therefore, every stakeholder in the process ortransaction must be aware of their contribution to applicationand infrastructure performance (ultimately to end userexperience) and adherence to established service levelobjectives (SLOs). These stakeholders include applicationdevelopers and testers, CDN suppliers, mobile and webservice providers, online retailers, etc.

    As end users continue to demand fast, reliable, ubiquitousaccess to information, and as competition betweenbusinesses increases, organizations must get applicationsright the first time; there is no second chance to make a firstimpression and secure customer loyalty.

    Enhancing the Development & TestingProcessTo maintain competitive advantage, enterprises mustconstantly find ways to accelerate their time to market, whileremaining flexible enough to meet rapidly changing corporateand end user requirements. Organizations accomplish thisby adopting Agile processes and by incorporating a serviceoriented architecture in their development projects.

    Agile development processes are designed to deliverfrequent, working iterations of software, or specific softwarefunctions, by shortening feedback cycles and promotingjust-in-time delivery of required functionality. With theseshorter development cycles, code is continuously testedand integration errors are detected quickly. By incorporatingparallel development processes, teams can continuedevelopment even if another feature or dependency isprogressing at a slower pace. Agile processes are more

    flexible and allow for faster responses to business needswithout significantly raising costs, but there is an additionalrequirement that quality be built into each developmentiteration.

    To further speed development processes and introduce moreefficiency into development resources, applications are oftenbroken up into individual components, or smaller units offunctionality, or services. Services are an essential part ofmost business applications. Services can be applications,systems or components that expose their functionality witha remotely accessible interface in order to allow seamlessintegration with other applications and systems. Web servicesare typically referred to as Simple Object Access Protocol(SOAP) or REpresentational State Transfer (REST), and areusually accessible over HTTP/HTTPS.

    These services, which can be re-used by different projectteams and accessed by different composite applications,may be developed internally or accessed from third parties.The availability of reusable and pre-built services savesconsiderable time and helps development teams remain onbudget. As with Agile processes, though, there is a quality orperformance consideration that must be taken into accountas services are subject to the same network constraints asend users bandwidth, latency, jitter and packet loss. Theadditive effect of even a simple network delay betweenservices can be devastating to end user experience.

    Service VirtualizationThe distributed nature of composite applications posessignificant risk to development and testing teams. If there

    are dependencies on services that are not available whendevelopers and testers require access, the developmentand delivery process can in effect slow down or, worse, bepursued in an incomplete and unreliable manner. Testingwithout application dependencies is an imprecise approachthat can lead to costly failures in production, but thechallenges of bringing limited or unavailable services into thetest environment can be just as daunting.

    However, testing an application without consideration fordependent services can lead to false positives regardingboth functionality and performance. Waiting for periods

    of availability for all required services, or creating a testenvironment that relies on production-available services, willsignificantly increase costs and delay both the developmentand delivery of the application, putting project success atrisk.

    One option is code stubbing but this is a manually-intensiveprocess that provides little flexibility (without manual re-coding) and is not a suitable alternative when consideringthe breadth of services that may be depended upon by acomposite application and the need to test those services

  • 8/14/2019 Services_and_Network_Virtualization.pdf

    4/7 2012 Shunra Software Ltd. All rights reserved. Shunra is a registered trademark of Shunra Softw are. P

    A Shunra Software Solution Brie

    under a multitude of conditions.

    To improve testing reliability and to account for dozens,and perhaps hundreds or more, services, organizations areadopting the best practice of service virtualization. Servicevirtualization eliminates the need to rebuild a redundanttest environment, access production systems or recreate aproxy to mimic service behaviors. This is accomplished byenabling a script-less, spreadsheet-like definition of servicebehavior and a user interface that provides control ofvirtual service models from within functional testing tools.

    This simulated environment enables developers and testersto replace targeted production services with virtualizedservices that can be immediately accessed for functionaland performance testing, even if the actual services are notavailable. Service virtualization also provides for the abilityto simulate service behavior for testing specific use casesor troubleshooting problem areas.

    HP Service VirtualizationHP Service Virtualization enables simulation models tobe quickly created from service interface specifications,recorded from real or logged communication, loaded fromstatic data sources, or reused from previous projects andmodels.

    HP Service Virtualization helps to isolate problems that arebased on dependencies between services in compositeapplications. This can significantly reduce delays and helpmanage the costs and complexity of composite applicationdevelopment and testing. Application teams can then shift

    left and find defects related to dependencies on servicesearlier in the Software Development Life Cycle (SDLC). Thislowers costs and reduces testing times by detecting issueswhen they are easier, faster and less expensive to fix. Inaddition, QA teams are able to test a more completeproduct earlier in the cycle.

    HP Service Virtualization assists development teams tobecome truly agile by accelerating release cycles throughparallel development and by introducing testing earlier inthe cycle without the necessity of having the end systemfully developed and ready. In addition, it enables functional

    and performance engineers to imitate negative behavior,scalability or breakdown of dependent systems. Engineerscan then effectively provision testing environments andminimize usage of high-cost business critical infrastructure.HP Service Virtualization can also reduce infrastructurecosts related to test environments, including hardware,software licenses, and maintenance. It allows reductionof third-party costs incurred by running repetitivefunctional and performance tests that access pay-per-usecomponents.

    Figures 2 and 3 show a typical testing environment

    along with the components and services that may needto be virtualized in order to accurately and reliably test anapplication.

    Figure 2 Typical test environment BEFORE virtualization.

    Figure 3 Typical test environment AFTER virtualization.

    Network VirtualizationHowever, Service Virtualization alone does not address akey component affecting application behavior and end userexperience. Network conditions such as latency, limitedbandwidth, packet loss, and jitter, are all critical factorsthat must be taken into account when testing or validatingapplication performance, especially when considering themultiple network connections required to support 3rd partyservices and external resources.

    Just as it is challenging and costly to bring real-world servicesinto the test environment, the real-world networks affectingthese services and the end user represent, at best, adaunting task to incorporate into a test environment isolatedbehind a firewall. The global mobile network, for example, is

  • 8/14/2019 Services_and_Network_Virtualization.pdf

    5/7 2012 Shunra Software Ltd. All rights reserved. Shunra is a registered trademark of Shunra Softw are. P

    A Shunra Software Solution Brie

    a communication channel that is in a continual state of flux,with dynamic conditions dictated on a moment-by-momentbasis according to carrier, connection type, connectionstrength, time of day, location and myriad other factors.

    In the absence of real-world conditions, testing will yieldunreliable results as the effect of the network on the enduser experience, as well as communication with externalservices, remains unaccounted for. As with services,virtualizing network conditions in the test lab is essentialto creating a realistic environment for testing that yieldsaccurate and reliable insight into application behavior.

    With the massive global uptake in mobile devices and the riseof cloud computing, the effect of the network has becomeeven more pronounced since conditions across the last mileaffect performance more than other factors, and mobileconditions in particular are intrinsically dynamic. Therefore,incorporating network virtualization is particularly crucialwhen any mobile or cloud component is part of the scenario.

    Shunra Network Virtualization The first step required to implement network virtualizationis to discover the real-world network conditions affectingend users and application services. Shunra NetworkCatcherunobtrusively captures production network constraints likebandwidth, latency, jitter and packet loss. Recorded intervalstatistics can then be re-played in the test environment inorder to impair the test network.

    For example, virtualized network impairments, such as highjitter rate and limited available bandwidth, can be emulated in

    the test lab so that the effect of the network on transactionresponse time can be reliably and accurately measured.

    In addition to capturing real-world network conditions,Shunras network virtualization solutions include a GlobalLibrary of mobile and broadband network conditions. Thislibrary, built on millions of data points, provides typical, bestand worst case conditions recorded from major cities aroundthe world.

    With Shunras network virtualization technologies, customimpairments can be applied to determine the specific effecton application and network behavior in order to emulateworst case scenarios or to troubleshoot specific in-productionproblems. Shunras technology also provides the ability toexecute tests, analyze results and remediate or optimizeperformance.

    Implementing Network Virtualizationwith Service Virtualization: A Real-WorldExampleIn order to generate reliable tests on which business andtechnical decisions can be confidently made, the test labmust accurately represent the real-world conditions anddependencies available in the production environment. As

    weve discussed, it is neither practical nor cost-effective toacquire or replicate these elements only for the lab. Rather,network and service virtualization are employed, workingin concert to ensure a precise, emulated environment isavailable for application testing and troubleshooting. HPService Virtualization and Shunras Network Virtualizationcapabilities are pivotal to the enablement of a consistent andtrustworthy test environment.

    HP Service Virtualization enables simulation of functionaland response behavior of otherwise limited or unavailableapplication components. Testers can leverage Service

    Virtualization to emulate negative behavior or a breakdownof dependent systems and retest the application with variousbackend performance characteristics.

    With Shunra network virtualization capabilities, testersincorporate network factors into the lab environment anddesign tests with various network conditions such as highlatency or those of a mobile user over 3G with a specificcarrier. These impairments are applied to the networkconnections between the application, its virtualized services,and virtual users, creating a virtual network topology thatemulates the production network. Performance analysis of

    the transactions with these impairments identifies whichcomponents of the application and infrastructure are sensitiveto network factors. Development teams can then optimizeapplication performance and determine the best deploymentconfiguration.

    Returning to our first example of a shopping transaction,Figure 4 indicates the components of an end-to-endperformance approach, incorporating load testing withnetwork and service virtualization integration. Thisenables testing of an entire business process using variedperformance characteristics, such as peak load with high

    network latency, or a mixed scenario with both mobile andlandline users. Performance testers can then emulate a loadtesting scenario with real-world conditions for complex,composite applications, and test various limiting performancescenarios.

  • 8/14/2019 Services_and_Network_Virtualization.pdf

    6/7 2012 Shunra Software Ltd. All rights reserved. Shunra is a registered trademark of Shunra Softw are. P

    A Shunra Software Solution Brie

    Figure 4 An end-to-end performance testing approach.

    Drilling down into one specific segment of the transaction the shipping service we can illustrate precisely hownetwork conditions impact load test results by looking at realtest results.

    The HP LoadRunner screenshots in Figure 5 below showan integrated load, service virtualization and networkvirtualization test. HP LoadRunner is employed to identifythe scalability of the transactions and how quickly they areprocessed.

    Figure 5 Integrated load, service and network virtualization,

    within the HP LoadRunner interface.

    The service level objectives, in this case, are provided bythe shipper, and the web service definition required torecreate the virtual service are provided in the shippersdocumentation. The test is designed to determine theapplication servers response time to queries under typical,stress and edge conditions so that server performance canbe adjusted.

    To recreate the distributed systems of the shipping service,virtualized services are defined inside the HP LoadRunnerController GUI. Within the HP LoadRunner scenario, threevirtual users (VUsers) are defined:

    a baseline VUser represents a single local user

    a remote VUser is created to signify a user who accessesthe tracking system from San Francisco.

    an additional mobile VUser is defined with impairednetwork conditions that represent a weak mobile networkcondition.

    The network conditions, including mobile profiles, aredefined by Shunra for HP Software which is integrated intothe HP LoadRunner user interface. Once a simulation andperformance model are defined, the test is run first with onlythe single local user, then with the remote user added, andfinally with the mobile user.

    Test results are analyzed to determine bottlenecks and otherperformance issues. Figure 6 shows the incremental impact

    on response time as users were added to the test. As youcan see, a slight increase in response time was experiencedwhen the remote user (VUser) from San Francisco was addedto the test. However, a marked increase resulted from adding

    just a single mobile user, nearly 2 additional seconds.

    Figure 6 The incremental impact on performance when additional

    users are added is clear.

    As a result of this testing and analysis, testers recognizedthe need to test the effect of additional mobile users whileacknowledging that even these results were sufficient enoughto warrant improvements in the application response time.

    SummaryIT environments today support hundreds of applicationswith dependencies on hundreds or more distributedservices. This complexity and the required integration

    of dependencies and application resources is placing aburden on development and QA teams responsible for testingand validating application performance. Traditional methodsof development and delivery are not effective in attaininghigh quality application performance in rapid time frames.Therefore, organizations have adopted Agile methods ofdeveloping software and instituted distributed infrastructureconfigurations. However, these systems can also complicatedevelopment, testing and IT by creating a requirement fornew tools and processes that ensure quality and end userexperience.

  • 8/14/2019 Services_and_Network_Virtualization.pdf

    7/7

    North America, Headquarters1800 J.F. Kennedy Blvd. Ste 601Philadelphia, PA USATel: 215 564 4046Toll Free: 1 877 474 8672Fax: 215 564 4047 [email protected]

    Israel Office6B Hanagar StreetNeve Neeman B Hod Hasharon45240, Israel Tel: +972 9 764 3743Fax: +972 9 764 [email protected]

    European Office73 Watling StreetLondonEC4M 9BJ Tel: +44 207 153 9835Fax: +44 207 285 [email protected]

    Call your Local ofce TODAY to nd out more!For a complete list of ouchannel partners, pleasevisit our websitewww.shunra.com

    Application Performance Engineering

    A Shunra Software Solution Bri

    For more information on HP Service Virtualization,visit www.hp.com/go/sv.

    For more information on Shunra Network Virtualization, visit www.shunra.com/nv.

    Copyright 2012. Shunra Software. All rights reserved.The information contained herein is subject to change without notice.The only warranties for products and services are set forth in the expresswarranty statements accompanying such products and services. Nothingherein should be construed as constituting an additional warranty. Shunrashall not be liable for technical or editorial errors or omissions containedherein. Shunra, the Shunra logo and Shunra product names are trademarksor registered trademarks of Shunra Software. HP, the HP logo and HPproduct names are registered trademarks of HP and/or its affiliates. Allother trademarks are the property of their respective owners.

    Leveraging integrated Network and Service Virtualizationenables readily available real-world environments fordevelopers and testers. The virtualized test environmentencourages acceleration throughout the development cyclewhile delivering reliable insight into expected applicationbehavior. The unavailability or high cost of services,systems and networks is no longer an excuse for inaccuratefunctional, load and performance test results.

    Service and Network Virtualization allow testing earlier andmore often in the application lifecycle when it is easier andless expensive to fix defects. Issues can be discoveredand corrected well before a product is released, helpingorganizations to protect revenue, productivity and brandinvestments.

    Shunra Network Virtualization and HP Service Virtualizationprovide the only complete and integrated virtualizationsolution for end-to-end performance testing of distributedapplications on the market. This capability ensures thatextremely complex distributed systems achieve desiredlevels of quality and performance by being able to test userexperience and application performance across all levelsof application architecture and against real-world networkconditions.

    By employing Shunra Network Virtualization and HP ServiceVirtualization technologies early and often in the testing anddevelopment cycle:

    Testing processes are shifted left in the development cycle,enabling issues to be detected and remediated when it ismost cost-effective to do so;

    Application performance and adherence to service levelobjectives is validated before deployment;

    Agile development processes and time-to-market are faster,as more accurate and reliable parallel development occurs;

    Testing environment costs are significantly reduced due tothe availability of virtualized services, systems and networks.