Finding the right tool
Once you have realized the value and importance of having virtualization solutions, you might begin to explore the virtualization solutions market to find the right solution for you.
Traditionally, virtualization solutions have been designed for heavy enterprise use. In other words, they were inherently developed for big enterprises that had the resources and manpower to create and develop services on a solution with multi-tiered architecture. Many of the virtualization solutions on the market today echo this legacy aspect. The solutions are hard to set up, need specialized infrastructure to get up and running, and require resources and personnel for administration and management of the tool.
The problem with these traditional virtualization solutions is that they make it very hard for teams to install and use it for day to day software development activities, especially when software scope changes frequently and teams need to be reactive enough to respond to these changes immediately.
A solution that requires you to contact an administrative team just to edit a virtual service every time a scenario changes, will not add much value as the overhead time associated with the administration offsets the time savings you will have due to the use of the virtualization solution. An effective virtualization solution should not get in the way of your development and testing.
SmartBear provides solutions for quick and easy creation of virtual services. These virtual services could be created within seconds on the user’s desktop and used immediately for the testing and development purposes. There is no need for setup and execution of these virtual services over the network or through an administrator.
The primary problem that any tester or developer is trying to solve on a given day is to complete the development and testing for that day without hindrance. The ability to emulate an unavailable resource helps to meet that need. ReadyAPI enables you to create, reuse, customize, and host these virtual services immediately on your local computer.
In addition to local creation of virtual services with ReadyAPI, you can also share them over the network with VirtServer, which sits on the network or on the cloud to enable easy installation and access of virtual services by the team.
Sharing your virtual services with your team
Often there is a need for developers and testers to share the virtual services they’ve created with the broader team. Scenarios where this might be required include:
Business users sharing domain expertise through virtual APIs:
- Developer sharing virtual web services with testers
- Developer sharing virtual API and web services with consumers
- Service designers creating prototypes using virtual services
When the creator and consumer of a virtual service is different (and not co-located), a mechanism for sharing the service is required. The most effective way to share these virtual services is through hosting them on a network. This network could be local to the creator and consumer or it could be remote, with the creator of virtual services in one corner of the world sharing the virtual service using cloud services to a consumer in another part of the world.
Sharing of virtual Services should be quick and easy, there should not be a need for the user to go through a series of steps just to share a service. Traditional heavyweight service virtualization solutions have an architecture that forces users to contact administrators and IT teams to set up their shared virtual services.
On the other hand, an ‘easy to use’ service virtualization solution like ReadyAPI allows you to share the sophisticated virtual services that you have created with your team or consumers through a ‘drag and drop’ of the local virtual service to VirtServer. The VirtServer on which the virtual service is shared does not need an administrator. It’s so simple to set up and configure that anybody on the team can do so in just a few minutes.
Automating your virtual services
We already know that having a virtualization strategy is important to accelerate your software development and testing process, because virtualization helps in reducing the delivery time. Any strategy that you use to accelerate software delivery also must work well with your existing processes and frameworks: DevOps, continuous integration and continuous delivery.
These processes, in turn, depend entirely on automation. Service virtualization creates sophisticated environments (to emulate unavailable dependencies) for development and testing. and it’s important for the service virtualization solution to automate too.
Service virtualization solutions should integrate with automation Frameworks like Jenkins, TFS, and Bamboo seamlessly, so that before automated testing of an application begins, the virtualized environment is automatically spun up, and after the tests have run the virtualized environments elegantly winds down.
As always, it’s important to check that the virtualization solution you are considering does not require you to manually change configuration or write a script. It should not require your testers or developers to go through specialized training just to get started with automation, neither should it require specialized customer support just to get started with automation.
ReadyAPI enables automation of virtual services through just a few clicks, by copying pre-configured command line options to the automation tool of your choice. ReadyAPI also provides integrated plugins with Jenkins which enables fast incorporation of virtual environment in the automation pipeline, making deep integrations with the Jenkins automation pipeline a breeze.