Post on 16-Jul-2015
transcript
Goddard Space Flight Center
A Unified Situational Awareness Dashboard
for Spacecraft Operations:
an integrated, fleet centric, cloud services based solution
Presented by
Haisam Idohaisam.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
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
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
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.
• Essential Characteristics
• Service Models
• Deployment Models
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
• 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
• 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
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
● 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
• 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/
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
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