SlideShare a Scribd company logo
1 of 12
• Founded in 2003
• Sophisticated, intuitive Visualisation and Interpretation of
Genetic data
• Targeted Analysis Workflows
• Actionable Results
• We’re Hiring!
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
Architecture
• Initial Architecture
– On EC2
– One autoscaling group (and ELB)
– One Availability Zone
• Revised Architecture
– VPC across two Availability Zones
– Private subnets for security
VPC Architecture
ELB
Public Subnets Private Subnets
AZ 1
AZ 2
MASTER
MIN=0 MAX=2
MIN=1 MAX=3
DB Cluster
Internet
NAT
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
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
Database
• Local Deployment Requirement
– Can’t use RDS or Dynamo
• MongoDB
– Highly scalable NoSQL
– Supports Advanced features
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
Job Processing
DB Cluster
Incoming Job QueueWeb App
Processing Node
Completed Job Queue
Notification Node
S3
Status=NEW
Status=PROCESSINGStatus=COMPLETE
Status=NOTIFIED
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!
Thank you!

More Related Content

What's hot

Building & Testing Scalable Rails Applications
Building & Testing Scalable Rails ApplicationsBuilding & Testing Scalable Rails Applications
Building & Testing Scalable Rails Applications
evilmike
 

What's hot (20)

Using Kafka as a Database For Real-Time Transaction Processing | Chad Preisle...
Using Kafka as a Database For Real-Time Transaction Processing | Chad Preisle...Using Kafka as a Database For Real-Time Transaction Processing | Chad Preisle...
Using Kafka as a Database For Real-Time Transaction Processing | Chad Preisle...
 
Transitioning From SQL Server to MySQL - Presentation from Percona Live 2016
Transitioning From SQL Server to MySQL - Presentation from Percona Live 2016Transitioning From SQL Server to MySQL - Presentation from Percona Live 2016
Transitioning From SQL Server to MySQL - Presentation from Percona Live 2016
 
Change Data Capture using Kafka
Change Data Capture using KafkaChange Data Capture using Kafka
Change Data Capture using Kafka
 
Using Serverless Architectures to build and provision modern infrastructures​
Using Serverless Architectures to build and provision modern infrastructures​Using Serverless Architectures to build and provision modern infrastructures​
Using Serverless Architectures to build and provision modern infrastructures​
 
Azure Cosmos DB Kafka Connectors | Abinav Rameesh, Microsoft
Azure Cosmos DB Kafka Connectors | Abinav Rameesh, MicrosoftAzure Cosmos DB Kafka Connectors | Abinav Rameesh, Microsoft
Azure Cosmos DB Kafka Connectors | Abinav Rameesh, Microsoft
 
JDD 2016 - Jacek Bukowski - "Flying To Clouds" - Can It Be Easy?
JDD 2016 - Jacek Bukowski - "Flying To Clouds" - Can It Be Easy?JDD 2016 - Jacek Bukowski - "Flying To Clouds" - Can It Be Easy?
JDD 2016 - Jacek Bukowski - "Flying To Clouds" - Can It Be Easy?
 
Flying to clouds - can it be easy? Cloud Native Applications
Flying to clouds - can it be easy? Cloud Native ApplicationsFlying to clouds - can it be easy? Cloud Native Applications
Flying to clouds - can it be easy? Cloud Native Applications
 
Riak at shareaholic
Riak at shareaholicRiak at shareaholic
Riak at shareaholic
 
Managing multiple event types in a single topic with Schema Registry | Bill B...
Managing multiple event types in a single topic with Schema Registry | Bill B...Managing multiple event types in a single topic with Schema Registry | Bill B...
Managing multiple event types in a single topic with Schema Registry | Bill B...
 
How Apache Kafka® Works
How Apache Kafka® WorksHow Apache Kafka® Works
How Apache Kafka® Works
 
How Kafka and MemSQL Became the Dynamic Duo (Sarung Tripathi, MemSQL) Kafka S...
How Kafka and MemSQL Became the Dynamic Duo (Sarung Tripathi, MemSQL) Kafka S...How Kafka and MemSQL Became the Dynamic Duo (Sarung Tripathi, MemSQL) Kafka S...
How Kafka and MemSQL Became the Dynamic Duo (Sarung Tripathi, MemSQL) Kafka S...
 
Hands-on Performance Tuning Lab - Devoxx Poland
Hands-on Performance Tuning Lab - Devoxx PolandHands-on Performance Tuning Lab - Devoxx Poland
Hands-on Performance Tuning Lab - Devoxx Poland
 
