DevOps: Let the team use virtual services instead of production services, and test the application right away. I am sure you might have heard this “virtual service” term in recent times if you are keeping up with the latest trends in the market. Now what is this virtual service and how is it that important for DevOps?
DevOps is a software development method that stresses communication, collaboration, integration, automation and measurement cooperation between software developers and information technology professions – That’s what Wikipedia has to say about DevOps. Now let us keep this simple, derive the definition from the word, Development + Operations = DevOps. DevOps bridges the gap between development team and operation team for faster delivery, more stable operating environments, faster resolution problems and continuous software delivery to make life simple. Now where does this virtual service actually fit in? As many companies have some form of SOA implementation, the architecture becomes complicated and most of them will be struggling with the dependencies and constantly changing interfaces. This is where service virtualization and virtual services comes into play.
How does service virtualization solve these problems and help in the process? Why is it the new buzz word in the market? Imagine you are driving a bike which is not properly tested. You will dare not to touch that bike until every part of it is thoroughly tested. Anything in the market should be well tested before it is released. A similar notion applies to software applications. Applications have become so huge and complex that the development process is time consuming and testing of the application piles up to later stages. So testers have to wait until everything else is developed and ready, which leaves them very less time for them before delivery.
Service virtualization will help to create a new virtual service that replicates the live service. The requests and responses from virtual service will simulate the live service. This will help testing teams to test early in the development life and they need not wait till the application development is complete. Different project teams will work on different components and assemble to integrate them into one. This is a slow process; testers can’t perform end-to-end testing.
With service virtualization:
- Remove the dependency between developers and testers, allowing them to work independently in parallel to each other. This helps teams in faster delivery of applications.
- Reduce testing life cycles and cut costs that will help in ROI for a project.
- The environment will be stabilized and defects can be identified in earlier stages of process, which will lead towards a higher quality outcome.
I have covered only the basics of service virtualization and its importance in DevOps. In my upcoming blogs I will drill down into each individual topic and discuss them in detail.
Saai Prasan K
Latest posts by Saai Prasan K (see all)
- Understanding the Traditional Application Integration Models - 10th February 2017
- Service virtualization – The new trend in DevOps - 7th April 2015