Main menu

Pages

Service Virtualization: A Continuous Lifecycle Technology

Service virtualization has helped countless organizations perform testing of application components that are external to the development organization or not available to testers when testing needs to be completed.

Broadcom DevOps CTO and evangelist Shamim Ahmed says virtualization makes it easier for organizations to stand up virtual services than “adding boxes to Amazon servers.” Today, however, service virtualization (SV) can be viewed as a lifecycle technology, enhancing what Ahmed calls “continuous virtualization.” This will enable even developers who are currently doing parallel development just for testing. , extremes are seen.”

Diego Lo Giudice, vice president and principal analyst at Forrester, said SV helps early adopters decouple teams, allowing them to decouple customers from clients. However, he said: The project manager thought he could manage it. Also a large number of small agile he has no way to really manage a team. It is impossible to synchronize them reliably through project management. So service virtualization was used a bit to decouple, at least from a testing perspective. ”

Virtualization makes it easier for organizations to stand up virtual services than “yank boxes on Amazon servers,” explains Ahmed.

So where is service virtualization used beyond testing?

Service virtualization use cases

Forrester Vice President and Principal Analyst Diego Lo Giudice said SV remains primarily a testing feature, but said the world of APIs is accelerating its use of SV. “It didn’t go beyond the typical use case of testing unreachable or expensive third-party resources. I like the simple example where one of the teams in Yahoo couldn’t access their mainframe, they only had a 30 minute window in the month and they had to wait for that 30 minutes every time. allows us to virtualize access to our mainframes, so our teams always have virtual access to their mainframes.”

Using service virtualization with APIs, Lo Giudice says, “is just one of the types of tests that need to be done: integration tests, activities that can be automated, software delivery pipelines. You see it a lot there.”

One other area where service virtualization is gaining attention is in creating employee onboarding environments. According to Ryan Papineau, senior his software engineer at Alaska Airlines, Alaska Airlines uses his Parasoft virtualization solution for training. With virtualization, “we can get more people into our training programs,” he says. There are typically no test cases, but Alaska can use this environment to check whether a user can perform a particular task, none of which is recorded and does not impact production.

Service virtualization and test data management

But perhaps SV’s biggest growth area is the test data management (TDM) test space. The term, Papineau says, “is somewhat troubling because it can mean many things.” In a word or two, it has become every buzzword.

“We have been screening some new automation engineers and they plan to have test data management on their resumes. says Papineau. “What I believe is that they list it. You say, ‘Hey, I used data-driven testing and I had Excel,’ but that’s what I’m looking for.” I’m looking for data structures and relationships and databases and lifecycles from creation to modification to deletion and using discrete ETL tools or custom scripts.”

According to Papineau, Parasoft’s solution essentially uses data, iterates through APIs, records, and creates relationships with data. Papineau said: ”

Broadcom’s Ahmed added that his company, which acquired Lisa SV software developed by iTKO through the acquisition of CA, sees even greater synergies between servers, virtualization and test data management. “When we acquired Lisa, TDM wasn’t that big. is one of

Ahmed believes that SV and TDM go hand in hand. “I think the way they work together is another important evolution of how the use of service virtualization has evolved,” he said. “Using SV is actually one of the easier ways to do test data management, because you can actually record test data by recording the interaction between client and server. This gives us the opportunity to create lightweight data, especially in API-based systems, as opposed to using traditional test data mechanisms.”

He said using SV reduces the “boring burden”. This is because creating test data for the live application versus creating test data for the emulator is a lot less of a TDM burden for her testers and everyone else. ”

system integration

According to Lo Giudice, much of service virtualization hasn’t changed in the last few years, but a lot has changed. Developers are opting more for open source, deciding that they don’t need all the advanced features that vendors offer. “There are data that show that service virtualization adoption has never actually exceeded 20%,” he said. “If you ask any developer or tester what he will automate in 2022, I think only system integrators matter.”

“It’s actually very useful,” says Lo Giudice for integration projects. “Think of his Lloyds Banking, a customer that has a complex landscape of applications, and you are doing integration work with a good partnership that is ongoing.” Beneficial. “If you have an app that interfaces with another he said 10 big apps, I recommend using service virtualization to automate that integration,” he said.

According to Papineau, the integration project between on-premises assets and those in the cloud has created some challenges for Alaska Airlines. He said the problem stems from internal permissions and controls to the cloud. One of his developers was deploying the cloud using his old data repository method, but was struggling with internal permissions between on-premises and the cloud. ”

Papineau said organizations need to understand firewalls and server access. “Are your server and client both local? Should they both be in cloud order, one crossing between the other?” he said Papineau. “So what we did is we stumbled upon exposing the firewall rules, because now all of these different clients are trying to talk to this virtual server. So we were like, ‘Oh, you It’s like, ‘I raised this. Now should I make another firewall request for this?” And I’m not kidding you. Viral requests were our biggest nightmare ever when we did the acquisition of Virgin (Atlantic). That’s why this is an internal problem that we gave up on the hard way and no, this is just taking too long. This is literally the firewall overhead issue we’ve encountered. ”.

Continuous virtualization

Virtualization is no longer before testing. From the beginning of your backlog and design, you should think about what services you need and how to design them correctly.

Then, according to Broadcom’s DevOps CTO and Evangelist Shamim Ahmed, we need to think about how to evolve these services. “We believe that service virtualization continues to evolve,” he said. “We start with something simple, called a synthetic virtual service, which is very easy to create without using the traditional record-response mechanism.”

He pointed out that the old way of creating virtual services relied on the fact that the endpoints already exist. That enabled recording and playback, but the endpoint may not exist in your current development environment. You may only have an API specification and not even know if the API is implemented. “We need a new way to create virtual services. This is a very simple and lightweight service that we can create for things like Swagger definitions of APIs. For example, developers need it when doing unit testing.” We call this progressive virtualization, and as we move our applications from left to right in the CI/CD lifecycle, the simple things we create can evolve.”

He gave an example that once an application reaches the stage of integration testing, its synthetic virtual services should be further hardened. So as more data is added and we reach system testing, we need to replace that synthetic virtual service with a real recording. So it gets progressively more realistic as you go from left to right.

“There’s a whole lifecycle where you have to think about continuous virtualization about the kind of virtual servers you need to do integration testing and build validation,” Ahmed said. “And of course, all other types of testing (functional, performance, and even security testing) are equally applicable to virtual services. Consider how many third-party systems a typical application accesses with this API. And in a driven world, from a functional, performance, and security testing perspective, many tests cannot be run end-to-end without encountering external dependencies that are out of your control. We can start emulating all the traits.”