Building & Testing Scalable Rails Applications
Building & Testing Scalable Rails ApplicationsBuilding & Testing Scalable Rails Applications
Building & Testing Scalable Rails Applications
 
Introduction to Kafka
Introduction to KafkaIntroduction to Kafka
Introduction to Kafka
 
High availability
High availabilityHigh availability
High availability
 
Asynchronous Transaction Processing With Kafka as a Single Source of Truth - ...
Asynchronous Transaction Processing With Kafka as a Single Source of Truth - ...Asynchronous Transaction Processing With Kafka as a Single Source of Truth - ...
Asynchronous Transaction Processing With Kafka as a Single Source of Truth - ...
 
Taming a massive fleet of Python-based Kafka apps at Robinhood | Chandra Kuch...
Taming a massive fleet of Python-based Kafka apps at Robinhood | Chandra Kuch...Taming a massive fleet of Python-based Kafka apps at Robinhood | Chandra Kuch...
Taming a massive fleet of Python-based Kafka apps at Robinhood | Chandra Kuch...
 
How does Riak compare to Cassandra? [Cassandra London User Group July 2011]
How does Riak compare to Cassandra? [Cassandra London User Group July 2011]How does Riak compare to Cassandra? [Cassandra London User Group July 2011]
How does Riak compare to Cassandra? [Cassandra London User Group July 2011]
 
How Pulsar Stores Your Data - Pulsar Summit NA 2021
How Pulsar Stores Your Data - Pulsar Summit NA 2021How Pulsar Stores Your Data - Pulsar Summit NA 2021
How Pulsar Stores Your Data - Pulsar Summit NA 2021
 
Rolling With Riak
Rolling With RiakRolling With Riak
Rolling With Riak
 

Viewers also liked

Universal design for learners
Universal design for learnersUniversal design for learners
Universal design for learners
Josh Biddle
 
ประชาคมอาเซี่ยน
ประชาคมอาเซี่ยนประชาคมอาเซี่ยน
ประชาคมอาเซี่ยน
0855291102
 
Estrategiasaludmentalue1 090407050647-phpapp02
Estrategiasaludmentalue1 090407050647-phpapp02Estrategiasaludmentalue1 090407050647-phpapp02
Estrategiasaludmentalue1 090407050647-phpapp02
shosholosa
 

Viewers also liked (13)

Universal design for learners
Universal design for learnersUniversal design for learners
Universal design for learners
 
Same same but different
Same same but differentSame same but different
Same same but different
 
"BaseSpace Apps- Is One Enough?' Biomatters' CTO D.Matt Landry on Bioinformat...
"BaseSpace Apps- Is One Enough?' Biomatters' CTO D.Matt Landry on Bioinformat..."BaseSpace Apps- Is One Enough?' Biomatters' CTO D.Matt Landry on Bioinformat...
"BaseSpace Apps- Is One Enough?' Biomatters' CTO D.Matt Landry on Bioinformat...
 
ประชาคมอาเซี่ยน
ประชาคมอาเซี่ยนประชาคมอาเซี่ยน
ประชาคมอาเซี่ยน
 
Presentacion
PresentacionPresentacion
Presentacion
 
Bintulu
BintuluBintulu
Bintulu
 
XLENT Strategy kundupplevelsestudie 2013
XLENT Strategy kundupplevelsestudie 2013XLENT Strategy kundupplevelsestudie 2013
XLENT Strategy kundupplevelsestudie 2013
 
Chrome+HTML5 Developers Live Japan #5
Chrome+HTML5 Developers Live Japan #5Chrome+HTML5 Developers Live Japan #5
Chrome+HTML5 Developers Live Japan #5
 
Estrategiasaludmentalue1 090407050647-phpapp02
Estrategiasaludmentalue1 090407050647-phpapp02Estrategiasaludmentalue1 090407050647-phpapp02
Estrategiasaludmentalue1 090407050647-phpapp02
 
Taleem
TaleemTaleem
Taleem
 
V1 admissions and enrolment policy
V1 admissions and enrolment policyV1 admissions and enrolment policy
V1 admissions and enrolment policy
 
Telivisiones inteligentes
Telivisiones inteligentesTelivisiones inteligentes
Telivisiones inteligentes
 
Geophysical exploration
Geophysical exploration Geophysical exploration
Geophysical exploration
 

Similar to Biomatters and Amazon Web Services

Why Kubernetes as a container orchestrator is a right choice for running spar...
Why Kubernetes as a container orchestrator is a right choice for running spar...Why Kubernetes as a container orchestrator is a right choice for running spar...
Why Kubernetes as a container orchestrator is a right choice for running spar...
DataWorks Summit
 
