Industry


Ads by TechWords

See your link here


Martin MC Brown's picture
Martin MC Brown

Computing From the Front Lines

DreamWorks, SOA and the SOA/Virtualization choice

Service Oriented Architecture (SOA) promises lots, not least of which is the ability to migrate your SOA application to a grid like environment.

Actually migrating your applications and realizing the difference it can make is a different story. But DreamWorks have managed it, They've converted many of their internal ERP applications into SOA applications, and that has reduced their server requirements, giving more rack space to the server farms that render CGI animation.

A good example of SOA put into practice and making a real difference.

SOA itself is a bit like virtualization, but instead of placing multiple, virtualized servers running single applications across a server farm, you spread components of your application across a number of servers.

There's a diagram of the difference on my new 'Coalface' site here that demonstrates, graphically, the difference.

Because you are spreading components, rather than entire machines, an SOA based application can make better use of your servers by load balancing requests across the servers. With virtualization, you have to pick and choose carefully which applications are run on different servers to ensure that a single application doesn't overload the host.

VMware ESX and GSX server technology (and indeed, Microsoft's Virtual Server) can help to load balance capacity between servers on the same machine, but if you put two heavy-use applications on the same server, no amount of load balancing or virtual server technology will solve the fact that you may be overloading your server hardware.

The downside to SOA - and the upside to virtualization - is that to achieve SOA you must alter and redevelop your application. For applications that you have developed in house this can be an easy, or hard, process that may take many months or years. With virtualization, you can take an already running application - including those from third party suppliers which you cannot change) and run them, verbatim, in a virtualized environment.

Picking between the two technologies therefore becomes a tradeoff between the ease of use, but careful deployment/administration of virtual machine technology, and the easily deployable and load balance technology of SOA, with the potentially complex requirement of redeveloping your applications.

For DreamWorks, redevelopment of their already in-house solutions obviously wasn't a problem, but we don't all have that flexibility. It's clear to see though that it has made a significant difference for DreamWorks IT and how they use their datacenter space.