A Cloud-based Architecture for Processing 3D Mars Terrain

Similar documents
Training on Amazon AWS Cloud Computing. Course Content

Enroll Now to Take online Course Contact: Demo video By Chandra sir

How can you implement this through a script that a scheduling daemon runs daily on the application servers?

AWS Course Syllabus. Linux Fundamentals. Installation and Initialization:

DevOps Course Content

Introduction to Cloud Computing

AALOK INSTITUTE. DevOps Training

At Course Completion Prepares you as per certification requirements for AWS Developer Associate.

Amazon Web Services Training. Training Topics:

Introduction to cloud computing

Amazon Web Services (AWS) Training Course Content

Amazon Web Services (AWS) Solutions Architect Intermediate Level Course Content

DEVOPS COURSE CONTENT

LINUX, WINDOWS(MCSE),

ActiveNET. #202, Manjeera Plaza, Opp: Aditya Park Inn, Ameerpetet HYD

AWS Solution Architect Associate

AWS London Loft: CloudFormation Workshop

Important DevOps Technologies (3+2+3days) for Deployment

Amazon Web Services. Block 402, 4 th Floor, Saptagiri Towers, Above Pantaloons, Begumpet Main Road, Hyderabad Telangana India

PrepAwayExam. High-efficient Exam Materials are the best high pass-rate Exam Dumps

We are ready to serve Latest IT Trends, Are you ready to learn? New Batches Info

Cognitive about designing, deploying and operating highly available, scalable and fault tolerant systems using Amazon Web Services (AWS).

Installation of Informatica Services on Amazon EC2

AWS Administration. Suggested Pre-requisites Basic IT Knowledge

AWS Solutions Architect Associate (SAA-C01) Sample Exam Questions

Amazon Web Services 101 April 17 th, 2014 Joel Williams Solutions Architect. Amazon.com, Inc. and its affiliates. All rights reserved.

Cloud Computing /AWS Course Content

Designing Fault-Tolerant Applications

CIT 668: System Architecture. Amazon Web Services

Design Patterns for the Cloud. MCSN - N. Tonellotto - Distributed Enabling Platforms 68