Migrating enterprise workloads to AWS
Migrating enterprise workloads to AWSMigrating enterprise workloads to AWS
Migrating enterprise workloads to AWS
Tom Laszewski
 
Cloud stack overview
Cloud stack overviewCloud stack overview
Cloud stack overview
howie YU
 
ASP.NET Scalability - DDD7
ASP.NET Scalability - DDD7ASP.NET Scalability - DDD7
ASP.NET Scalability - DDD7
Phil Pursglove
 
ASP.NET Scalability - VBUG London
ASP.NET Scalability - VBUG LondonASP.NET Scalability - VBUG London
ASP.NET Scalability - VBUG London
Phil Pursglove
 
ASP.NET Scalability - NxtGen Oxford
ASP.NET Scalability - NxtGen OxfordASP.NET Scalability - NxtGen Oxford
ASP.NET Scalability - NxtGen Oxford
Phil Pursglove
 

Similar to Biomatters and Amazon Web Services (20)

Snowflake Datawarehouse Architecturing
Snowflake Datawarehouse ArchitecturingSnowflake Datawarehouse Architecturing
Snowflake Datawarehouse Architecturing
 
Tech4Africa 2014
Tech4Africa 2014Tech4Africa 2014
Tech4Africa 2014
 
Why Kubernetes as a container orchestrator is a right choice for running spar...
Why Kubernetes as a container orchestrator is a right choice for running spar...Why Kubernetes as a container orchestrator is a right choice for running spar...
Why Kubernetes as a container orchestrator is a right choice for running spar...
 
Migrating enterprise workloads to AWS
Migrating enterprise workloads to AWSMigrating enterprise workloads to AWS
Migrating enterprise workloads to AWS
 
Scylla Summit 2016: Compose on Containing the Database
Scylla Summit 2016: Compose on Containing the DatabaseScylla Summit 2016: Compose on Containing the Database
Scylla Summit 2016: Compose on Containing the Database
 
Open stack ha design & deployment kilo
Open stack ha design & deployment   kiloOpen stack ha design & deployment   kilo
Open stack ha design & deployment kilo
 
What's New for the Windows Azure Developer? Lots!!
What's New for the Windows Azure Developer?  Lots!!What's New for the Windows Azure Developer?  Lots!!
What's New for the Windows Azure Developer? Lots!!
 
IBM Cloud Day January 2021 Data Lake Deep Dive
IBM Cloud Day January 2021 Data Lake Deep DiveIBM Cloud Day January 2021 Data Lake Deep Dive
IBM Cloud Day January 2021 Data Lake Deep Dive
 
AWS re:Invent presentation: Unmeltable Infrastructure at Scale by Loggly
AWS re:Invent presentation: Unmeltable Infrastructure at Scale by Loggly AWS re:Invent presentation: Unmeltable Infrastructure at Scale by Loggly
AWS re:Invent presentation: Unmeltable Infrastructure at Scale by Loggly
 
Cloud computing & lamp applications
Cloud computing & lamp applicationsCloud computing & lamp applications
Cloud computing & lamp applications
 
Apache Performance Tuning: Scaling Out
Apache Performance Tuning: Scaling OutApache Performance Tuning: Scaling Out
Apache Performance Tuning: Scaling Out
 
Cloud stack overview
Cloud stack overviewCloud stack overview
Cloud stack overview
 
