Perhaps I’m getting old, but there seems to be fewer new and exciting ideas these days, as our society instead turns to reinventing or reimagining things from the past. In 2013 Hollywood produced 37 sequels and 11 “reboots” – is it that there are no original ideas left? Do the costs associated with taking a movie to market prohibit proceeding with a riskier proposition? Or is there some genuine merit to taking an inherently good idea and improving it for a modern audience?
Much like our counterparts in the movie world, the IT industry seems to have adopted reboots, sequels and re-imaginations. There are many buzz words that large corporations throw around, especially the last couple of years, which could be perceived as sequels to old ideas.
For the past few years, few topics has been more widely discussed than ‘the cloud’ – a re-imagination of centralised datacentres and services only with outsourced tin and wire.
Often considered a revolution, Agile has seen huge uptake and momentum this past three years, an evolution of RUP and XP. It is a great sequel which builds on the original and takes it in glorious new directions, but it is not a new idea.
More recent we are being told of Network Virtualisation, a half-hearted attempt to launch WAN Emulation to a Gen Y audience and something I used back in 2001.
Same goes with Service Virtualisation. Testers and developers have been writing stubs and drivers since the advent of three tier architecture. But Service Virtualisation is much more than a cheap remake of a 90s classic; this is a big budget Hollywood remake of an underground cult classic, taking an under-delivered idea and pushing it into the mainstream to deliver huge benefits never realised in its first iteration.
What is Service Virtualisation?
Service Virtualisation is stubbing on steroids. It takes stubs and drivers to the next level, simulating environments through the use of dynamic requests and responses. It is a method of simulating network, application and middleware services in a controlled yet conditional manner, replicating environments, or elements of environments, in their absence.
Why Service Virtualisation?
- The growing importance of integrating environments much earlier in the lifecycle for organisations following Agile and DevOps.
- The increasing complexity and disparity of application solutions as organisations yearn for the latest and greatest fully integrated technologies.
Benefits of Service Virtualisation?
While the number of benefits for a given engagement may be too long to list, there are five key areas that consistently benefit the most from implementing Service Virtualisation:
- Environments;
- Third party reliance;
- Agile approaches;
- Control of data; and
- Shift Left / DevOps.
Environments
Everyone has a production environment and most have test and development environments, but rarely do we see a fully integrated and production-like environment for PPT or NFT that is NOT in concurrent demand from multiple teams. This comes down to cost, be it hardware, licensing cost, time to build, resources to support or simply knowledge of what’s needed.
How many times have you turned up to the office during a critical project stage and the environment is down or the key component under test is unavailable? I experienced this first-hand in projects with a team of 300; that’s a huge burn rate!
This is where Service Virtualisation shines, enabling you to simply flick a switch to target your simulated application integration points. Service Virtualisation allows for multiple independent and concurrent environments that are representative of the target state of integrated environment, removing contention, conflict and most importantly improving efficiency.
Third Party Reliance
Integration with partner and vendor systems is now the norm, with a typical modern system integrating with 8 third party platforms. This presents more opportunities for contention and conflict, as we pay for access to test environments and battle with other organisations for access to these environments. These issues can be circumvented with Service Virtualisation.
Agile Approaches
Agile is another buzz word gaining significant traction as organisations increasingly realise the benefits of early software delivery. Everybody wants to be Agile. However with independent teams developing different components there will often be times where integration points cannot be tested until everything has been built – this suddenly feels like being at the bottom of a Waterfall.
Rather than waiting for everything to be delivered, we can virtualise all the components and as each “real” component is delivered it can be tested in situ with the integration points virtualised. As the solution becomes more complete more virtualised components can be removed until a fully realised solution can be tested – crucially one with far fewer defects that have been identified earlier in the Agile process.
Control of Data
Almost all organisations are challenged in generating test data, particularly in getting data in the correct state for a very specific functional test, generating specific data for use by an Automation suite in a wide range of specific tests and sourcing data at volume to run a full-scale performance tests. Using Service Virtualisation, test data can be controlled, providing a standard response to an input. Data can be siloed and managed for each purpose, avoiding conflict between test data groups – you’re in full control!
Shift Left / DevOps
DevOps, the CIOs’ favourite buzz word of 2014, is aided by all of the above solutions. Planit's delivery of Service Virtualisation via the Cloud allows testing to start sooner and can deliver quality results faster – which is the ultimate goal of shift left and DevOps. It can also be integrated into your Continuous integration servers and deployment and release cycles, spinning up virtual services and running automated tests against virtualised interfaces.
Warning: a Fool with a Tool is still a Fool
With many of the benefits of Service Virtualisation listed it is important to note that SV isn’t a magic fix. As with any solution, success does not come from simply purchasing the toolset – you must know how to use it. I’m sure the last thing the CIO wants to see is more expensive dust-covered shelfware. People and frameworks must be the priority – the tool helps someone do a task. It is not, in itself, a solution to a problem. Service Virtualisation requires a framework and needs to be championed within your organisation.
Cloudy with a Chance of Service Virtualisation
According to the
2014 Planit Testing Index, around 1 in 2 organisations are currently utilising Service Virtualisation in some capacity, although few are yet to leverage it as standard practice in their projects:
13% as a key part of their SDLC
17% for a specific need or risk
26% on an ad-hoc basis
Having been involved in Service Virtualisation for the past four years, it has become more and more apparent that tooling in this space suffers from the all-too-common barriers to entry associated with any tool set, with significant time, money and skills being required when setting-up afresh. But that doesn’t need to be the case. Organisations shouldn’t need a bottomless money bag to be able to embrace Service Virtualisation, and by implementing Service Virtualisation via the Planit Cloud, we have managed to remove these barriers to entry, opening the world of SV to a new audience in small and medium enterprise. But don’t take my word for it; the proof is in the Panviva pudding.
Panviva Case Study
Panviva is an Australian-based software developer and long term client of Planit. Having already leveraged our services to optimise their test process and realise the benefits of test automation and performance testing as key components of their software development lifecycle, together, we recently implemented Service Virtualisation in their projects to avoid time lost developing and testing integration points with a third party sales platform provider.
The focus of the project was Panviva’s SupportPoint Cloud solution that provides GPS for the job.
- Integration now at core of SupportPoint
- High demand for SalesForce integration
- Need to maintain agility and efficiencies, not third party environments
- Planit have virtualised the SalesForce SOAP services
- Complex integrations, dynamic responses based on SQL messages
- Panviva focus on core development
- SalesForce testing integrates into Panviva’s CI and test suite
- Have a known position of data for testing
- Able to carry out full scale performance testing with the virtualised service
- All hosted in the cloud, in line with Panviva’s strategic direction.
Based on our work with Panviva over the past 20 months, we managed to increase test coverage 10 fold and generated an 81% reduction in test time.
Through the use of Service Virtualisation they have not only significantly increased their development speed but also greatly improved the ease of testing being no longer dependent on third party services. They do not need to ensure the validity of test data implemented in the cloud sales platform and the test teams can work without impacting developers. This was all achieved from a brief 30 minute meeting with the development leads and a few days’ work offsite. This is true Service Virtualisation as a Service.
Summary
Service Virtualisation isn’t just a fad, it’s been here all along … it has just gotten better! When implemented properly, SV provides real benefits that not only save time and money but also improve quality.
Nostalgic feelings aside, this is a new age for stubbing that feels like 21st century Hollywood in its finest hour; a reboot that takes a viable, elegant solution from the past and improves it for launch to a new generation.
I wonder where Service Virtualisation will take us; in years to come will we be able to have genuinely intelligent virtual employees? I will leave that idea to be discussed in 100 years by my grandchildren in a sequel to this document!
Visit our Service Virtualisation page for more info.