OpenStack is a popular open source cloud operating system used by more than 90 companies and the U.S. government. In the world of cloud, OpenStack is where the cool kids hang out and where some of the most talented developers in the world program. Yet, it almost never came to be.
OpensStack had its one-year anniversary on July 19. The cloud structure has its roots in NASA. The story of OpenStack is really the story of how NASA created its Do It Yourself cloud environment - NASA Nebula. With just a few developers working on a side project in the basement of the NASA Ames Research Center outside of Mountain View, Calif., the seeds of OpenStack and Nebula were planted. Yet, as with any government program, lack of funding almost killed the project several times and threatens to kill its future. It took the president to really get it off the ground.
NASA's cloud initiative was the brainchild of former agency CTO for IT Chris Kemp. Kemp has since left NASA to be an entrepreneur in Silicon Valley but his idea of a NASA-created cloud operating structure lives on. The Nebula plan started out as a way to optimize NASA developers' use of NASA.net, an internal agency alternative to the public-facing websites of NASA.gov., and intended to provide services to the rest of the NASA community (the agency is very spread out with centers across the country).
According to current Ames CTO Ray O'Brien, there was a dinner in Mountain View that included NASA's chief architect and several C-level executives of Ames in 2009. Over Indian food, the idea to start a project that could provide massive, scalable computing power was pitched and the term cloud bandied about as a way to provide Infrastructure as a Service (IaaS) for all of NASA. O'Brien was not at the dinner but he later became the project manager for Nebula. So, NASA.net was scrapped and Nebula was born.
And then almost died.
NASA has a very strict budget that is more or less set in stone from 2010 to 2013 per terms of the NASA Authorization Act of 2010. This was the act that took the $6 billion or so that it cost to run the space shuttle program and dispersed it to the rest of the agency. To get funding as a federal program, Nebula would have needed to be proposed in 2007. So, Nebula was essentially bootstrapped by the Ames Research Center for the first part of its life.
This is when the big movers and shakers got into the mix.
Chris Kemp met with then CIO of the federal government Vivek Kundra, a huge proponent of cloud computing and government transparency. This is where the president steps in. It was also around this time that the Obama White House announced that the open government initiative that included Recovery.gov, Data.gov and USASpending.gov, along with the U.S. IT Dashboard. Kundra, being the first-ever federal CIO, had the ear of president Obama. Kemp and Kundra were able to strike a deal that USASpending.gov and its corollary sites would be hosted with Nebula. That way, NASA's budget would not be affected and the White House (more specifically, the Office of Management and Budgets) would fund Nebula.
Work on the Nebula IaaS started to ramp up, especially as the IT world became more aware of the capabilities of the cloud. Nebula was designed to carry working-class science loads - basically, NASA's tonnage of data about space - as opposed to a Web-hosting services the way Amazon Web Services does. Hence, Nebula has the ability to be massive (not that AWS does not, Nebula is just a different type of animal).
The Nebula team at Ames started running into problems. Everything went wrong that could possibly go wrong. They were building an infrastructure from scratch and feeling their way through the problems. Hardware, software, databases, client management, virtual machines ... rain - anything and everything that could go wrong did. One of the biggest problems that the Nebula team faced was that it did not have a sufficient controller to manage Nebula. The team got together one weekend and decided to put an end to that and wrote an entirely new code controller for Nebula that became Nova, which "has been empowering NASA users since May 2010," according to O'Brien.
"We always knew that NASA would have an open-source road map," O'Brien said at the Cloud Control Conference in Boston this week. "We just had to build the source code."
Funding was still a problem. But, the project had caught the eye of NASA CIO Linda Cureton and Nebula had a new champion. Cureton was able to name Nebula an "official agency project" and use funds from other NASA centers (such as the Goddard Space Flight Center).
That is when Rackspace called.
Almost every bit of code that NASA creates is later open sourced. That is what has happened with Nebula. The resulting creation of NASA+Rackspace= Openstack.
Tim O'Reilly says that "NASA and Rackspace are taking amazing steps to my vision of an open cloud future," according to the OpenStack website. O'Brien provided a quote from an anonymous Ames IT official that said "Nebula could be the Linux of cloud."
NASA would eventually love to let the open source community develop OpenStack while the agency just becomes a customer. That is the plan though currently NASA is still putting a lot of resources into developing and mainting Nebula and OpenStack. It has been around for a year. The guess is that it will be here a lot longer than that.
Image Source: NASA Ames Research Center CTO for IT Ray O'Brien Power Point Presentation from Boston Cloud Control Conference 2011, July 20.