Paremus CEO Richard Nicholson talks about making OSGi modularization easier, the connection between OSGi and the cloud, creating synergies between the two technologies, and the benefits of doing so.
This video is a follow-up to an interview in which Jack Vaughn asked Nicholson about the benefits and challenges of implementing modularization with OSGi.
Read the full transcript from this video below:
OSGi modularization and the cloud
SearchSOA: I'd like to ask you when Java is easy to modularize.
Richard Nicholson: Okay, well, it goes back to the designs that you actually build your application with. The simple answer is that there are a couple of books coming out this year, one by a gentleman called Kirk Knoernschild, who worked through some of the classic patterns you might use to modularize Java. So that sort of sidesteps the question. One of the things we notice about this framework is that it is very simple as a service framework. You can actually correct small Java components, advertise them as services, run them together and then start thinking about modularizing those individual services down.
It's a matter of divide and conquer. You look at SOA at the top for your distributed architecture, OSGi micro-services are the middle two, then perhaps modularizing each one, and so by that you can sort of move incrementally forwards and come up with a very clean architectural solution further down the road. The truth is, there's no silver bullet in life. One of the things is that building good modular systems requires a little bit of effort and a little bit of the time, but once you've got there, the maintenance and the ability to capture, it's truly all worth that effort. OSGi gives you the capabilities to provide a standard framework to get to that ideal end point.
SearchSOA: OSGi and the cloud. What is the connection there?
Richard Nicholson: It's quite interesting that in the media and in the press and the vendors, and everybody at the moment is sort of talking about cloud computing—cloud computing solves all sorts of problems and isn't it wonderful and everybody's going to be running stuff on the cloud. If you actually look at what cloud computing does, it provides a resource abstraction. I can run an application on my own machines, or I can run them on the virtual machines somewhere outside the boundary of my organization. And people like Amazon and GoGrid and these sorts of vendors provide a simple service to upload my application and run it. That's nice and easy to use and, you know, it can be quite cost effective. However, all I'm doing by using that service is optimizing a small part of the overall cost of my application, which is the cost of resources and the cost of initial deployment.
Richard Nicholson: Now, a lot of researchers over the past couple of years have actually looked at: What is the total cost to my IT department that is concerned with the applications I run day to day? If you look at today, the most cost is associated with maintaining legacy applications. Eighty to ninety percent of my total IT budget is spent maintaining legacy applications. And so clients are trying to optimize this 10%, which is good—you know, you optimize what you can.
The next question is: What do I do to really drive down on the maintenance of applications? This is where it comes back to maintainable applications and modular applications. We set up those applications, modularize them as an industry-standard framework like OSGi, and drive benefits by, you know, making it easier to roll forwards, patch, evolve, and generally all the stuff I want to do with applications in my run-time environment at the moment.
What we see is a convergence of, okay, I need to really get a handle and a grip around the shape of my applications, make them more maintainable, and I want to run them in the cloud as well. How do I do these two things? And certainly from one point of view, we've seen a lot of excitement around this idea of adaptive cloud-based runtimes where I've got a set of applications that I've done empty build in the cloud, and I run I get all the goodness of the cloud, and I've got all the goodness of OSGi as well. Looking at it from a business point of view, what we're trying to do is squeeze the whole cost stack down, not just the resource cost associated with, you know, using the cloud, but also making it really maintainable and easy to use, courtesy of the OSGi framework.
SearchSOA: I saw a presentation by a Credit Suisse architect on just this point.
Richard Nicholson: Yes, that's exactly for those reasons. They obviously like the idea of an adaptive resource framework where they can expand and contract the machines, but what they actually want to do is really clean up their application portfolio, drive down the number of concurrent different versions of applications that go into a set of reusable components, and really start eating into that software maintenance bill that they've got at the moment, which I think the gentleman was saying was of the order of 1.8 billion on his slides or something like that. Yeah, it was a really big number! I'm sure there's a real financial drive, though, which is driving things towards, how do I build more maintainable infrastructures in the systems? It's quite simple: maintainability is modularity.
SearchSOA: Thank you, Richard, for being with us here today.
Richard Nicholson: Thank you very much.