Building a Center-Wide Private Cloud at NASA Goddard
Overview
The Goddard Private Cloud (GPC) is a large, on-premise, private cloud based on the open source projects of the OpenStack community. While there are other virtualization environments at NASA Goddard Space Flight Center, the GPC is a true cloud, comprising a fully API-driven, composable infrastructure with software-defined networking and storage. It is predominantly geared toward engineering workloads but is well-suited to many other tasks, such as web hosting.
Project Details
The GPC is built for scalability and high availability, including the ability to span multiple data centers. Interconnected by the NASA Scientific and Engineering Network (SEN), it currently has hardware in two buildings, with plans to expand into a third. The GPC uses an expandable 100 Gigabit Ethernet leaf-spine switch topology. Any switch can be rebooted without impacting the infrastructure. Each hypervisor has 2 x 10 Gigabit Ethernet connections, dual-connected to different leaf switches, for redundancy.
The GPC’s hypervisors are repurposed compute nodes from the NASA Center for Climate Simulation’s Discover supercomputer—currently 80 Sandy Bridge-class dual-socket Intel Xeon servers. That number is expected to double next year, using Haswell-class Xeons. GPC can easily handle such growth because it uses Nova Cells, which allow for greater scalability by splitting up hypervisors into smaller groupings called “cells.” High-availability virtual routers can “float” to any one of three physical network nodes. Every API service is triplicated and load-balanced, and even the load-balancer has a failover. There are no single points of failure.
The GPC uses an enterprise-grade Network File System (NFS) storage backend. Virtual machine (VM) images and running VMs are all stored on solid-state drives (SSDs) to ensure responsiveness. Very large VMs boot in seconds. The GPC supports snapshots and backups, as well as VM live migration. All of the storage uses encryption at rest, making it feasible to host sensitive data. Many applications anticipate a POSIX filesystem, and the GPC will allow users to have file servers inside a tenant or access large on-premise data sources over fast and secure networks.
Results and Impact
Compared to public clouds, the GPC is a better platform for “lifting and shifting” traditional engineering applications from older infrastructure into a cloud environment. To achieve best performance, scalability, and reliability, such applications often need to be broken down into their component parts and distributed across multiple VMs. Development can be iterative and time consuming, and GPC support staff are available to guide teams and advise on best practices.
Although built just this year, the GPC already hosts the public-facing website for the Exoplanet Modeling and Analysis Center (EMAC). It also allows the Microwave Instruments team to run High Frequency Structure Simulator (HFSS) MPI jobs across Windows VMs.
Why HPC Matters
The GPC extends the life of high-performance computing (HPC) hardware, providing NASA with cloud computing reaching beyond traditional HPC work—where clouds really shine, thanks to their inherently flexible nature. It is also more cost-effective, especially while groups figure out how to fine-tune a cloud-hosted strategy. The GPC is a “safe place” to learn how to cloud before spending money in the public cloud. However, there will always be some applications that are too sensitive, too costly, or too data-intensive to run in a public cloud, and the GPC stands ready to host those applications and help move NASA Goddard and its Science and Exploration Directorate’s cloud computing efforts forward.
More Information
- See the poster for this demonstration (PDF, 2.4MB). As shown in the NASA booth at SC18.
jonathan.mills@nasa.gov Hoot Thompson, NASA Goddard Space Flight Center
hoot.thompson@nasa.gov