Unified Situational Awareness Dashboard for Spacecraft Operations: an integrated, fleet centric, cloud services based solution
1. Goddard Space Flight Center
A Unified Situational Awareness Dashboard
for Spacecraft Operations:
an integrated, fleet centric, cloud services based solution
Presented by
Haisam Ido
haisam.ido@honeywell.com
Presented on
2014-09-26
5th IEEE International Conference on
Space Mission Challenges for
Information Technology
Laurel, MD September 24-26 2014
3. Objective of Project
•Integrate disparate mission data
sets, into a unified situational
awareness dashboard, for local
and remote users.
4. Implementation
• Cloud Computing Based Implementation
• Amazon Web Services (AWS) GovCloud: FedRAMP certified, FISMA
medium, SBU & ITAR permitted
• Rich Internet Application (RIA)
• Interactive, HTML5, javascript ….
• RESTful Web Service capable
• REST ~= Representational State Transfer
• http://en.wikipedia.org/wiki/Representational_state_transfer#Architectural_constraints
• ….
5. Presentation Layer
Logic Layer
Data Layer
RESTful
API
Data Providers
Contacts, Maneuvers, Orbital Events, Telemetry
Implementation – High Level Architecture
7. Implementation – Presentation Layer
Presentation Layer - Web Server
Purpose Webserver Appserver Datastore Admin
AWS Instance AWS Linux m1.medium m1.small m1.medium m1.micro
Nginx HTTP Proxy Server Yes No No No
HTML5 HTML5 Yes No No No
Javascript Web language Yes Yes No No
jQuery Javascript Library Yes No No No
Backbone.js Front-end Framework Yes No No No
Bootstrap Front-end Framework Yes No No No
Redis Key-value store Yes No No No
8. Implementation – Logic & Data Layers
Logic Layer - Application Server
Purpose Webserver Appserver Datastore Admin
Express.js Node.js Framework No Yes No No
Node.js Server side Javascript No Yes No No
Javascript Web language Yes Yes No No
Data Layer - Datastore Server
Purpose Webserver Appserver Datastore Admin
Bash Shell Yes Yes Yes Yes
Perl Scripting Yes Yes Yes Yes
MySQL RDBMS No No Yes No
9. Implementation – Configuration Management
Configuration Management Server
git client Version Control Client Yes Yes Yes Yes
git-server Version Control Server No No Yes No
10. Implementation - Routes (a sample)
Timeline/Events Routes
HTTP Verb Route JSON Object
GET /api/events Returns events
GET /api/events/current Returns currently occurring events
GET /api/events/next Returns upcoming, i.e. next, events
GET /api/events/summary Returns Summary of events
Telemetry Routes
HTTP Verb Route JSON Object
GET /api/telemetry Returns only latest telemetry
11. Amazon Web Services' (AWS) GovCloud
Users
Super User
AWS GovCloud's Web Console
Data
Provider(s)
GovCloud
Security Groups
(Firewalls)
webserver
datastore
appserver
Virtual Machines
webserver
Server
(small)
datastore
Server
(medium)
appserver
Server
(medium)
Elastic Block Storage
(EBS)
datastores
webserver
scm
appserver
Server ECU* RAM (GB) Instance Type
webserver 1 1.7 M1 Small Instance
appserver 2 3.75 M1 Medium Instance
datastore 2 3.75 M1 Medium Instance
* Denotes: 1 EC2 Compute Unit (1 virtual core with 1 EC2 Compute Unit)
12. Implementation - Products
TT&C Network
Network ACE Fermi LRO SDO SOHO SWIFT WIND
DSN Yes No Yes No Yes No Yes
Malindi No No No No No Yes No
NEN Yes Yes Yes Yes No Yes No
SDOGS No No No Yes No No No
SN No Yes No No No Yes No
USN No Yes Yes Yes No Yes No
Contact Products
Product ACE Fermi LRO SDO SOHO SWIFT WIND
Contacts Yes Yes Yes Yes Yes Yes Yes
Telemetry Product
Product ACE Fermi LRO SDO SOHO SWIFT WIND
Telemetry Yes Yes Yes Yes Yes Yes Yes
13. Implementation - Products
Orbital Events Products
Product ACE Fermi LRO SDO SOHO SWIFT WIND
Apoapsis No Yes No No No No No
Eclipse No Yes No Yes No No No
Lunar Day No No Yes No No No No
Penumbra No No Yes No No No No
Periapsis No Yes No No No No No
RAAN No Yes No No No No No
RADN No Yes No No No No No
SAA No No No No No Yes No
SAA-GBM No Yes No No No No No
SAA-LAT No Yes No No No No No
Shadow No No Yes No No No No
Umbra No No Yes No No No No
16. Point of Contacts
Support Mailing list: gsfc-dashboard-support@lists.nasa.gov
Developer Mailing list: ssmo-imsod-dev@lists.nasa.gov
Matthew Balman matthew.d.balman@nasa.gov
Ayoub Benguedouar ayoub.benguedouar@nasa.gov
Jerry C. Hicks jermaine.c.hicks-1@nasa.gov
Haisam Ido haisam.ido@honeywell.com
Marcin Pohl marcin.pohl@nasa.gov
18. A synopsis of Cloud Computing
• Cloud computing is a colloquial expression used to describe a variety of
different types of computing concepts that involve a large number of computers
connected through a real-time communication network (typically the Internet).[1]
Cloud computing is a jargon term without a commonly accepted non-ambiguous
scientific or technical definition. In science, cloud computing is a synonym for
distributed computing over a network and means the ability to run a program on
many connected computers at the same time. -- http://en.wikipedia.org/wiki/Cloud_computing
We won’t be using the above definition!
We will be using NIST’s definition.
19. DEFINITION OF CLOUD COMPUTING
National Institute of Standards and Technology (NIST)’s
22. NIST's Definition of Cloud Computing
• On-demand self-service. A consumer can unilaterally provision
computing capabilities, such as server time and network storage, as
needed automatically without requiring human interaction with each
service provider.
• Broad network access. Capabilities are available over the network and
accessed through standard mechanisms that promote use by
heterogeneous thin or thick client platforms (e.g., mobile phones, tablets,
laptops, and workstations).
http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf
Essential Characteristics
23. NIST's Definition of Cloud Computing
• Resource pooling. The provider’s computing resources are pooled to
serve multiple consumers using a multi-tenant model, with different
physical and virtual resources dynamically assigned and reassigned
according to consumer demand. There is a sense of location
independence in that the customer generally has no control or knowledge
over the exact location of the provided resources but may be able to
specify location at a higher level of location of the provided resources but
may be able to specify location at a higher level of abstraction (e.g.,
country, state, or datacenter). Examples of resources include storage,
processing, memory, and network bandwidth.
Essential Characteristics
24. NIST's Definition of Cloud Computing
• Rapid elasticity. Capabilities can be elastically provisioned and released,
in some cases automatically, to scale rapidly outward and inward
commensurate with demand. To the consumer, the capabilities available
for provisioning often appear to be unlimited and can be appropriated in
any quantity at any time.
• Measured service. Cloud systems automatically control and optimize
resource use by leveraging a metering capability
Essential Characteristics
26. • Infrastructure as a Service (IaaS). The capability provided to the
consumer is to provision processing, storage, networks, and other
fundamental computing resources where the consumer is able to deploy
and run arbitrary software, which can include operating systems and
applications. The consumer does not manage or control the underlying
cloud infrastructure but has control over operating systems, storage, and
deployed applications; and possibly limited control of select networking
components (e.g., host firewalls).
NIST's Definition of Cloud Computing: Service Models
Service Models
27. • Software as a Service (SaaS). The capability provided to the consumer is
to use the provider’s applications running on a cloud infrastructure. The
applications are accessible from various client devices through either a thin
client interface, such as a web browser (e.g., web-based email), or a
program interface. The consumer does not manage or control the
underlying cloud infrastructure including network, servers, operating
systems, storage, or even individual application capabilities, with the
possible exception of limited user specific application configuration settings
• Platform as a Service (PaaS). The capability provided to the consumer is
to deploy onto the cloud infrastructure consumer-created or acquired
applications created using programming languages, libraries, services, and
tools supported by the provider. The consumer does not manage or control
the underlying cloud infrastructure including network, servers, operating
systems, or storage, but has control over the deployed applications and
possibly configuration settings for the application-hosting environment
NIST's Definition of Cloud Computing: Service Models
Service Models
28. NIST's Definition of Cloud Computing: Service Models
Source: http://www.saasblogs.com/images/uploads/2008/12/cloud_stack.gif
29. • IaaS http://aws.amazon.com or http://hpcloud.com
• SaaS https://www.nasafcu.com/ or http://wordpress.com/
• PaaS https://www.openshift.com/ or https://codenvy.com/
• Data as a Service (DaaS) a subset of SaaS
NIST's Definition of Cloud Computing: Service Models
Examples of Service Model Providers
31. • Private cloud: The cloud infrastructure is provisioned for exclusive use by
a single organization comprising multiple consumers (e.g., business units).
It may be owned, managed, and operated by the organization, a third
party, or some combination of them, and it may exist on or off premises.
• Community cloud: The cloud infrastructure is provisioned for exclusive
use by a specific community of consumers from organizations that have
shared concerns (e.g., mission, security requirements, policy, and
compliance considerations). It may be owned, managed, and operated by
one or more of the organizations in the community, a third party, or some
combination of them, and it may exist on or off premises
• Public cloud: The cloud infrastructure is provisioned for open use by the
general public. It may be owned, managed, and operated by a business,
academic, or government organization, or some combination of them. It
exists on the premises of the cloud provider.
NIST's Definition of Cloud Computing: Deployment Models
Deployment Models
32. • Hybrid cloud. The cloud infrastructure is a composition of two or more
distinct cloud infrastructures (private, community, or public) that remain
unique entities, but are bound together by standardized or proprietary
technology that enables data and application portability (e.g., cloud
bursting for load balancing between clouds)
NIST's Definition of Cloud Computing: Deployment Models
Deployment Models
35. Source: http://en.wikipedia.org/wiki/Hypervisor
Virtualizations & Hypervisors
• Kernel-based Virtual Machine (KVM) – Linux – Open Source
• Xen – Linux – Open Source
• HyperV - Microsoft - Proprietary
“In computing, a hypervisor or virtual machine monitor (VMM) is a piece of computer software,
firmware or hardware that creates and runs virtual machines”
40. • High Level Requirements
• Technically mature and capable
• Appropriate for NASA’s government projects
• FISMA low and medium compliant
• FedRAMP compliant
Selection of a Cloud Computing Provider
41. Amazon Web Services
• Amazon Web Services (abbreviated AWS) is a
collection of remote computing services (also called
web services) that together make up a cloud computing
platform, offered over the Internet by Amazon.com. The
most central and well-known of these services are
Amazon EC2and Amazon S3. The service is advertised
as providing a large computing capacity (potentially
many servers) much faster and cheaper than building a
physical server farm.[2]
https://en.wikipedia.org/wiki/Amazon_Web_Services
Selection of a Cloud Computing Provider
42. Amazon Web Service - GovCloud
• AWS GovCloud (US) is an isolated AWS Region designed to
allow US government agencies and customers to move sensitive
workloads into the cloud by addressing their specific regulatory
and compliance requirements. The AWS GovCloud (US)
framework adheres to U.S. International Traffic in Arms
Regulations (ITAR) regulations as well as the Federal Risk
and Authorization Management Program (FedRAMPSM)
requirements. FedRAMP is a U.S. government-wide program
that provides a standardized approach to security assessment,
authorization, and continuous monitoring for cloud products and
services. AWS GovCloud (US) has received an Agency
Authorization to Operate (ATO) from the US Department of
Health and Human Services (HHS) utilizing a FedRAMP accredited
Third Party Assessment Organization (3PAO).
http://aws.amazon.com/govcloud-us/
Selection of a Cloud Computing Provider
43. Amazon Elastic Cloud 2 (EC2)
• Amazon EC2 cloud is made up of almost half-a-million Linux
servers (in 2012)
• Infrastructure as a Service (IaaS)
Selection of a Cloud Computing Provider
How to get started on AWS’ Free Tier
• http://aws.amazon.com/free/
45. Live Demo
• Instantiating a Red Hat Enterprise Linux 6.4
• Instantiating a Microsoft Windows Server 2008 Base
• SSMO’S Dashboard
Selection of a Cloud Computing Provider