unified situational awareness dashboard for spacecraft operations: an integrated, fleet centric,...

50
Goddard Space Flight Center A Unified Situational Awareness Dashboard for Spacecraft Operations: an integrated, fleet centric, cloud services based solution Presented by Haisam Ido h [email protected] Presented on 2014-09-26 5 th IEEE International Conference on Space Mission Challenges for Information Technology Laurel, MD September 24-26 2014

Upload: haisam-ido

Post on 16-Jul-2015

94 views

Category:

Technology


0 download

TRANSCRIPT

Goddard Space Flight Center

A Unified Situational Awareness Dashboard

for Spacecraft Operations:

an integrated, fleet centric, cloud services based solution

Presented by

Haisam [email protected]

Presented on

2014-09-26

5th IEEE International Conference on

Space Mission Challenges for

Information Technology

Laurel, MD September 24-26 2014

Agenda

• Objective of Project

• Implementation

• Demo

• POCs

• Backup slides

Objective of Project

•Integrate disparate mission data sets, into a unified situational awareness dashboard, for local and remote users.

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

• ….

Presentation Layer

Logic Layer

Data Layer

RESTful

API

Data Providers

Contacts, Maneuvers, Orbital Events, Telemetry

Implementation – High Level Architecture

High Level Architecture

Datastore Appserver Webserver

Public Facing

m1.medium instance m1.medium instance m1.small instance

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

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

Implementation – Configuration Management

Configuration Management Server

git client Version Control Client Yes Yes Yes Yes

git-server Version Control Server No No Yes No

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

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)

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

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

Demo

Demo

Point of Contacts

Support Mailing list: [email protected]

Developer Mailing list: [email protected]

Matthew Balman [email protected]

Ayoub Benguedouar [email protected]

Jerry C. Hicks [email protected]

Haisam Ido [email protected]

Marcin Pohl [email protected]

BACKUP SLIDES

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.

DEFINITION OF CLOUD COMPUTING

National Institute of Standards and Technology (NIST)’s

• Essential Characteristics

• Service Models

• Deployment Models

NIST's Definition of Cloud Computing

ESSENTIAL CHARACTERISTICS

NIST's Definition of Cloud Computing

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

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

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

SERVICE MODELS

NIST's Definition of Cloud Computing

• 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

• 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

NIST's Definition of Cloud Computing: Service Models

Source: http://www.saasblogs.com/images/uploads/2008/12/cloud_stack.gif

• 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

DEPLOYMENT MODELS

NIST's Definition of Cloud Computing

• 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

• 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

Source: http://www.kloudpros.com/wp-content/uploads/2012/05/CC-DeploymentModels-1024x734.png

NIST's Definition of Cloud Computing: Deployment Models

Hypervisors & Open Source Cloud Computing Platforms

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”

● OpenStack (http://openstack.org)

● Co-developed by NASA’s ARC & RackSpace

● OpenNebula (http://opennebula.org/)

● Eucalyptus (http://www.eucalyptus.com/)

Open Source Cloud Computing Platforms

Cloud Computing Providers

● Amazon Web Services - http://aws.amazon.com/

● Google Cloud - https://cloud.google.com/

● HPCloud* - http://hpcloud.com/

● Rackspace* - http://www.rackspace.com/

● ….

* Based on NASA’s open source and co-produced OpenStack platform

Cloud Computing Providers

SSMO & Cloud Computing

• 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

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 computingplatform, 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

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

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/

Demonstrations of Amazon Web Services (AWS)

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

Demonstration of SSMO’s Dashboard

https://webserver/

High Level Architecture of SSMO’s Dashboard

Datastore & CI Server Appserver Webserver

Public Facing

References

• NIST definition of Cloud Computinghttp://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf

Recommended Reading

• NASA’s Progress in Adopting Cloud-Computing Technologies• http://oig.nasa.gov/audits/reports/FY13/IG-13-021.pdf