discovery 2015 workshop

196
There is no magic, there is only awesome Scien&fic compu&ng with Amazon Web Services Deepak Singh Business Development Manager Amazon Compute Services Discovery 2015 Workshop, July 23 2010

Upload: deepak-singh

Post on 15-Jan-2015

1.787 views

Category:

Technology


4 download

DESCRIPTION

Presentation at the Discovery 2015 Workshop on Cloud Computing at Berkeley

TRANSCRIPT

Page 1: Discovery 2015 Workshop

There  is  no  magic,  there  is  only  awesomeScien&fic  compu&ng  with  Amazon  Web  Services

Deepak  SinghBusiness  Development  Manager  -­‐  Amazon  Compute  Services

Discovery  2015  Workshop,  July  23  2010

Page 2: Discovery 2015 Workshop
Page 3: Discovery 2015 Workshop
Page 5: Discovery 2015 Workshop
Page 6: Discovery 2015 Workshop
Page 7: Discovery 2015 Workshop

life science industry

Page 8: Discovery 2015 Workshop

Credit: Bosco Ho

Page 9: Discovery 2015 Workshop
Page 10: Discovery 2015 Workshop

By ~Prescott under a CC-BY-NC license

Page 11: Discovery 2015 Workshop

<1>

Page 12: Discovery 2015 Workshop

the cloud

Page 13: Discovery 2015 Workshop

has_many :definitions

Page 14: Discovery 2015 Workshop

infrastructure as a service

Page 15: Discovery 2015 Workshop

The  “Living  and  Evolving”  CloudAWS  services  and  basic  terminology

Most  Applica9ons  Need:

1. Compute

2. Storage

3. Messaging

4. Payment

5. Distribu9on

6. Scale

7. Analy9cs Amazon  EC2  Instances(On-­‐Demand,  Reserved,  Spot)

Amazon  Virtual  Private  Cloud

Amazon  Worldwide  Physical  Infrastructure  (Geographical  Regions,  Availability  Zones,  Edge  Locations)  

Amazon  S3  Objects  and  Buckets

Amazon  CloudFront

EBSVolumesA

mazon  SQ

S  Que

ues

Amazon  SimpleD

B  Domains

Auto-­‐Scaling

Elastic  LB

CloudWatch

Your  Application

Paym

ent  :  A

mazon  FP

S/  Dev

Pay

Snapshots

Amazon  Elastic  MapReduce  JobFlows

Amazon  RDS

Amazon  SN

S  To

pics

Page 16: Discovery 2015 Workshop
Page 17: Discovery 2015 Workshop

ScalableIncrease  or  decrease  capacity  in  minutes

AutomaIon

Page 18: Discovery 2015 Workshop

ScalableIncrease  or  decrease  capacity  in  minutes

AutomaIon

Cost  Effec9veLow  rate,  pay-­‐as-­‐you-­‐go

Page 19: Discovery 2015 Workshop

ScalableIncrease  or  decrease  capacity  in  minutes

AutomaIon

Cost  Effec9veLow  rate,  pay-­‐as-­‐you-­‐go

ReliableMission  CriIcal  Infrastructure

Page 20: Discovery 2015 Workshop

ScalableIncrease  or  decrease  capacity  in  minutes

AutomaIon

Cost  Effec9veLow  rate,  pay-­‐as-­‐you-­‐go

SecureMulIlayer  security  faciliIes

ReliableMission  CriIcal  Infrastructure

Page 21: Discovery 2015 Workshop

compute

Page 22: Discovery 2015 Workshop

elastic compute cloud

Page 23: Discovery 2015 Workshop

elastic

Page 24: Discovery 2015 Workshop

3000 CPU’s for one firm’s risk management application

!"#$%&'()'*+,'-./01.2%/'

