How NASA Helped Open-Source Cloud Computing Take Off
The Shuttle fleet may be retired, but NASA's innovation efforts continue unabated, with the agency's latest contribution driving the world of cloud computing. In fact, the story of how--and even more so, why--NASA has taken a leadership role in the cloud is a fascinating example of our tax dollars well spent, and a prime example of the government's new mantra to do more with less.
NASA's Open Government Culture
NASA's role as government-funded innovator dates to its founding. The National Aeronautics and Space Act of 1958 called for NASA's active participation in the scientific community, wide dissemination of information regarding its activities and the encouragement of commercial use of space.
This mandate led to what the agency calls the NASA Open Government Plan, which takes the spirit of NASA's charter and strives to embody transparency, participation and collaboration across all activities. The agency has endeavored to take a multi-dimensional approach that addresses technology, policy and culture, thereby extending the Open Government Plan well past the space-centric scientific world that drove NASAs original mission.
When President Barack Obama took office in 2009, his pledge to work toward "an unprecedented level of openness in government" aligned perfectly with NASA's existing Open Government Plan. In fact, the Obama administration's open government efforts have emphasized the same three priorities that have guided NASA all along-transparency, participation and collaboration.
As a result, when the administration issued its directive to all government agencies to harness new technologies to make information about agency decisions readily available to the public, NASA was ready to hit the ground running. NASA had already been developing NASA.net, a unified technology platform for use across all of NASA's Web projects.
NASA.net took a service-oriented approach to abstracting IT resources and associated middleware, offering common Web development tools and bringing NASA's numerous Web-centric initiatives onto a common, reusable platform. The goal was to create a "convergence effect" that would lead to improved efficiency and greater visibility across the agency.
It soon became clear, however, that building such a platform layer required a flexible infrastructure underneath, which required a shift in priorities for NASA.net. To this end, NASA developers set out to create a set of generic, on-demand, API-driven compute and storage systems--in other words, Infrastructure-as-a-Service (IaaS).
At that time, though, cloud computing, including the IaaS service model, was still in its formative stage. The NASA.net team, now rechristened NASA Nebula, spotted a significant opportunity to become a cloud provider in its own right, providing IaaS to the same internal communities it targeted for the original NASA.net platform.
At that point the team's focus shifted to creating an open source Cloud compute controller--that is, the essential piece of technology that automates the provisioning of virtual machine instances, which is a core capability of any IaaS environment.
Case Study: For NASA, An Open-Source Cloud Isn't Rocket Science
It's no surprise, of course, that NASA's move to flesh out IaaS tooling coincided with the federal CIO's Cloud First initiative, which requires federal agencies to move key capabilities to the cloud and also to consider the cloud as a deployment option for any new projects. In fact, Cloud First drove interest in NASA Nebula across the government, and the Nebula team soon expanded the scope of its effort beyond NASA to the government at large.
While building a government infrastructure cloud was an audacious goal in its own right, the fact that the team decided to open source their code took NASA Nebula in an unexpected, serendipitous direction.
The Birth of OpenStack and the Departure of NASA
The Nebula team made two related decisions that may well prove to be as fateful in retrospect as, say, IBM's decision to outsource its PC operating system to Microsoft--it decided to foster an open-source community around Nebula's code, and it also decided to release the code via a more lenient license than the traditional, more restrictive NASA Open Source Agreement.
The nascent developer community that formed around Nebula soon attracted public cloud provider Rackspace. The vendor had been working on building an open source Cloud storage tool and thinking about coding a compute controller, while the NASA team had the compute controller done and planned a storage tool as its next step. The two organizations joined forces, and OpenStack was born.
[News: Rackspace Puts Openstack to Production Work News: Deutsche Telekom Backs OpenStack, Will Help Make it More Secure]
A couple years of heads-down hard work later, OpenStack is now poised to explode across the cloud computing landscape. Hundreds of vendors and cloud providers have signed on, including HP, AT&T, Dell and IBM. The NASA Nebula project has morphed into OpenStack Compute, codenamed Nova. OpenStack is still rough around the edges, but it promises to move into the role of the leading open-source software for implementing both public and private cloud environments--essentially serving as a cloud "operating system" available under the Apache 2.0 license.
NASA, however, has recently stepped out of the OpenStack limelight, preferring a role in the shadows for a number of reasons. On one hand, Chris Kemp, formerly the CIO of NASA's Ames Research Center and CTO of IT for NASA, was lured away by Silicon Valley opportunity to found Nebula Inc. (An investment by Sun co-founder and Google angel investor Andy Bechtolsheim didn't hurt.) Nebula is building an OpenStack-based "cloud in a box" appliance that will turn any properly architected data center into a private cloud. Back at NASA, on the other hand, the team decided the agency was better suited as a cloud consumer rather than a cloud technology developer and reduced its active participation in the OpenStack community.
Turning Point in Cloud History?
Only time will tell how significant OpenStack will be in the history of cloud computing, of course, but all signs indicate that OpenStack will earn its designation as the "Linux of the cloud." Meanwhile, though NASA has diminished its role in OpenStack, its move should be viewed more as a mother giving birth than a progenitor turning its back on its creation. After all, there's no reason why OpenStack--or any of the dozens of commercial products that will inevitably be built on top of it-- won't become the core of cloud efforts at NASA and across the federal government.
Furthermore, from the perspective of an American taxpayer, it's clear the time and effort NASA put into birthing OpenStack was money well spent. Both cloud computing as well as open source development represent technology trends that let organizations derive ongoing value from IT investments.
We've only scratched the surface of the value that OpenStack will provide to the cloud vendor, cloud provider and cloud consumer communities. In fact, the OpenStack story is a shining example of United States CIO Steven VanRoekel's Future First and Shared First initiatives--and the power of open government in action.
Jason Bloomberg is the president of ZapThink, a service-oriented architecture (SOA) advisory and analysis firm. Bloomberg focuses on enterprise architecture, SOA and cloud computing. Follow everything from CIO.com on Twitter @CIOonline, on Facebook, and on Google +.
Read more about development platforms in CIO's Development platforms Drilldown.