Infrastructure at Scale: Apache Kafka, Twitter Storm & Elastic Search (ARC303...
Infrastructure at Scale: Apache Kafka, Twitter Storm & Elastic Search (ARC303...Infrastructure at Scale: Apache Kafka, Twitter Storm & Elastic Search (ARC303...
Infrastructure at Scale: Apache Kafka, Twitter Storm & Elastic Search (ARC303...
 
ASP.NET Scalability - DDD7
ASP.NET Scalability - DDD7ASP.NET Scalability - DDD7
ASP.NET Scalability - DDD7
 
Oracle application container cloud back end integration using node final
Oracle application container cloud back end integration using node finalOracle application container cloud back end integration using node final
Oracle application container cloud back end integration using node final
 
Oracle WebLogic 12c New Multitenancy features
Oracle WebLogic 12c New Multitenancy featuresOracle WebLogic 12c New Multitenancy features
Oracle WebLogic 12c New Multitenancy features
 
Create cloud service on AWS
Create cloud service on AWSCreate cloud service on AWS
Create cloud service on AWS
 
ASP.NET Scalability - VBUG London
ASP.NET Scalability - VBUG LondonASP.NET Scalability - VBUG London
ASP.NET Scalability - VBUG London
 
ASP.NET Scalability - NxtGen Oxford
ASP.NET Scalability - NxtGen OxfordASP.NET Scalability - NxtGen Oxford
ASP.NET Scalability - NxtGen Oxford
 
Database as a Service on the Oracle Database Appliance Platform
Database as a Service on the Oracle Database Appliance PlatformDatabase as a Service on the Oracle Database Appliance Platform
Database as a Service on the Oracle Database Appliance Platform
 

Recently uploaded

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 

Biomatters and Amazon Web Services

  • 1. • Founded in 2003 • Sophisticated, intuitive Visualisation and Interpretation of Genetic data • Targeted Analysis Workflows • Actionable Results • We’re Hiring!
  • 2.
  • 3. 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
  • 4. Architecture • Initial Architecture – On EC2 – One autoscaling group (and ELB) – One Availability Zone • Revised Architecture – VPC across two Availability Zones – Private subnets for security
  • 5. VPC Architecture ELB Public Subnets Private Subnets AZ 1 AZ 2 MASTER MIN=0 MAX=2 MIN=1 MAX=3 DB Cluster Internet NAT
  • 6. 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
  • 7. 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
  • 8. Database • Local Deployment Requirement – Can’t use RDS or Dynamo • MongoDB – Highly scalable NoSQL – Supports Advanced features
  • 9. 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
  • 10. Job Processing DB Cluster Incoming Job QueueWeb App Processing Node Completed Job Queue Notification Node S3 Status=NEW Status=PROCESSINGStatus=COMPLETE Status=NOTIFIED
  • 11. 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!

Editor's Notes

  1. Biomatters has been around since 2003, specialising in visualisation and interpretation of digital biological dataThe volumes of digitised biological data have exploded in recent years – this has created a unique opportunity as genetic analysis has become cost effective to use in the clinic for the first time.Our software brings targeted genetic analyses to the cloud, coupled with intuitive visualisations of complex data.We combine the results of analysis with data from other relevant sources (e.g. patient data, knowledge databases) to provide actionable reports for clincians
  2. This is an example of one of our visualisations – it allows a clinician to compare a patient’s DNA to a ‘reference’ human genome and look at the differencesIt works like Google Maps, but for the human genomeWe overlay data from a number of external data sources to put information at their fingertipsLet’s say that the clinician notices the patient has a particular variation in their DNAWe can quickly bring up information about the variation – we can see that has been associated with baldnessWe can see publications related to the variationWe can even look at the structure of proteins produced by the genes around the variation
  3. Mobile friendly means that only a small amount of data can be stored on the client device at any one time – we need to be able to rapidly retrieve more information from the server as requiredTile Rendering – we can cache tiles on either side of the viewport, but we need really fast lookups on the database to make the app smoothSecure – If we’re dealing with medical data it has to be absolutely secureLocal Deployment – Some organisations (particularly medical ones) don’t have clear guidelines about how to deal with the cloud – regulations and policy prevent data from leaving their site
  4. One private and one public subnet for each Availability ZoneELB (and bastion host) in the public subnetsWeb nodes and database in private subnets – connect to net through NATMulti-AZ (will cover database stack later)Setup:Used the VPC wizzard then customisedVery important to configure correctly – get routing tables and security groups correct
  5. For Amazon config we had some trouble using command line tools, so we used the java API and wrote custom Ant tasks
  6. Database is a MongoDB clusterCan’t use Dynamo or RDS because of local deployment requirementMongo is highly scalable, a NoSQL type database but supports advanced features like automatic shardingOur base unit of storage is a pair of 50GB EBS volumes in raid0Database nodes spread across three AZ’s – so mongo has at least two nodes runningLogical volume (using LVM) allows us to scale up size as required, but scaling is a manual processThe file system is encrypted at the logical volume levelXFS file system allows us to perform online resizing of the volume
  7. Database is a MongoDB clusterCan’t use Dynamo or RDS because of local deployment requirementMongo is highly scalable, a NoSQL type database but supports advanced features like automatic shardingOur base unit of storage is a pair of 50GB EBS volumes in raid0Database nodes spread across three AZ’s – so mongo has at least two nodes runningLogical volume (using LVM) allows us to scale up size as required, but scaling is a manual processThe file system is encrypted at the logical volume levelXFS file system allows us to perform online resizing of the volumeOur cluster is spread across three availability zones so that MongoDB will still have two nodes in the event of an outage
  8. Job is inserted into incoming job queue (status in db=NEW)Job is picked up by a Melanoma job processor node (status in db updated to PROCESSING)Output written to S3Completed job inserted into completed job queue (status in db updated to COMPLETE)Job is picked up by emailNotifier service, which sends an email and updates job status to USER_NOTIFIED