Subscribe
About

IT at the speed of business, part two

IT should be used as a competitive tool and business differentiator.

Andrea Lodolo
By Andrea Lodolo, CTO at CA Southern Africa.
Johannesburg, 06 Dec 2012

In my first Industry Insight in this series, I challenged companies to become more agile and develop ways of becoming more competitive through the use of IT. But, not IT that takes too long to get to market, and by the time it does, it's often irrelevant.

This series of Industry Insights is focused on exploring ways in which business can use IT to become more competitive. Previously, I covered process and portfolio management, but more specifically the latter. This entails taking an idea - even multiple ideas, and nurturing them until they become viable projects.

The principle here is to ensure that good ideas are not lost, but are encouraged and developed, and then the ones that will have the most potential for driving companies forward can be monitored and measured to ensure the projects provide the promised returns. Without comprehensive IT tools to capture and govern the whole process, this task is almost impossible. An example is of IT supporting business goals.

At your service

In this Industry Insight, I want to introduce a relatively new concept, called service virtualisation. This is a concept and technology primarily used to support and enhance development environments. But, before I go into definition detail, let's look at the specific problems it is designed to resolve.

Consider that one of the biggest inhibitors that companies face in being more agile and bringing new services to market quicker, especially those driven by IT, is the time it takes to develop new applications and enhancements to market. One way development teams have tried to speed up progress has been to use agile techniques such as scrums and sprint - these are all well and good but have limitations.

Take a typical development cycle and skip past the planning stages to get to where the actual coding is started. Obviously, a platform is needed on which to do the coding. Sounds simple, but in many organisations this hardware can be hard to find, even for critical projects. Internal procurement can take a long time to process, and months can go by before it's available. One way to address this is to put in a self-provisioning cloud-based platform that can expand and contract as demands dictate.

Server virtualisation can go a long way to resolving this issue; however, server virtualisation is not what this Industry Insight is about, but rather service virtualisation.

Service virtualisation imitates environments that are needed by an application to prove functionality.

So, now coding is furiously taking place, and it's time to start testing this application. Most modern applications are built to make use of many different components. For instance, it might use some sort of middleware to communicate across an enterprise and may touch multiple systems, including databases, operating systems and other environments that may not even exist, or be available to the development team. An example of this could be a banking application, which needs to communicate with a system in a clearing house. That clearing house may charge for every transaction made to it by the banking application. As a result, the availability of this banking application to test against the clearing house is impaired at best and almost non-existent at worst. The impact is that the application is not tested sufficiently, resulting in outages or failures when it goes into production.

Born to shine

This type of example is not unique and there are many others that are impacted because parts of the enterprise this application needs for successful testing are not available, or certainly not always available. This is where service virtualisation was born to shine.

Service virtualisation is a concept and technology created to imitate (or virtualise) environments that are needed by an application to prove functionality. For example, an application that needs to make a call to a mainframe. It's too risky to do this in a production environment, but a development partition is expensive and probably not always available. So the mainframe gets virtualised. In essence, the mainframe is mimicked in so far as the application is concerned. The application being tested makes its call as usual, but what it doesn't know is that it goes to another application (running on commodity resources) that responds to it as if it was the mainframe.

Now, this concept can be applied to almost anything that an application is required to talk to: databases, mainframes, middleware, etc. In effect, any service that an application touches but is not encapsulated within the application itself. Hence service virtualisation.

This means developers can now test as much and as often as they care to. This is brilliant and the benefits are enormous. Just think of the savings in extra resources, not having to pay external parties for testing transactions. The quality of the applications that roll out the door have to be better and less buggy, due to superior testing ability. The speed of development cycles is greater, as waiting for resources and for endpoints to be available are eliminated.

So, bringing this back to business agility, service virtualisation holds much potential for aligning IT to perform at the speed of business.

In the next part in this Industry Insight series, I will explore other areas of IT that can be fine-tuned to ensure IT is doing everything it can to support business drivers.

Share