OpenStack's Secret Weapon is Modularity
Users can add and remove plug-ins that best fit their needs
Thu, October 06, 2011
IDG News Service — Although somewhat late to the market for cloud computing infrastructure, OpenStack enjoys an advantage over other cloud stacks in that it has a modular architecture, said one of the first developers of the open-source cloud software.
"This is very important. There is no one way to do OpenStack, and this is very important," said Chris Kemp, who oversaw the development of the OpenStack cloud controller when he was CIO of the NASA Ames Research Center. Kemp spoke Thursday at the OpenStack Conference in Boston.
The developers behind OpenStack often tout its ability to scale beyond the limits of other platforms. "We're not talking about [using OpenStack to run a] cloud of 100 servers or even 1,000 servers, but tens of thousands of servers. Other options out there aren't really considering that scale," said Jonathan Bryce, chairman of the OpenStack Project Policy Board.
For Kemp's team at NASA, scalability was an essential feature. The center needed an infrastructure that could handle the millions of Internet visitors who wanted to view NASA's large collection of space imagery, Kemp explained, in an interview with the IDG News Service.
Originally, Ames tried using the Eucalyptus open-source software project platform, but found challenges in scaling the software to the required levels. Kemp's team even submitted code improvements to the Eucalyptus project team -- then headquartered at the University of California, Santa Barbara -- that they thought would help. Few of those changes, however, were incorporated into the software
So, Kemp formed a team of about 20 engineers and developers who built their own cloud controller, called Nova. Nova caught the interest of Rackspace, which was then building the first iteration of OpenStack.
"The major difference of the architecture for Nova is that it wasn't a monolithic product where everything was bolted together. If you were trying to do something different you would basically have to rip the whole thing apart," Kemp said.
With this architecture, if there is a bottleneck somewhere in the system, the component responsible for that bottleneck could be easily replaced with other components.
Every cloud platform "will encounter a bottleneck in the different part of the infrastructure, depending on the workload, topology," or some other factor, Kemp said. OpenStack has been engineered so that "when you have one of these bottlenecks, you can pull out that piece and plug in something else."
"OpenStack has really been designed as a cloud platform, so every piece can operate as a stand-alone component or plugged in," he said. The storage component to OpenStack is a stand-alone project called Swift. The networking duties are handled by another component, called Quantum.