Knorr: So why did you decide on application life cycle management as the place to apply semantic technology? Because you knew that area best?
Nath: Well, we really didn't start with the technology and try to figure out what to do with it. I actually had a problem I wanted to solve -- one that I had faced during my entire career. So I really spent a lot of time trying to figure out how to solve it, because no conventional solutions existed for it. So through that research and trying out different methods, I arrived at our semantic solution.
The framework that we use -- it's an open source framework -- was developed at HP labs in Bristol. And I believe HP spent millions developing it. So this is a fairly tried-and-proven solution.
Knorr: Why is your solution suitable for this point in time in particular?
Nath: The short answer is the cloud. I think the cloud offers a number of challenges that will catch up to people involved in it, because the whole thing is still fairly nascent. The first challenge is around configuration management and traceability. Today you've got fairly good technologies for deploying applications across hundreds and thousands of servers. But there's nowhere you can determine in a centralized way what's located where. Where are the libraries? Where are the JAR files? What things are happening in different places? What configurations are deployed?
The fact that you can also combine the cloud offerings makes it even harder to track and maintain any sense of traceability or change management or configuration management related to deployment.
Knorr: Enterprises run distributed application development projects all the time. How is it different in the cloud?
Nath: The scale is enormous. You may be working on distributed projects -- a bank here in California may have 100 projects going on related to credit card products. But when you start to deploy things on the cloud, other things are happening. Vendors and providers have created smaller and smaller application services that they deploy on the cloud, so now your applications are accessing all these services more in chunks as opposed to this kind of monolithic stuff.
So because of that I think configuration management and traceability will become challenges very quickly. We're already starting to contend with the process aspect of it. For example, devops as a movement began by trying to figure out how to create technologies to do this deployment faster. Now that has been accomplished, but how can we keep up with the development process and agility in terms of being able to manage at the scale of the cloud?