Dr. Dobb's Digest June 2009
Erik Troan is CTO at rPath, a company that delivers enterprise applications across cloud-based environments. He recently spoke with Dr. Dobb's editor in chief Jonathan Erickson about the rapidly changing world of distributed computing.
Dr. Dobb's: How has the advent of cloud computing changed distributed computing?
Troan: Distributed computing is all about modular deployments, where each type of node can be scaled independently of the others. Deploying that into environments that allow on-demand scaling of each node allows properly designed distributed architectures to flexibly scale themselves and adjust to the changing demands of their users. On-demand environments like clouds are poised to become the default deployment environment for distributed and scale-out compute infrastructures.
Dr. Dobb's: How far can developers go with lightweight "mashup" style tools when it comes to distributed computing?
Troan: Mashup tools are highly relevant today. Human beings do a good job of breaking tasks into components that feed each other; we do a poor job of dividing up tasks into pieces that need to share a single resource. Mashups of components using distributed environments allow scalable applications to be built quickly in a way most people are comfortable architecting.
Dr. Dobb's: Are distributed computing environments relevant?
Troan: I don't think DCEs are even remotely relevant any longer. Web technologies, including XML, SOAP, and REST, have completely displaced those efforts in mainstream architecture. Simple, standard interfaces allow applications to be built much more quickly across organizational boundaries than anything as complex as DCE or CORBA.
Dr. Dobb's: Have large-scale distributed computing projects such as seti@home, folding@home, and the like helped us solve any day-to-day distributing computing problems, or are they simply academic exercises?
Troan: Projects like seti@home have encouraged IT organizations to look at the spare computing capacity they have spread out across thousands of desktop machines as a resource they could tap to solve compute problems. I know organizations are exploring virtualization as a low-impact way of harnessing those machines.