Agile CI/CD with Jenkins and/at ZeroStack. Kiran Bondalapati CTO, Co-Founder & Jenkins Admin ZeroStack, Inc. (

DevOps Course Content

Cloud Computing. Amazon Web Services (AWS)

Introduction to AWS GoldBase. A Solution to Automate Security, Compliance, and Governance in AWS

INDIGO PAAS TUTORIAL. ! Marica Antonacci RIA INFN-Bari

Altus Data Engineering

Amazon Web Services Course Outline

Advanced Continuous Delivery Strategies for Containerized Applications Using DC/OS

We are ready to serve Latest Testing Trends, Are you ready to learn?? New Batches Info

DevOps examples on NonStop Tools Overview. Cor Geboers, ATC Consultant

Netflix OSS Spinnaker on the AWS Cloud

About Intellipaat. About the Course. Why Take This Course?

DevOps Online Training

Emulating Lambda to speed up development. Kevin Epstein CTO CorpInfo AWS Premier Partner

The Long Road from Capistrano to Kubernetes

High School Technology Services myhsts.org Certification Courses

DevOps Tooling from AWS

What is Cloud Computing? What are the Private and Public Clouds? What are IaaS, PaaS, and SaaS? What is the Amazon Web Services (AWS)?

How to build scalable, resilient applications in AWS Cloud using Simple Workflow Service. Cristian Balcanu

Google Cloud Platform for Systems Operations Professionals (CPO200) Course Agenda

CS15-319: Cloud Computing. Lecture 3 Course Project and Amazon AWS Majd Sakr and Mohammad Hammoud

Amazon Linux: Operating System of the Cloud

Microservices on AWS. Matthias Jung, Solutions Architect AWS

DevOps on AWS Deep Dive on Continuous Delivery and the AWS Developer Tools

A Big Red Button for SAS administrators: Myth or Reality?

Continuous Integration and Deployment (CI/CD)

AWS 101. Patrick Pierson, IonChannel

Con$nuous Deployment with Docker Andrew Aslinger. Oct

Managing Deep Learning Workflows

ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS

DevOps Technologies. for Deployment

Swift Web Applications on the AWS Cloud

Introduction to Amazon Cloud & EC2 Overview

Developing Microsoft Azure Solutions (70-532) Syllabus

Puppet on the AWS Cloud

AWS: Basic Architecture Session SUNEY SHARMA Solutions Architect: AWS

ThinkPalm s BreakThrough DevOps Capabilities ThinkPalm

Automating Elasticity. March 2018

Developing Microsoft Azure Solutions (70-532) Syllabus

Ansible Tower Quick Setup Guide

Introduction to Amazon Web Services. Jeff Barr Senior AWS /

CONTINUOUS DELIVERY WITH DC/OS AND JENKINS

Container Orchestration on Amazon Web Services. Arun

JetBrains TeamCity Comparison

Using DC/OS for Continuous Delivery

Backtesting in the Cloud

The Orion Papers. AWS Solutions Architect (Associate) Exam Course Manual. Enter

CAE-SCRUB for Incorporating Static Analysis into Peer Reviews

DEVOPS TRAINING COURSE CONTENT

Research at PNNL: Powered by AWS NLIT 2018

Amazon AWS-Solution-Architect-Associate Exam

PracticeDump. Free Practice Dumps - Unlimited Free Access of practice exam

Simplified CICD with Jenkins and Git on the ZeroStack Platform

Zombie Apocalypse Workshop

Lessons learned while automating MySQL in the AWS cloud. Stephane Combaudon DB Engineer - Slice

How the Cloud is Enabling the Disruption of the Construction Industry. AWS Case Study Construction Industry. Abstract

EVERYTHING AS CODE A Journey into IT Automation and Standardization. Raphaël Pinson

Cloudera s Enterprise Data Hub on the Amazon Web Services Cloud: Quick Start Reference Deployment October 2014

Expected Learning Outcomes Introduction To AWS

Experiences with Serverless Big Data

Serverless Website Publishing with AWS Code* Services. Steffen Grunwald Solutions Architect, AWS October 27, 2016

Basics of Cloud Computing Lecture 2. Cloud Providers. Satish Srirama

AWS Service Catalog. User Guide

Image Processing on the Cloud. Outline

Accenture Cloud Platform Serverless Journey

DevNet Workshop-Hands-on with CloudCenter and Jenkins

Continuous Integration using Docker & Jenkins

Developing Microsoft Azure Solutions

AWS Interview Questions and Answers

Jinkun Jang Samsung Electronics

Transcription:

OnSight A Cloud-based Architecture for Processing 3D Mars Terrain Parker Abercrombie Jet Propulsion Laboratory, California Institute of Technology 2016 California Institute of Technology. Government sponsorship acknowledged.

Curiosity Mars Rover

Gale Crater

Mars Reconnaissance Orbiter

HIRISE Navcam Mastcam

Terrain Pipeline Mars Images Image Processing Pipeline Magic! Mesh & texture Hololens

Stats ~430 scenes built (and more every day) 1 scene = ~1000 input images (5 GB) 1 build = 100-300 MB of mesh and texture files ~2.5 hr runtime (on 1 computer)

High-level Needs Detect when new data is available Long running, resource intensive task See what s happening Make results available to users Bursty workload

Technology Stack* Amazon SNS Amazon SQS CloudWatch Amazon EC2 Amazon S3 Amazon EBS CloudFront Amazon RDS *Reference herein to any specific commercial product, process, or service by trade name, trademark, manufacturer, or otherwise, does not constitute or imply its endorsement by the United States Government or the Jet Propulsion Laboratory, California Institute of Technology.

Build Manager Mars Mission Data System Jenkins OnSight S3 Bucket Worker Worker

Build Manager Build Manager Mars Mission Data System Jenkins OnSight S3 Bucket Worker Worker Mars data system Build Cluster Distribution

1. Poll for new data Build Manager Mars Mission Data System Jenkins OnSight S3 Bucket Worker Worker Mars data system

2. Index new data 1 Build Manager Mars Mission Data System Jenkins OnSight S3 Bucket Worker Worker Mars data system

1 Build Manager 2 Mars Mission Data System 3. Request build Jenkins OnSight S3 Bucket Worker Worker Mars data system

1 Build Manager 2 Mars Mission Data System 4. Manage workers and start job 3 Jenkins Worker Worker OnSight S3 Bucket Mars data system

1 Build Manager 2 Mars Mission Data System 3 Jenkins 4 Worker Worker OnSight S3 Bucket Mars data system 5. Pull data and run job

1 Build Manager 2 Mars Mission Data System 3 Jenkins 4 Worker Worker OnSight S3 Bucket Mars data system 5 6. Upload results

Mars Mission Data System 1 Build Manager 3 Jenkins 4 2 7. Update status OnSight S3 Bucket Worker Worker Mars data system 5 6

1 Build Manager 2 Mars Mission Data System 3 7 Jenkins 4 Worker Worker 8. Fetch data OnSight S3 Bucket Mars data system 5 6

EC2 Build Manager RDS S3 Mars Mission Data System EC2 Jenkins SQS OnSight S3 Bucket EC2 Worker Worker CloudFront Mars data system

Build Manager Mars Mission Data System Jenkins OnSight S3 Bucket Worker Worker Mars data system

Build Manager

Build Manager Purpose: Orchestrates image pipeline builds Dashboard Technologies Loopback framework - RESTful API Twitter Bootstrap & Angularjs frontend RDS - database Amazon SNS Amazon SQS CloudWatch Amazon EC2 Amazon EBS Amazon RDS

Amazon Relational Database Service (RDS) Auto snapshot Click to restore Zero maintenance required Why not NoSQL? Scalability not an issue More concern with capability with existing tools

Data API GET /TerrainBuild/{id} POST /TerrainBuild/{id} GET /TerrainBuild/where={filter} Amazon RDS Access data through LoopBack REST API Database independent Easy to add business logic with JavaScript

CloudWatch Log Management

Build Cluster

Jenkins What is it? Build system Continuous Integration & Delivery Similar tools: Bamboo, CruiseControl What do we use it for? Manage worker nodes Compile and run pipeline code Amazon SQS CloudWatch Amazon EC2 Amazon S3 Amazon EBS

10.0.0.1 10.0.0.2 10.0.0.3

10.0.0.1 10.0.0.2 10.0.0.3

10.0.0.1 10.0.0.2 10.0.0.3

10.0.0.1

10.0.0.1

10.0.0.1

Cluster management with Jenkins Periodic task checks work queue vs. cluster Work queue Task >? Build Cluster

Cluster management with Jenkins Work queue Task > Build Cluster

Cluster management with Jenkins Work queue Task < Build Cluster

Handling sub-tasks Data intensive task, only want one per worker But want to be able to run sub-tasks Worker Node 1 2 3 4 5 6 7 Main task == 4 slots 3 slots left for sub-tasks

Jenkins cluster Periodic task to scale cluster Automation with Groovy scripts Use tags for different type of worker e.g. dev vs. production

Worker Nodes

Workers GPU-enabled EC2 machines Windows 2012 Run image processing code (C# binary) Created from base image with software installed

EC2 Instance Types GPU vcpu Mem (GB) Cost* g2.2xlarge 1 8 15 $0.65/hr g2.8xlarge 4 32 60 $2.60/hr *The cost information contained in this document is of a budgetary and planning nature and is intended for informational purposes only. It does not constitute a commitment on the part of JPL and/or Caltech.

Worker Lifecycle Worker Node 1) Pull code from git 2) Pull source data 3) Run pipeline 4) Push to OnSight S3 5) Notify Build Manager OnSight S3 Bucket Mission Data System

