Different types of virtualization are used as abstractions of different physical IT resources such as servers, desktops, databases, storage, networks and services. For software development as well as IT operation the aim of virtualization is to foster flexibility, efficiency and agility while reducing the overall IT expenses. This article will focus on virtualization of services and outlines how service virtualization (SV) can accelerate digital transformation.
Continuous delivery has become the norm and is dramatically evolving to enable teams to work together as fast and expediently as possible. The dependencies between parallel development and testing teams have raised the need for smart environments. This is where service virtualization comes into place.
Service Virtualization (SV) emulates the behavior of specific components in heterogeneous component-based applications such as API-driven applications, cloud-based applications, and service-oriented architectures. SV allows access to system components that are unavailable or inaccessible for development and testing purposes.
According to the latest research, Micro Focus Service Virtualization, Parasoft Virtualize, CA Lisa, Tricentis Tosca OSV, and IBM RTVS are the most popular SV tools today. The common used approach among almost all tools is that 3-step approach - recording, processing, and monitoring - to realize a virtual service (VS) for development and testing teams.
In the past, developers usually used mocks and stubs to eliminate dependencies and the absence of services. Mocks and stubs are like service virtualization, but they function on a smaller scale and tend to be context-specific, simulating behavioral responses to fulfill a “certain” development requirement.
To cover different use cases, developers need to spend a lot of time reconfiguring the service architecture variables for each use case, which is a significant challenge for agile teams. On the other hand, SV tends to function on a production scale, and once it is created, it can be reused by different teams.
Cross-industry clients who have applied SV within their projects, especially those with a lot of challenging interdependencies, have reported the following benefits of utilizing service virtualization:
... by enabling multiple development and testing teams to work in parallel, increasing efficiency and speeding up release cycles.
... by allowing access to constrained, business-critical infrastructure, third-party systems, or pay-per-use cloud components. By reducing the required infrastructure, costs fall, which is one of the major factors driving the growth of the service virtualization market.
... by testing earlier in the software lifecycle, where issues are easier and less expensive to fix before reaching production. Moreover, exposing the surrounding systems by simulating their services early in the test process helps avoiding this called “big bang” End-to-End (E2E) and increasing the test coverage as well as the overall product quality.
... by simulating dependencies to make unavailable services seamlessly available every time an automated test is executed. A prerequisite to an automated test is to have all the dependent systems up and running whenever needed, a major challenge for almost all testing projects. By involving service virtualization, this issue is solved, and continuous testing is enabled.
... by extending the test coverage and including load testing at the component level with production-like conditions – which are sometimes difficult to replicate on real test systems – at dramatically lower costs.
... by providing required test data via virtualized services. Much of the data used in the test processes comes from third-party systems, which brings many interdependencies.
... by starting with simple, lightweight virtualized services and then evolving capabilities throughout the development lifecycle to more complex, realistic, and production-like behaviors.
BearingPoint understands the benefits of service virtualization and specializes in supporting clients throughout their journeys toward digital transformation. We assist you in identifying value-adding SV use cases for your development and testing teams. In addition, we analyze the required maturity level of your organization’s relevant infrastructure aspects and tool landscape to define an individualized service virtualization concept for you.
BearingPoint’s 3-phase project-proven approach starts with the software selection process and continues through the implementation of virtualized services.
Supplemented by a customized tool selection and orchestration, our approach covers the prerequisites for the targeted introduction of service virtualization among clients cross-industry.
We recommend Service Virtualization as an underlying component of working effectively with Smart Environments, and as a key player towards Digital Transformation, where you can immediately ramp environments up and down, and minimize interdependencies between the peripheral systems to the minimum, through focusing on the quality attributes, performance, reliability and scalability, which would result at the end in saving time and money, and in delivering faster to the market.
If you would like more information about this insight, please get in touch with us – our experts would be happy to hear from you.