12
Founded in 2003 Sophisticated, intuitive Visualisation and Interpretation of Genetic data Targeted Analysis Workflows Actionable Results We’re Hiring!

Biomatters and Amazon Web Services

Embed Size (px)

DESCRIPTION

Steven Stones-Havas spoke about how the Biomatters WebApp Development Group creates visualizations of biological data at the Amazon Web Summit in Auckland, May 2013 http://aws.amazon.com/aws-summit-2013/auckland/

Citation preview

Page 1: Biomatters and Amazon Web Services

• Founded in 2003• Sophisticated, intuitive Visualisation and Interpretation of

Genetic data• Targeted Analysis Workflows• Actionable Results• We’re Hiring!

Page 2: Biomatters and Amazon Web Services
Page 3: Biomatters and Amazon Web Services

Genome Browser - Requirements

• Smooth, intuitive experience in the browser– JavaScript/HTML5– Mobile friendly

• Tile Rendering– Like Google Maps– Requires fast database lookups

• Secure– Data must be encrypted at rest and in transit

• Local-deployable– Some customers not ready for cloud

Page 4: Biomatters and Amazon Web Services

Architecture

• Initial Architecture– On EC2– One autoscaling group (and ELB)– One Availability Zone

• Revised Architecture– VPC across two Availability Zones– Private subnets for security

Page 5: Biomatters and Amazon Web Services

VPC Architecture

ELB

Public Subnets Private Subnets

AZ 1

AZ 2

MASTER

MIN=0 MAX=2

MIN=1 MAX=3

DB Cluster

Internet

NAT

Page 6: Biomatters and Amazon Web Services

Web Stack

• Tomcat behind Apache• Session info stored in Elasticache• Monitoring

– Healthcheck Ping URL for the load balancer– Cloudwatch CPU alarms for autoscaling

• Autoscaling– Scales from 2 to 6 machines depending on load– For > 6 machines, the database becomes the bottleneck

• Deployment– Automatic deployment with no downtime

Page 7: Biomatters and Amazon Web Services

Automatic Deployment

1. Deploy latest code to master web node (through Tomcat manager)

2. Shutdown master tomcat

3. Take AMI snapshot

4. Restart master webnode, and wait for ping URL to respond

5. Teardown existing autoscaling config

6. Set up new autoscaling config

Page 8: Biomatters and Amazon Web Services

Database

• Local Deployment Requirement– Can’t use RDS or Dynamo

• MongoDB– Highly scalable NoSQL– Supports Advanced features

Page 9: Biomatters and Amazon Web Services

Database

• Base unit – pair of 50GB volumes in Raid0• 100GB Logical Volume (LVM)• Encryption Layer• XFS File System

– Can grow without unmounting

• Scaling– Storage scaling is manual– Performance scaling could be automatic

• Need to scale preemptively

Page 10: Biomatters and Amazon Web Services

Job Processing

DB Cluster

Incoming Job QueueWeb App

Processing Node

Completed Job Queue

Notification Node

S3

Status=NEW

Status=PROCESSINGStatus=COMPLETE

Status=NOTIFIED

Page 11: Biomatters and Amazon Web Services

Overview

• Multi-Availability Zone VPC with public and private subnets• ELB in front of Auto-Scaling web nodes• Statically scaled MongoDB Cluster• Encrypted volumes• Simple Queue Service for job processing• We’re Hiring!

Page 12: Biomatters and Amazon Web Services

Thank you!