344'+567/'(.'

8%%9%.:/'

;<"&/:1='

>?,3?,44@'

A&B:1='

>?,>?,44@'

C".:1='

>?,D?,44@'

E(.:1='

>?,F?,44@'

;"%/:1='

>?,G?,44@'

C10"&:1='

>?,H?,44@'

I%:.%/:1='

>?,,?,44@'

3444JJ'

344'JJ'

Page 25: Discovery 2015 Workshop

programmable

Page 26: Discovery 2015 Workshop
Page 27: Discovery 2015 Workshop
Page 28: Discovery 2015 Workshop

// Run an instance$EC2 = new AmazonEC2();

$Options = array('KeyName' => "Jeff's Keys", 'InstanceType' => "m1.small");

$Res = $EC2->run_instances("ami-db7b9db2", 1, 1, $Options);

Page 29: Discovery 2015 Workshop

more later

Page 30: Discovery 2015 Workshop

cost effective

Page 31: Discovery 2015 Workshop

3000 CPU’s for one firm’s risk management application

!"#$%&'()'*+,'-./01.2%/'

344'+567/'(.'

8%%9%.:/'

;<"&/:1='

>?,3?,44@'

A&B:1='

>?,>?,44@'

C".:1='

>?,D?,44@'

E(.:1='

>?,F?,44@'

;"%/:1='

>?,G?,44@'

C10"&:1='

>?,H?,44@'

I%:.%/:1='

>?,,?,44@'

3444JJ'

344'JJ'

Page 32: Discovery 2015 Workshop
Page 33: Discovery 2015 Workshop
Page 34: Discovery 2015 Workshop

% U

tiliza

tio

n

time

Page 35: Discovery 2015 Workshop

% U

tiliza

tio

n

time

Ideal Effective Utilization

Page 36: Discovery 2015 Workshop

% U

tiliza

tio

n

time

Ideal Effective Utilization

Real Utilization

Page 37: Discovery 2015 Workshop

% U

tiliza

tio

n

time

Ideal Effective Utilization

Real Utilization

Page 38: Discovery 2015 Workshop

on-demand instancesreserved instances

spot instances

Page 39: Discovery 2015 Workshop
Page 40: Discovery 2015 Workshop

Amazon EC2 On-Demand price for the same instance is $0.50

Page 41: Discovery 2015 Workshop

% U

tiliza

tio

n

time

Ideal Effective Utilization

Page 42: Discovery 2015 Workshop

% U

tiliza

tio

n

time

Ideal Effective Utilization

Reserved Utilization

Page 43: Discovery 2015 Workshop

% U

tiliza

tio

n

time

Ideal Effective Utilization

Reserved Utilization

Page 44: Discovery 2015 Workshop

% U

tiliza

tio

n

time

Ideal Effective Utilization

Reserved Utilization

On Demand Utilization

Page 45: Discovery 2015 Workshop

% U

tiliza

tio

n

time

Ideal Effective Utilization

Reserved Utilization

On Demand Utilization

Spot Utilization

Page 46: Discovery 2015 Workshop

secure

Page 47: Discovery 2015 Workshop

Physical                                  Interface

Firewall

                           Hypervisor

Custom

er  A

Custom

er  B

Custom

er  Z• Guest  operaIng  system  doesn’t  

have  elevated  privilege  level.• Instances  are  completely  isolated.

• Intrinsic  network  firewall.• No  access  to  raw  devices.• Virtualized  disks,  logically  isolated,  wiped  clean  aRer  use.

Page 48: Discovery 2015 Workshop

{ "Version": "2008-10-17", "Id": "Queue1_Policy_UUID", "Statement": { "Sid":"Queue1_AnonymousAccess_ReceiveMessage_TimeLimit", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "SQS:ReceiveMessage", "Resource": "/987654321098/queue1", "Condition" : { "DateGreaterThan" : { "AWS:CurrentTime":"2009-01-31T12:00Z" }, "DateLessThan" : { "AWS:CurrentTime":"2009-01-31T15:00Z" } } } }

Page 49: Discovery 2015 Workshop

Customer’sNetwork

AmazonWeb ServicesCloud

Secure VPN Connection over the Internet

Subnets

Customer’s isolated AWS resources

RouterVPN Gateway

Amazon  Virtual  Private  Cloud  (VPC)

Page 50: Discovery 2015 Workshop

storage

Page 51: Discovery 2015 Workshop

Amazon S3

Page 52: Discovery 2015 Workshop

highly scalable

Page 53: Discovery 2015 Workshop
Page 54: Discovery 2015 Workshop

highly available

Page 55: Discovery 2015 Workshop

highly durable

Page 56: Discovery 2015 Workshop

Note: Conceptual drawing only. Actual number of nodes & datacenters may vary

Page 57: Discovery 2015 Workshop

Note: Conceptual drawing only. Actual number of nodes & datacenters may vary

...Node  1 Node  n

T

Page 58: Discovery 2015 Workshop

Region

Datacenter

Datacenter

Note: Conceptual drawing only. Actual number of nodes & datacenters may vary

Datacenter

...Node  1 Node  n

Page 59: Discovery 2015 Workshop

elastic block store

Page 60: Discovery 2015 Workshop

block device

Page 61: Discovery 2015 Workshop

resizable

Page 62: Discovery 2015 Workshop

boot device

Page 63: Discovery 2015 Workshop

one size does not fit all

Page 64: Discovery 2015 Workshop

• Zero  administra9ve  overhead  (automaIc  handling  of  geo-­‐redundant  replicaIon,  index  creaIon,  database  tuning)

• AutomaIc  and  elasIc  scaling  of  resources  to  meet  request  load

• High  availability  (mulIple  copies  of  data  for  reliability  and  failover)

• Flexibility  (schema-­‐less  data  store)

• Cost-­‐effecIve  blob  or    large  object  storage

• Minimal  rela9onships  between  objects

Amazon RDSAmazon SimpleDB

Amazon S3 Amazon EC2 + EBS

• Na9ve  access  to  database  engine

• Easy  migra9on  path  (exisIng  code,  tools,  applicaIon  are  compaIble)

• Key  features  of  a  relaIonal  database,  such  as  joins  or  complex  transac9ons

• Managed  experience  (offload  common  DBA  tasks,  lower  total  cost  of  ownership)

• Mul9ple  flavors  of  database  engine

• Complete  control

Page 65: Discovery 2015 Workshop

an ecosystem prospers

Page 66: Discovery 2015 Workshop
Page 67: Discovery 2015 Workshop
Page 68: Discovery 2015 Workshop
Page 69: Discovery 2015 Workshop
Page 70: Discovery 2015 Workshop
Page 71: Discovery 2015 Workshop
Page 72: Discovery 2015 Workshop

<2>

Page 73: Discovery 2015 Workshop

infrastructure as code

Page 74: Discovery 2015 Workshop

Source: Chris Dagdigian

Page 75: Discovery 2015 Workshop

• Images:– RegisterImage– DescribeImages– DeregisterImage– ModifyImageAcribute

– DescribeImageAcribute

– ResetImageAcribute

• Instances:– RunInstances– DescribeInstances– TerminateInstances– StopInstances– GetConsoleOutput– RebootInstances– CreatePlacementGroup– DescribePlacementGroup

• IP  Addresses:– AllocateAddress– ReleaseAddress– AssociateAddress– DisassociateAddress– DescribeAddresses

• Keypairs:– CreateKeyPair– DescribeKeyPairs– DeleteKeyPair

• Security  Groups:– CreateSecurityGroup

– DescribeSecurityGroups

– DeleteSecurityGroup

– AuthorizeSecurityGroupIngress

– RevokeSecurityGroupIngress

• Block  Storage  Volumes:

– CreateVolume

– DeleteVolume

– DescribeVolumes

– AhachVolume

– DetachVolume

– CreateSnapshot

– DescribeSnapshots

– DeleteSnapshot

 

• VPC:– CreateCustomerGateway– DeleteCustomerGateway– DescribeCustomerGateways– AssociateDhcpOpIons– CreateDhcpOpIons– DeleteDhcpOpIons– DescribeDhcpOpIons– CreateSubnet– DeleteSubnet– DescribeSubnets– CreateVpc– DeleteVpc– DescribeVpcs– CreateVpnConnecIon– DeleteVpnConnecIon– DescribeVpnConnecIons– AcachVpnGateway– CreateVpnGateway– DeleteVpnGateway– DescribeVpnGateways– DetachVpnGateway

Page 76: Discovery 2015 Workshop

using libraries

Page 77: Discovery 2015 Workshop

def access_key options.services['access-key'] end def secret_key options.services['secret-key'] end

Accesscredentials

Page 78: Discovery 2015 Workshop

class EC2 attr_accessor :ec2, :instance_index, :image_index, :elastic_ip_index, :volume_index def initialize(access_key, secret_key) @ec2 = RightAws::Ec2.new(access_key, secret_key) @instance_index = {} @image_index = {} @elastic_ip_index = {} @volume_index = {} end

end

Page 79: Discovery 2015 Workshop

class Instance attr_accessor :aws_hash, :elastic_ip def initialize(hash, elastic_ip = nil) @aws_hash = hash @elastic_ip = elastic_ip end def public_dns @aws_hash[:dns_name] || "" end def friendly_name public_dns.empty? ? status.capitalize : public_dns.split(".")[0] end def id @aws_hash[:aws_instance_id] endend

Page 80: Discovery 2015 Workshop

class EC2 attr_accessor :ec2, :instance_index, :image_index, :elastic_ip_index, :volume_index def initialize(access_key, secret_key) @ec2 = RightAws::Ec2.new(access_key, secret_key) @instance_index = {} @image_index = {} @elastic_ip_index = {} @volume_index = {} end

def instance_index if @instance_index.empty? @ec2.describe_instances.each do |i| # create an Instance object & add to the array @instance_index[i[:aws_instance_id]] = Instance.new(i, get_elastic_ip_for_instance_id(i[:aws_instance_id])) end end return @instance_index end

end

Custom index

Page 81: Discovery 2015 Workshop

class Instance attr_accessor :aws_hash, :elastic_ip def initialize(hash, elastic_ip = nil) @aws_hash = hash @elastic_ip = elastic_ip end def public_dns @aws_hash[:dns_name] || "" end def friendly_name public_dns.empty? ? status.capitalize : public_dns.split(".")[0] end def id @aws_hash[:aws_instance_id] end

def running? status == "running" end end

Helper

Page 82: Discovery 2015 Workshop

configuration management

Page 83: Discovery 2015 Workshop

cfengine

puppet

chef

Page 84: Discovery 2015 Workshop

chef

Page 85: Discovery 2015 Workshop

dsl

Page 86: Discovery 2015 Workshop

include_recipe "packages"include_recipe "ruby"include_recipe "apache2"

if platform?("centos","redhat") if dist_only? # just the gem, we'll install the apache module within apache2 package "rubygem-passenger" return else package "httpd-devel" endelse %w{ apache2-prefork-dev libapr1-dev }.each do |pkg| package pkg do action :upgrade end endend

gem_package "passenger" do version node[:passenger][:version]end

execute "passenger_module" do command 'echo -en "\n\n\n\n" | passenger-install-apache2-module' creates node[:passenger][:module_path]end

Page 87: Discovery 2015 Workshop

include_recipe "packages"include_recipe "ruby"include_recipe "apache2"

if platform?("centos","redhat") if dist_only? # just the gem, we'll install the apache module within apache2 package "rubygem-passenger" return else package "httpd-devel" endelse %w{ apache2-prefork-dev libapr1-dev }.each do |pkg| package pkg do action :upgrade end endend

gem_package "passenger" do version node[:passenger][:version]end

execute "passenger_module" do command 'echo -en "\n\n\n\n" | passenger-install-apache2-module' creates node[:passenger][:module_path]end

Modular

Page 88: Discovery 2015 Workshop

include_recipe "packages"include_recipe "ruby"include_recipe "apache2"

if platform?("centos","redhat") if dist_only? # just the gem, we'll install the apache module within apache2 package "rubygem-passenger" return else package "httpd-devel" endelse %w{ apache2-prefork-dev libapr1-dev }.each do |pkg| package pkg do action :upgrade end endend

gem_package "passenger" do version node[:passenger][:version]end

execute "passenger_module" do command 'echo -en "\n\n\n\n" | passenger-install-apache2-module' creates node[:passenger][:module_path]end

OS aware

Page 89: Discovery 2015 Workshop

include_recipe "packages"include_recipe "ruby"include_recipe "apache2"

if platform?("centos","redhat") if dist_only? # just the gem, we'll install the apache module within apache2 package "rubygem-passenger" return else package "httpd-devel" endelse %w{ apache2-prefork-dev libapr1-dev }.each do |pkg| package pkg do action :upgrade end endend

gem_package "passenger" do version node[:passenger][:version]end

execute "passenger_module" do command 'echo -en "\n\n\n\n" | passenger-install-apache2-module' creates node[:passenger][:module_path]end

Ruby syntax

Page 90: Discovery 2015 Workshop

include_recipe "packages"include_recipe "ruby"include_recipe "apache2"

if platform?("centos","redhat") if dist_only? # just the gem, we'll install the apache module within apache2 package "rubygem-passenger" return else package "httpd-devel" endelse %w{ apache2-prefork-dev libapr1-dev }.each do |pkg| package pkg do action :upgrade end endend

gem_package "passenger" do version node[:passenger][:version]end

execute "passenger_module" do command 'echo -en "\n\n\n\n" | passenger-install-apache2-module' creates node[:passenger][:module_path]end

Package aware

Page 91: Discovery 2015 Workshop

include_recipe "packages"include_recipe "ruby"include_recipe "apache2"

if platform?("centos","redhat") if dist_only? # just the gem, we'll install the apache module within apache2 package "rubygem-passenger" return else package "httpd-devel" endelse %w{ apache2-prefork-dev libapr1-dev }.each do |pkg| package pkg do action :upgrade end endend

gem_package "passenger" do version node[:passenger][:version]end

execute "passenger_module" do command 'echo -en "\n\n\n\n" | passenger-install-apache2-module' creates node[:passenger][:module_path]end

Execute

Page 92: Discovery 2015 Workshop

recipes

Page 93: Discovery 2015 Workshop

template "#{node[:apache][:dir]}/mods-available/passenger.conf" do cookbook "passenger_apache2" source "passenger.conf.erb" owner "root" group "root" mode 0755end

Page 94: Discovery 2015 Workshop

Template template "#{node[:apache][:dir]}/mods-available/passenger.conf" do cookbook "passenger_apache2" source "passenger.conf.erb" owner "root" group "root" mode 0755end

Page 95: Discovery 2015 Workshop

Cookbookre-use

template "#{node[:apache][:dir]}/mods-available/passenger.conf" do cookbook "passenger_apache2" source "passenger.conf.erb" owner "root" group "root" mode 0755end

Page 96: Discovery 2015 Workshop

<3>

Page 97: Discovery 2015 Workshop

architectural lessons

Page 98: Discovery 2015 Workshop
Page 99: Discovery 2015 Workshop

design for failure

Page 100: Discovery 2015 Workshop
Page 101: Discovery 2015 Workshop

“Everything fails, all the time”-- Werner Vogels

Page 102: Discovery 2015 Workshop
Page 103: Discovery 2015 Workshop

“Things will crash. Deal with it”-- Jeff Dean

Page 104: Discovery 2015 Workshop

2-4% of serverswill die annually

Source: Jeff Dean, LADIS 2009

Page 105: Discovery 2015 Workshop

1-5% of disk drives will die every year

Source: Jeff Dean, LADIS 2009

Page 106: Discovery 2015 Workshop

2.3% AFR in population of 13,2503.3% AFR in population of 22,400

4.2% AFR in population of 246,000

Page 107: Discovery 2015 Workshop

2.3% AFR in population of 13,2503.3% AFR in population of 22,400

4.2% AFR in population of 246,000

Source: James Hamilton (http://perspectives.mvdirona.com)

Page 108: Discovery 2015 Workshop

human errors

Page 109: Discovery 2015 Workshop

human errors~20% admin issues have unintended consequences

Source: James Hamilton (http://perspectives.mvdirona.com)

Page 110: Discovery 2015 Workshop

assume sw/hw failure

Page 111: Discovery 2015 Workshop

avoid single points of failure

Page 112: Discovery 2015 Workshop

system as a whole is reslient

Page 113: Discovery 2015 Workshop

loose coupling sets you free

Page 114: Discovery 2015 Workshop

loose coupling sets you free

Page 115: Discovery 2015 Workshop

using message queues

Page 116: Discovery 2015 Workshop

Controller  A Controller  B Controller  C

Controller  A Controller  B Controller  C

Q Q Q

Tight  Coupling

Loose  Coupling  using  Queues

Page 117: Discovery 2015 Workshop

implement elasticity

Page 118: Discovery 2015 Workshop

no assumptions

Page 119: Discovery 2015 Workshop

resilience to reboot

Page 120: Discovery 2015 Workshop

bootstrap

Page 121: Discovery 2015 Workshop

dynamic

Page 122: Discovery 2015 Workshop

multi-layered security

Page 123: Discovery 2015 Workshop

“Web”  Security  Group:TCP    80   0.0.0.0/0TCP    443   0.0.0.0/0TCP    22   “App”

“App”  Security  Group:TCP    8080   “Web”TCP    22   172.154.0.0/16TCP    22   “App”

“DB”  Security  Group:TCP    3306   “App”TCP    3306   163.128.25.32/32TCP    22   “App”

Page 124: Discovery 2015 Workshop

embrace constraints

Page 125: Discovery 2015 Workshop

distributed memory

Page 126: Discovery 2015 Workshop

sharded DBs

Page 127: Discovery 2015 Workshop

hardware failed?

simply throw it away and switch to new hardware with no additional cost

Page 128: Discovery 2015 Workshop

cache

Page 129: Discovery 2015 Workshop

think parallel

Page 130: Discovery 2015 Workshop

different architectures

Page 131: Discovery 2015 Workshop

multi-threaded, concurrent requests

Page 132: Discovery 2015 Workshop

mapreduce

Page 133: Discovery 2015 Workshop

elastic load-balancing

Page 134: Discovery 2015 Workshop

decompose jobs into simplest form

Page 135: Discovery 2015 Workshop

leverage many storage options

Page 136: Discovery 2015 Workshop

<4>

Page 137: Discovery 2015 Workshop

computing in the cloud

Page 138: Discovery 2015 Workshop

3 modalities

Page 139: Discovery 2015 Workshop

batch processing

Page 140: Discovery 2015 Workshop

“grids”

Page 141: Discovery 2015 Workshop

queues

Page 142: Discovery 2015 Workshop

URL  Queue

Fetch  &  Store  Page

Parse  Queue

Parse  Page

Image  Queue

Fetch  Images S3

Render  Queue

Render  Images  &  Pages

S3S3

Source: Jeff Barr

Page 143: Discovery 2015 Workshop

http://wiki.github.com/documentcloud/cloud-crowd

sudo gem install cloud-crowd

Page 144: Discovery 2015 Workshop

http://www.rightscale.com

Page 145: Discovery 2015 Workshop

data-intensive computing

Page 146: Discovery 2015 Workshop
Page 147: Discovery 2015 Workshop

Input  S3  bucket

Output  S3  bucket

Amazon S3

Hadoop

Amazon EC2 Instances

Input dataset

outputresults

Deploy Application

Web Console, Command line tools

End

Notify

Get ResultsInput Data

Amazon Elastic MapReduce

Hadoop Hadoop

Hadoop

Hadoop

Hadoop

Elastic MapReduce

Elastic MapReduce

Page 148: Discovery 2015 Workshop

Use  Case:  Increase  speed  of  running  job  flowsSpeed  up  job  flow  execuIon  in  response  to  changing  requirements

Dynamically  balance  cost  versus  performance  without  restarIng  a  job

PREANNOUNCE  –  EXPAND/SHRINK  CLUSTERS

Allocate 4 instances

Expand to 25 instances

Expand to 9 instances

Job Flow

Time remaining:

Time remaining:14 Hours

3 Hours

Time remaining:

Job FlowJob Flow

7 Hours

Page 149: Discovery 2015 Workshop

Use  Case:  Agile  Data  Warehouse  ClusterCustomize  cluster  size  to  support  varying  resource  needs

Leverage  flexibility  to  reduce  costs  and  increase  cluster  uIlizaIon

Allocate 9 instances

Expand to 25 instances

Shrink to 9 instances

Data Warehouse(Steady State)

Data Warehouse(Steady State)

Data Warehouse(Batch Processing)

Page 150: Discovery 2015 Workshop

PREANNOUNCE  –  IntegraIon  with  Spot  Instances

Allocate 4 instances

Expand to 9 instances

Job Flow

Time remaining:14 Hours

Time remaining:

Job Flow

7 Hours

Cost without Spot:4 instances *14 hrs * $0.50 = $28

Cost with Spot:4 instances *7 hrs * $0.50 = $13 +5 instances * 7 hrs * $0.25 = $8.75Total = $21.75

Savings: ~22%

Page 151: Discovery 2015 Workshop

high performance computing

Page 152: Discovery 2015 Workshop

Low latencyhigh bandwidth

Page 153: Discovery 2015 Workshop

cluster compute instances

Page 154: Discovery 2015 Workshop
Page 155: Discovery 2015 Workshop

full bisection bandwidth

Page 156: Discovery 2015 Workshop

10gbps

Page 157: Discovery 2015 Workshop

2 * Xeon 5570 (Intel “Nehalem”)23 GB RAM

10 gbps Ethernet1690 TB local disk

HVM-based virtualization$1.60 / hr

Page 158: Discovery 2015 Workshop

managing compute cycles

Page 159: Discovery 2015 Workshop
Page 160: Discovery 2015 Workshop

http://cyclecomputing.com

Page 162: Discovery 2015 Workshop

SQS

Page 163: Discovery 2015 Workshop

<5>

Page 164: Discovery 2015 Workshop

AWS + science = win

Page 165: Discovery 2015 Workshop
Page 166: Discovery 2015 Workshop
Page 167: Discovery 2015 Workshop

3.7 million classifications in just over three days~15 million in less than a month>2.6 million clicks in 100 hours

Page 168: Discovery 2015 Workshop

Biomarker Warehousepre-clinical, clinical, 3rd party data and publications

Estimated cost: 10 TB warehouse over 3 years

Page 169: Discovery 2015 Workshop

Simple Python scripts automate the management of 1000s of simultaneous experiments using the EC2 API

http://faculty.washington.edu/danielt/Source: Ed Lazowska

Protein interactions @ U. Washington

Page 170: Discovery 2015 Workshop

http://bioteam.net/aws

200 instances60000 structures

4 hours

Page 171: Discovery 2015 Workshop

HEAVY-ION COLLISIONS

Problem: Quark matter physics conference imminent but no compute resources handy

Solution: NIMBUS context broker allowed researchers to provision 300 nodes and get the simulations done

Page 172: Discovery 2015 Workshop

Image: Wikipedia

Page 173: Discovery 2015 Workshop
Page 174: Discovery 2015 Workshop

lots and lots and lots and lots and lots and lots of data andlots and lots of lots of data

Page 175: Discovery 2015 Workshop
Page 176: Discovery 2015 Workshop
Page 177: Discovery 2015 Workshop
Page 178: Discovery 2015 Workshop
Page 179: Discovery 2015 Workshop
Page 180: Discovery 2015 Workshop

Image  via  image  editor  under  a  CC-­‐BY  License

Page 182: Discovery 2015 Workshop

scaleavailabilityutilizationsharing

collaboration

Page 183: Discovery 2015 Workshop

we are data geeks not data center geeks

Page 184: Discovery 2015 Workshop

Map 100 million, 100 base paired end readsQuad core with 5 GB of RAM would take 16 days

30 high-memory instances; 32 hours; $195Source: Angel Pizzaro/John Hogenesch

BLAT @ U. Penn

Page 185: Discovery 2015 Workshop

BELLE MONTE CARLO

Credit: Tom Fifield

Page 186: Discovery 2015 Workshop

MapReduce for Genomics

Ben Langmead

http://bowtie-bio.sourceforge.net/crossbow/index.shtmlhttp://contrail-bio.sourceforge.net

http://bowtie-bio.sourceforge.net/myrna/index.shtml

Page 187: Discovery 2015 Workshop

platform for science

Page 188: Discovery 2015 Workshop
Page 189: Discovery 2015 Workshop

http://www.cloudbiolinux.com/

Page 190: Discovery 2015 Workshop

http://usegalaxy.org/cloud

Page 191: Discovery 2015 Workshop

http://dnanexus.com

Page 192: Discovery 2015 Workshop

Elastic-R Collaborative Research Environment

http://www.elasticr.net

Page 194: Discovery 2015 Workshop

s3://1000genomes

Page 195: Discovery 2015 Workshop
Page 196: Discovery 2015 Workshop

[email protected]  Twicer:@mndoci

slides  at  hcp://slideshare.net/mndoci

InspiraIon  and  material  from  Mah  Wood,James  Hamilton  &  Larry  Lessig

By Oberazzi under a CC-BY-NC-SA license