Workers Lessons Learned Prefer keeping data and code outside of snapshot GPU on cloud machines is troublesome

Bonus Spot Instances 7x cheaper! $0.10/hr* Used for non-critical work *The cost information contained in this document is of a budgetary and planning nature and is intended for informational purposes only. It does not constitute a commitment on the part of JPL and/or Caltech.

Storage & Distribution

Data Storage & Distribution S3 reliable storage CloudFront distribution network Secured via signed cookies OnSight S3 Bucket CloudFront Distributions

Deployment

Ansible Overview IT Automation Tool Software Deployment & Configuration Infrastructure Management (including cloud) Similar tools: Chef, Puppet, Salt

Ansible Playbooks - name: Create jenkins user sudo: yes user: name=jenkins

Ansible Playbooks - name: ensure directories permissions sudo: yes file: path ~/.ssh owner=jenkins mode=0700 state=directory

Ansible Playbooks - name: copy template sudo: yes template: src=jenkins.conf.j2 dest=/etc/default/jenkins backup=yes mode=0644 notify: - restart jenkins

Deploying with Ansible 1) Create EC2 instance 2) ansible-playbook -i production deploy.yml \ --extra-vars "env=production" \ --vault-password-file VAULT_FILE

Ansible Used to configure all Linux servers Not yet using for Windows

Build Manager Mars Mission Data System Jenkins OnSight S3 Bucket Worker Worker

Future work (More) auto-scaling & management Use Ansible to manage worker AMIs Split pipeline into smaller services

Acknowledgements Jeff Norris Jay Torres Alex Menzies Jesse Kriss Darren Dao Tom Crockett Charley Goddard Alice Winter Matt Clausen Microsoft

Q & A OnSight A Cloud-based Architecture for Processing 3D Mars Terrain Parker Abercrombie parker.abercrombie@jpl.nasa.gov Jet Propulsion Laboratory, California Institute of Technology More info: opslab.jpl.nasa.gov Feedback: goo.gl/forms/yxhcmrksas