I was recently interviewed on the program: Outlook Series with host Mike Lippis, and we covered a variety of SOA-related topics, from Testing -- all the way to Virtualization.
You can listen to the 45 minute podcast interview here, but our team has also broken the interview into five parts for easier reading. Here is part one -- which focuses on SOA Governance and how companies are attempting to use this discipline to meet business goals.
Mike: “Can you share with the audience what are some business trends that might be driving any kind of shift in IT environments currently?”
John: “The business is why we are here. So what we need to do is to align our initiatives, as an IT organization, toward what the business is trying to accomplish.
“Among these (initiatives) are to increase the agility that we have to their customers in terms of responding to regulatory pressure…new market competitive pressure, etc.; to reduce cost…to go global…to either be acquiring or to become a part of larger organizations (M & A is becoming quite common, especially right now), and then, of course, compliance is over-riding all of this in that -- even though we’re increasing the speed of the train, we need to be more careful about how we execute along the path.”
Mike: “What kind of IT initiatives would be driving that besides things like SOA and virtualization for example?”
John: “Those are certainly two of them, as the business is trying to reduce cost, we need to increase our leverage and reuse, and so Service-Oriented is certainly one way to do that. To increase our speed of development we need to take a more agile process, we need to leverage and extend technologies more often than bringing in new siloed systems. Reducing costs often is reuse, but it is also outsourcing and off- shoring and virtualizing things. So there is quite a bit going on in IT in order to accomplish these business objectives.”
Mike: “Sounds like there’s a new IT environment driven a lot by SOA and Virtualization. Could you describe some of the downsides associated with these new IT environments?”
John: “For all of the goodness that we are trying to bring about by increasing inter-connectedness to leverage and extend -- reusing existing assets, and the improvements we’re trying to provide by increasing our pace of change, (we’re releasing software updates to our business users more frequently than we were in the past) -- those changes are more interconnected with lots of different systems than they were in the past. While those are good things; the unfortunate outcome is that we’re increasing our risk of failure every time we increase the number of times we do something and every time we increase the complexity in which we do something, we necessarily have an increase in the possibility of failing, so we have to address that.”
Mike: “So, it sounds like you’re really looking at minimizing business risk in terms of what your overall mission is at iTKO. Could you kind of drill down into that a little bit for us to kind of see how you are addressing some of those issues?”
John: “You bet - and that’s a good point Mike because we frequently get asked: ‘If you’re in the virtualization space why do you also offer testing?’ Well, because the real business we’re in is helping to resolve the risk associated with service-based architectures and agile processes, and more generally increasing complexity and increasing paper chains. So what we try to do is: if we can help enable these positive effects without the risk; we’re doing so to shorten the time to market, to reduce the failure rate in production, to increase our recovery time when there is a failure, and in general then to reduce the total cost of maintaining our own ESB systems that we produce.”
Mike: “When it comes to SOA testing which is a big part of what you do, what are some of the challenges surrounding SOA testing?”
John: “There are a number; the one that’s most common is that SOA increases the likelihood that we just can’t manually test -- we have an inadequate level of testing in many organizations from an automated standpoint and this becomes the governor on how frequently we can make changes to our system. If I have to manually revalidate an application any time anything changes, then I can’t change it fast enough.”
Mike: “I would think that today, based on what we’ve discussed so far, in terms of all the complexity, you really have a lot of heterogeneous environments and or most IT environments are very heterogeneous in terms of the technology that‘s now being used. So how does this come into play with the SOA and what you are doing?”
John: “Well it definitely scratches that problem quite a bit. The reason it does is because: Instead of thinking: my application is this completely self-contained box that I deliver to my users and they use it directly; rather, many teams are now building components of an integrated system and those components are, (as you say yourself) in heterogeneous technology, where there may be existing legacy CORBA applications and main frame applications and even mid-80’s mainframe messaging architectures, and modern messaging architectures, and all of these things being brought together for one application.
“So, we have a real challenge here when we try to test a system like this, we can’t just test each individual box independent of each other (although we should do some of this certainly) we must be able to test across the work flow as the business executes, so we must be able to test across these heterogeneous boundaries.”
Mike: “You had mentioned earlier-on that IT initiatives, such as outsourcing and off- shoring for example, are very common in today’s global economy, how does this come into play with collaboration and to what extent does this frustrate collaboration; what are you doing in that area to make that a more seamless exercise?”
John: “So the short version of a very long best practices story is that it necessitates collaboration, and it really does because: what we can’t do is to have completely disjointed applications being developed -- we need collaboration. Collaboration comes in a variety of ways. One is we need visibility, the ability to touch all of these different technologies and view through all of these business processes all the way down into the implementation technology. That’s just one simple way.
“Another way is we need governance in place that better creates a structure in which we all can predict how we are behaving. The more reasonable governance is in place, the better we will all function and the better the trust there will be in this very disconnected world that we’re building and maintaining with that. So there are a variety of things that collaboration encompasses but that’s certainly two of them.”
[After setting a little context, the next post picks up with a discussion of SOA testing best practices, our three C's. Stay tuned.]