SlideShare una empresa de Scribd logo
1 de 49
Descargar para leer sin conexión
FOSS4G	
  in	
  the	
  Cloud	
  
	
  
Mohamed	
  Sayed	
  
mohamed@fossworx.org	
  
Version	
  092013	
  
License:	
  CC-­‐BY-­‐SA	
  
Agenda	
  
•  Disclaimers	
  
•  Goals/MoLves	
  
•  The	
  historical	
  path	
  to	
  ‘Cloud	
  CompuLng’	
  
•  ‘DefiniLon’	
  of	
  cloud	
  compuLng	
  
•  FOSS4G	
  in	
  Cloud	
  Use	
  cases	
  
•  AWS:	
  Components	
  and	
  Services	
  
•  Building	
  for	
  the	
  cloud	
  
–  Architectural	
  paUerns	
  for	
  	
  Cloud	
  Services	
  
–  Cultural	
  changes	
  
–  Processes	
  changes	
  
–  Things	
  to	
  remember	
  
•  Common	
  FOSS4G	
  tasks	
  in	
  AWS	
  
–  ImporLng	
  OSM	
  data	
  into	
  POSTGIS	
  
–  Mod_Lle/Mapnik	
  
–  GWC/Geoserver	
  
•  QuesLons?	
  
Disclaimers	
  
•  The	
  work	
  presented	
  was	
  funded	
  personally	
  
and	
  done	
  during	
  my	
  vacaLon.	
  All	
  opinions	
  are	
  
my	
  own	
  and	
  not	
  my	
  employer.	
  
•  I	
  am	
  not	
  affiliated	
  with	
  AWS	
  in	
  any	
  other	
  way	
  
than	
  being	
  a	
  customer,	
  I	
  choose	
  them	
  when	
  
that	
  choice	
  makes	
  sense	
  	
  and	
  would	
  use	
  
others	
  where	
  applicable.	
  
•  This	
  is	
  sLll	
  Work	
  in	
  progress.	
  YMMV	
  
Goals/MoLves	
  
•  Goals	
  
– We	
  will	
  learn	
  or	
  validate	
  some	
  ideas.	
  
– Get	
  some	
  feedback	
  on	
  what	
  to	
  do	
  next.	
  
– Help	
  	
  save	
  someone	
  Lme/money/frustraLon	
  
– Raise	
  awareness	
  about	
  some	
  risks.	
  
•  MoLves	
  
– The	
  new	
  disrupLon	
  is	
  in	
  data	
  and	
  services	
  around	
  
it,	
  we(Open	
  Source	
  people)	
  should	
  not	
  miss	
  out	
  
on	
  that	
  and	
  I	
  believe	
  I	
  can	
  help.	
  
Cloud Computing
Hardware Changes
Virtualization Mobile Computing
Path to Cloud Computing
MultiScreen
Tablets
KVM/
Xen
Solaris
Zones
VMWare/
Parallels
Storage/Network
Virtualization
I/O Offloading
NPT/EPT
Multicore Support
Smart
Phones
Cloud	
  CompuLng	
  definiLon	
  
(IMHO)	
  
•  Cloud	
  compuLng	
  is	
  a	
  compuLng	
  paradigm	
  
composed	
  	
  of	
  abstracLons	
  ,	
  	
  a	
  set	
  of	
  primiLves	
  
and	
  a	
  set	
  of	
  interfaces	
  and	
  tools	
  to	
  drive	
  those	
  
abstracLons	
  and	
  primiLves.	
  The	
  abstracLons	
  
and	
  primiLves	
  need	
  not	
  be	
  new	
  in	
  themselves,	
  
but	
  their	
  combinaLon	
  and	
  impact	
  is	
  what	
  
create	
  ‘The	
  Cloud’	
  culture.	
  
Compute	
   Storage	
  Network	
  
PrimiLves	
  
AbstracLons	
  
FoundaLon	
  
Image	
   Volumes	
   Snapshots	
   Autoscale	
  
Tools	
   APIs	
   Config	
  Management	
  
Example	
  “High	
  level”	
  Architecture	
  
OpenStack	
  
In	
  reality,	
  it	
  sorta	
  looks	
  like	
  this	
  
AWS	
  as	
  a	
  Public	
  Cloud	
  
FOSS4G	
  Use	
  Cases	
  
•  Disaster	
  Recover/Backup	
  
•  StaLc,	
  Logic-­‐free,	
  web	
  publishing	
  
•  Online	
  FOSS4G	
  as	
  a	
  Service	
  
•  Data	
  transformaLon	
  jobs	
  
•  Content	
  CuraLon	
  and	
  Batch	
  processes	
  
Example	
  FOSS4G	
  AWS	
  Use	
  Case	
  
StaLc	
  publishing	
  blueprint	
  
How	
  to	
  Build	
  your	
  Cloud	
  Infrastructure	
  
Architectural	
  PaUerns	
  
•  The	
  Cookie	
  CuUer/Soloist.	
  
•  The	
  Centrist.	
  
•  The	
  Replicator.	
  
•  The	
  Masters	
  of	
  Colonies.	
  
CAP:	
  Cookie	
  CuUer	
  
The	
  Cookie	
  CuUer/Soloist	
  
•  Pros:	
  
– Simple.	
  
– Scales	
  Horizontally	
  w/load.	
  
– Localized	
  failure	
  impact.	
  
•  Cons:	
  
– Poor	
  support	
  for	
  write-­‐oriented	
  services.	
  
– Coarse	
  grained	
  scalability.	
  
– Node	
  capacity	
  has	
  verLcal	
  scalability	
  issues.	
  
CAP	
  –	
  The	
  Centrist	
  
The	
  Centrist	
  
•  Pros:	
  
–  Scales	
  at	
  components	
  level.	
  
–  Moderate	
  complexity	
  up	
  to	
  middle	
  range	
  load.	
  
–  Faster/Easier	
  fault	
  isolaLon/detecLon.	
  
–  Data	
  stores	
  Master/Slave	
  is	
  a	
  well	
  studied	
  concept.	
  
•  Cons:	
  
–  Central	
  data	
  store	
  becomes	
  more	
  criLcal/boUleneck.	
  
–  MulL-­‐region	
  deployments	
  suffer	
  from	
  latency.	
  
–  VerLcal	
  scaling	
  characterisLcs	
  pronounced	
  on	
  the	
  
Data	
  store.	
  
CAP	
  –	
  The	
  Replicator	
  
The	
  Replicator	
  
•  Pros:	
  
– Scales	
  at	
  components	
  level.	
  
– Improved	
  read	
  performance.	
  
– BeUer	
  Disaster	
  Recovery.	
  
– Well	
  suited	
  for	
  mulL	
  regions	
  deployments.	
  
•  Cons:	
  
– Writes	
  are	
  sLll	
  central.	
  
– Added	
  complexity.	
  
– Increased	
  bandwidth	
  requirements.	
  
Masters	
  of	
  Colonies	
  
CAP	
  –	
  Master	
  of	
  Colonies	
  
•  Pros:	
  
– Improved	
  write	
  performance.	
  
– Decompose	
  large	
  data	
  sets	
  into	
  smaller	
  ones.	
  
– Faster	
  data	
  iteraLons.	
  
– Good	
  disaster	
  recovery	
  strategy.	
  
•  Cons:	
  
– Complex!	
  
– Weak/Varying	
  support	
  by	
  various	
  data	
  stores.	
  
– High	
  maintenance	
  overhead	
  
Cultural	
  Changes	
  
•  Get	
  stakeholders	
  buy-­‐in	
  early.	
  
•  Build	
  a	
  full	
  ownership	
  culture.	
  
•  Adopt	
  an	
  agile	
  approach.	
  
•  Encourage	
  prototyping	
  and	
  experimentaLon.	
  
•  AutomaLon	
  as	
  a	
  way	
  of	
  life.	
  
Processes	
  Changes	
  
•  Somware	
  Architecture:	
  
–  Know	
  the	
  floor,	
  and	
  the	
  ceiling.	
  
–  Be	
  as	
  stateless	
  as	
  possible.	
  
–  Graceful	
  failure	
  response.	
  
–  Good	
  Logging	
  as	
  a	
  way	
  of	
  life.	
  
•  Release	
  Engineering	
  
–  The	
  VM	
  as	
  an	
  arLfact	
  
–  AutomaLon	
  
–  Versioning	
  
–  Snapshot	
  
•  AutomaLon:	
  
–  ConfiguraLon	
  management	
  
–  OrchestraLon	
  
–  Auto-­‐scaling	
  
Things	
  to	
  remember	
  
•  Review	
  any	
  legal	
  implicaLons.	
  
•  Use	
  the	
  cloud	
  primiLves.	
  
•  Pay	
  aUenLon	
  to	
  security:	
  Security	
  groups,	
  
Encrypted	
  data	
  at	
  rest,	
  etc.	
  
•  Cleanup	
  old	
  stuff.	
  
•  Things	
  fail:	
  don’t	
  fight	
  it,	
  just	
  handle	
  it.	
  
•  You	
  will	
  not	
  get	
  it	
  right	
  the	
  first	
  Lme	
  but	
  things	
  
should	
  look	
  good	
  on	
  3rd	
  iteraLon.(Read	
  the	
  
mythical	
  man	
  month)	
  
FOSS4G	
  in	
  AWS	
  
Performance/Architecture	
  EvaluaLon	
  
•  Tools	
  used:	
  
– Siege	
  
– Sar	
  
– Oprofile	
  
– R/AWK/Python/Ruby	
  
•  Postgresql	
  queries	
  log.	
  
•  Test	
  client	
  -­‐>	
  Target	
  server	
  as	
  separate	
  nodes.	
  
OSM	
  Data	
  into	
  AWS	
  
•  Setup	
  1	
  
–  M1.Large	
  (	
  2	
  Cores)	
  
–  Standard	
  EBS	
  
–  EU-­‐West	
  region	
  
•  Setup	
  2	
  
–  M1.Large	
  
–  Provisioned	
  EBS	
  :	
  8000	
  IOPS	
  
–  EU-­‐West	
  region	
  
•  Setup	
  3	
  
–  Hi.4xlarge	
  
–  SSD	
  drive	
  
–  EU-­‐West	
  region	
  
•  Setup	
  4	
  
–  M2.2xlarge	
  
–  EU-­‐West	
  
–  Ephemeral	
  drives	
  
ImporLng	
  OSM	
  data	
  into	
  AWS	
  
TesLng	
  the	
  water	
  
ImporLng	
  OSM	
  data	
  into	
  AWS	
  
TesLng	
  the	
  water	
  some	
  more	
  
Enough	
  Water	
  TesLng	
  
ImporLng	
  Planet	
  to	
  SSD	
  
•  Guess	
  how	
  long	
  it	
  took	
  to	
  finish	
  
ImporLng	
  Planet	
  into	
  AWS	
  
Using	
  SSD	
  
•  It	
  only	
  took	
  35	
  hours!	
  
•  Disk	
  uLlizaLon:	
  ~250Gb	
  
•  Guess	
  what	
  was	
  the	
  first	
  thing	
  I	
  did	
  when	
  it	
  
finished?	
  
ImporLng	
  Planet	
  into	
  AWS	
  
•  I	
  made	
  a	
  copy	
  of	
  course	
  J	
  
•  Create	
  a	
  RAID	
  0	
  set	
  
•  Create	
  LVM	
  on	
  top	
  of	
  RAID	
  0	
  
•  Kick	
  off	
  data	
  copy	
  
•  Guess	
  how	
  long	
  it	
  took	
  
ImporLng	
  Planet	
  into	
  AWS	
  
•  It	
  only	
  took	
  2.5	
  	
  hours.	
  
Data	
  Import	
  in	
  AWS	
  
OSM	
  full	
  planet	
  
Profiling	
  OSM2PGSQL	
  
•  Data	
  sets	
  used	
  
•  Links/Ways/nodes	
  of	
  each	
  set	
  
•  Time	
  
Data	
  import	
  notes	
  
•  Create	
  the	
  DB	
  on	
  SSD	
  and	
  clone	
  to	
  EBS:	
  
– Use	
  case:	
  quickly	
  import	
  the	
  data	
  but	
  make	
  it	
  
persistent.	
  
– Full	
  planet	
  volume	
  takes	
  2-­‐2.5	
  hours.	
  
•  Create	
  Provisioned	
  EBS	
  and	
  clone	
  to	
  SSD:	
  
– Use	
  case:	
  Need	
  very	
  fast	
  runLme	
  access	
  
– Full	
  planet	
  volume	
  takes	
  5.4	
  hours	
  
•  Can	
  we	
  get	
  OSM	
  primiLves	
  summary	
  per	
  
dump	
  and	
  full	
  planet	
  as	
  part	
  of	
  the	
  pbf?	
  
Data	
  Import	
  in	
  AWS	
  
Lessons	
  learned	
  
•  It	
  is	
  not	
  only	
  the	
  disk.	
  
•  Risk	
  on	
  mulLple	
  levels	
  
– Dev	
  teams	
  can’t	
  possibly	
  be	
  tesLng	
  to	
  their	
  full	
  
potenLal(in	
  the	
  data	
  context).	
  
– Evident	
  in	
  outdated/incorrect	
  documentaLon	
  for	
  
bootstraping	
  
Rendering	
  –	
  ModLle/mapnik	
  
•  Apache	
  module	
  +	
  a	
  unix	
  daemon.	
  
•  Apache	
  module	
  is	
  process	
  model,	
  Renderd	
  is	
  
mulLthreaded.	
  
•  Apache	
  module	
  sends	
  a	
  command	
  to	
  renderd	
  over	
  a	
  
unix	
  socket.	
  
•  The	
  renderer	
  will	
  fetch	
  the	
  data	
  and	
  writes	
  it	
  out.	
  
•  Non	
  cached	
  data	
  will:	
  
–  Fail	
  on	
  first	
  aUempt(return	
  404)	
  
–  Pass	
  on	
  second	
  aUempt(~600	
  msec)	
  
•  Cached	
  data	
  is	
  served	
  <	
  10	
  msec	
  
•  Very	
  SQL	
  chaUery	
  
Renderd	
  Threads	
  Profiling	
  
Renderd	
  Profiling	
  
Renderd	
  Profiling	
  
Renderd	
  Profiling	
  
Renderd	
  Profiling	
  
Rendering	
  –	
  GeoServer/GWC	
  
•  Single	
  layer,	
  ZL	
  15,	
  RAM	
  Disk	
  :	
  100	
  Lles/sec	
  
•  TruncaLon	
  is	
  very	
  slow.	
  Please	
  version	
  your	
  
published	
  layers.	
  
•  Standalone	
  GWC	
  offers	
  much	
  beUer	
  scalability	
  
model	
  
•  Possible	
  race	
  condiLons	
  in	
  threads	
  wriLng	
  
Lles.	
  
•  Didn’t	
  hit	
  the	
  getAlphaTile()	
  issue.	
  
	
  
GWC/Geoserver	
  in	
  AWS	
  
Example	
  deployment	
  
Cost?	
  
•  Screenshot	
  of	
  my	
  account	
  acLvity	
  
Released	
  arLfacts	
  
Snapshots	
  of	
  OSM	
  data	
  in	
  flat	
  PGSQL	
  
•  2	
  drives	
  :	
  
–  snap-­‐f9affde6	
  
–  snap-­‐ffaffde0	
  
•  To	
  use:	
  
–  Create	
  a	
  volume	
  based	
  on	
  the	
  snapshot	
  
–  Mdadm	
  acLvate	
  (	
  raid0	
  ,	
  2	
  drives)	
  
–  Pvscan,vgscan,vgchange,lvscan	
  
–  Installing	
  mdadm	
  and	
  rebooLng	
  should	
  work	
  on	
  most	
  
machines	
  to	
  do	
  this	
  for	
  you	
  automagically.	
  
–  Mount	
  on	
  the	
  volume	
  on	
  your	
  PGDATA	
  path	
  
Backlog	
  
•  Geocoding	
  tesLng	
  with	
  Twofish	
  and	
  
GISGraphy	
  
•  OSRM	
  profiling	
  
•  SuggesLons?	
  
Many	
  thanks	
  to	
  
•  Geofabrik	
  for	
  compiling	
  all	
  those	
  sets/formats.	
  
•  FOSS4G2013	
  for	
  this	
  opportunity	
  
•  And	
  THANK	
  YOU	
  

Más contenido relacionado

La actualidad más candente

Capacity Management/Provisioning (Cloud's full, Can't build here)
Capacity Management/Provisioning (Cloud's full, Can't build here)Capacity Management/Provisioning (Cloud's full, Can't build here)
Capacity Management/Provisioning (Cloud's full, Can't build here)andyhky
 
Arc305 how netflix leverages multiple regions to increase availability an i...
Arc305 how netflix leverages multiple regions to increase availability   an i...Arc305 how netflix leverages multiple regions to increase availability   an i...
Arc305 how netflix leverages multiple regions to increase availability an i...Ruslan Meshenberg
 
Lessons Learned From Running Spark On Docker
Lessons Learned From Running Spark On DockerLessons Learned From Running Spark On Docker
Lessons Learned From Running Spark On DockerSpark Summit
 
From 100s to 100s of Millions
From 100s to 100s of MillionsFrom 100s to 100s of Millions
From 100s to 100s of MillionsErik Onnen
 
Stacktician - CloudStack Collab Conference 2014
Stacktician - CloudStack Collab Conference 2014Stacktician - CloudStack Collab Conference 2014
Stacktician - CloudStack Collab Conference 2014amoghvk
 
Postgres & Red Hat Cluster Suite
Postgres & Red Hat Cluster SuitePostgres & Red Hat Cluster Suite
Postgres & Red Hat Cluster SuiteEDB
 
Migrate Oracle database to Amazon RDS
Migrate Oracle database to Amazon RDSMigrate Oracle database to Amazon RDS
Migrate Oracle database to Amazon RDSJesus Guzman
 
Deploying Maximum HA Architecture With PostgreSQL
Deploying Maximum HA Architecture With PostgreSQLDeploying Maximum HA Architecture With PostgreSQL
Deploying Maximum HA Architecture With PostgreSQLDenish Patel
 
Kafka tiered-storage-meetup-2022-final-presented
Kafka tiered-storage-meetup-2022-final-presentedKafka tiered-storage-meetup-2022-final-presented
Kafka tiered-storage-meetup-2022-final-presentedSumant Tambe
 
Kafka Tutorial: Streaming Data Architecture
Kafka Tutorial: Streaming Data ArchitectureKafka Tutorial: Streaming Data Architecture
Kafka Tutorial: Streaming Data ArchitectureJean-Paul Azar
 
Serverless Presentation from Devoxx 2017 Casablanca (AWS Lambda / FaaS / Fn ...
Serverless Presentation from Devoxx 2017 Casablanca  (AWS Lambda / FaaS / Fn ...Serverless Presentation from Devoxx 2017 Casablanca  (AWS Lambda / FaaS / Fn ...
Serverless Presentation from Devoxx 2017 Casablanca (AWS Lambda / FaaS / Fn ...Frank Munz
 
MySQL in the Hosted Cloud
MySQL in the Hosted CloudMySQL in the Hosted Cloud
MySQL in the Hosted CloudColin Charles
 
No Docker? No Problem: Automating installation and config with Ansible
No Docker? No Problem: Automating installation and config with AnsibleNo Docker? No Problem: Automating installation and config with Ansible
No Docker? No Problem: Automating installation and config with AnsibleJeff Potts
 
Mitchell Hashimoto, HashiCorp
Mitchell Hashimoto, HashiCorpMitchell Hashimoto, HashiCorp
Mitchell Hashimoto, HashiCorpOntico
 
Aws multi-region High Availability
Aws multi-region High Availability Aws multi-region High Availability
Aws multi-region High Availability Adam Book
 
Netflix Development Patterns for Scale, Performance & Availability (DMG206) |...
Netflix Development Patterns for Scale, Performance & Availability (DMG206) |...Netflix Development Patterns for Scale, Performance & Availability (DMG206) |...
Netflix Development Patterns for Scale, Performance & Availability (DMG206) |...Amazon Web Services
 

La actualidad más candente (20)

Capacity Management/Provisioning (Cloud's full, Can't build here)
Capacity Management/Provisioning (Cloud's full, Can't build here)Capacity Management/Provisioning (Cloud's full, Can't build here)
Capacity Management/Provisioning (Cloud's full, Can't build here)
 
Tech4Africa 2014
Tech4Africa 2014Tech4Africa 2014
Tech4Africa 2014
 
Arc305 how netflix leverages multiple regions to increase availability an i...
Arc305 how netflix leverages multiple regions to increase availability   an i...Arc305 how netflix leverages multiple regions to increase availability   an i...
Arc305 how netflix leverages multiple regions to increase availability an i...
 
Lessons Learned From Running Spark On Docker
Lessons Learned From Running Spark On DockerLessons Learned From Running Spark On Docker
Lessons Learned From Running Spark On Docker
 
From 100s to 100s of Millions
From 100s to 100s of MillionsFrom 100s to 100s of Millions
From 100s to 100s of Millions
 
Stacktician - CloudStack Collab Conference 2014
Stacktician - CloudStack Collab Conference 2014Stacktician - CloudStack Collab Conference 2014
Stacktician - CloudStack Collab Conference 2014
 
Postgres & Red Hat Cluster Suite
Postgres & Red Hat Cluster SuitePostgres & Red Hat Cluster Suite
Postgres & Red Hat Cluster Suite
 
Migrate Oracle database to Amazon RDS
Migrate Oracle database to Amazon RDSMigrate Oracle database to Amazon RDS
Migrate Oracle database to Amazon RDS
 
Deploying Maximum HA Architecture With PostgreSQL
Deploying Maximum HA Architecture With PostgreSQLDeploying Maximum HA Architecture With PostgreSQL
Deploying Maximum HA Architecture With PostgreSQL
 
Kafka tiered-storage-meetup-2022-final-presented
Kafka tiered-storage-meetup-2022-final-presentedKafka tiered-storage-meetup-2022-final-presented
Kafka tiered-storage-meetup-2022-final-presented
 
25 snowflake
25 snowflake25 snowflake
25 snowflake
 
Kafka Tutorial: Streaming Data Architecture
Kafka Tutorial: Streaming Data ArchitectureKafka Tutorial: Streaming Data Architecture
Kafka Tutorial: Streaming Data Architecture
 
Serverless Presentation from Devoxx 2017 Casablanca (AWS Lambda / FaaS / Fn ...
Serverless Presentation from Devoxx 2017 Casablanca  (AWS Lambda / FaaS / Fn ...Serverless Presentation from Devoxx 2017 Casablanca  (AWS Lambda / FaaS / Fn ...
Serverless Presentation from Devoxx 2017 Casablanca (AWS Lambda / FaaS / Fn ...
 
MySQL in the Hosted Cloud
MySQL in the Hosted CloudMySQL in the Hosted Cloud
MySQL in the Hosted Cloud
 
No Docker? No Problem: Automating installation and config with Ansible
No Docker? No Problem: Automating installation and config with AnsibleNo Docker? No Problem: Automating installation and config with Ansible
No Docker? No Problem: Automating installation and config with Ansible
 
TIAD : Automating the aplication lifecycle
TIAD : Automating the aplication lifecycleTIAD : Automating the aplication lifecycle
TIAD : Automating the aplication lifecycle
 
Mitchell Hashimoto, HashiCorp
Mitchell Hashimoto, HashiCorpMitchell Hashimoto, HashiCorp
Mitchell Hashimoto, HashiCorp
 
Aws multi-region High Availability
Aws multi-region High Availability Aws multi-region High Availability
Aws multi-region High Availability
 
Netflix Development Patterns for Scale, Performance & Availability (DMG206) |...
Netflix Development Patterns for Scale, Performance & Availability (DMG206) |...Netflix Development Patterns for Scale, Performance & Availability (DMG206) |...
Netflix Development Patterns for Scale, Performance & Availability (DMG206) |...
 
March 2011 HUG: Scaling Hadoop
March 2011 HUG: Scaling HadoopMarch 2011 HUG: Scaling Hadoop
March 2011 HUG: Scaling Hadoop
 

Similar a FOSS4G In The Cloud: Using Open Source to build Cloud based Spatial Infrastructure

Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications OpenEBS
 
OpenEBS; asymmetrical block layer in user-space breaking the million IOPS bar...
OpenEBS; asymmetrical block layer in user-space breaking the million IOPS bar...OpenEBS; asymmetrical block layer in user-space breaking the million IOPS bar...
OpenEBS; asymmetrical block layer in user-space breaking the million IOPS bar...MayaData
 
Journey towards serverless infrastructure
Journey towards serverless infrastructureJourney towards serverless infrastructure
Journey towards serverless infrastructureVille Seppänen
 
Understanding Elastic Block Store Availability and Performance
Understanding Elastic Block Store Availability and PerformanceUnderstanding Elastic Block Store Availability and Performance
Understanding Elastic Block Store Availability and PerformanceAmazon Web Services
 
AWS (Hadoop) Meetup 30.04.09
AWS (Hadoop) Meetup 30.04.09AWS (Hadoop) Meetup 30.04.09
AWS (Hadoop) Meetup 30.04.09Chris Purrington
 
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 PlatformMaris Elsins
 
Cloud Connected Devices on a Global Scale (CPN303) | AWS re:Invent 2013
Cloud Connected Devices on a Global Scale (CPN303) | AWS re:Invent 2013Cloud Connected Devices on a Global Scale (CPN303) | AWS re:Invent 2013
Cloud Connected Devices on a Global Scale (CPN303) | AWS re:Invent 2013Amazon Web Services
 
Cost Effectively Run Multiple Oracle Database Copies at Scale
Cost Effectively Run Multiple Oracle Database Copies at Scale Cost Effectively Run Multiple Oracle Database Copies at Scale
Cost Effectively Run Multiple Oracle Database Copies at Scale NetApp
 
Solving k8s persistent workloads using k8s DevOps style
Solving k8s persistent workloads using k8s DevOps styleSolving k8s persistent workloads using k8s DevOps style
Solving k8s persistent workloads using k8s DevOps styleMayaData
 
Kubernetes at NU.nl (Kubernetes meetup 2019-09-05)
Kubernetes at NU.nl   (Kubernetes meetup 2019-09-05)Kubernetes at NU.nl   (Kubernetes meetup 2019-09-05)
Kubernetes at NU.nl (Kubernetes meetup 2019-09-05)Tibo Beijen
 
Running Spark on Cloud
Running Spark on CloudRunning Spark on Cloud
Running Spark on CloudQubole
 
Cloud Computing: Safe Haven from the Data Deluge? AGBT 2011
Cloud Computing: Safe Haven from the Data Deluge? AGBT 2011Cloud Computing: Safe Haven from the Data Deluge? AGBT 2011
Cloud Computing: Safe Haven from the Data Deluge? AGBT 2011Toby Bloom
 
Yow Conference Dec 2013 Netflix Workshop Slides with Notes
Yow Conference Dec 2013 Netflix Workshop Slides with NotesYow Conference Dec 2013 Netflix Workshop Slides with Notes
Yow Conference Dec 2013 Netflix Workshop Slides with NotesAdrian Cockcroft
 
Moving to the Cloud: AWS, Zend, RightScale
Moving to the Cloud: AWS, Zend, RightScaleMoving to the Cloud: AWS, Zend, RightScale
Moving to the Cloud: AWS, Zend, RightScalemmoline
 
Performance architecture for cloud connect
Performance architecture for cloud connectPerformance architecture for cloud connect
Performance architecture for cloud connectAdrian Cockcroft
 
Improving Availability & Lowering Costs with Auto Scaling & Amazon EC2 (CPN20...
Improving Availability & Lowering Costs with Auto Scaling & Amazon EC2 (CPN20...Improving Availability & Lowering Costs with Auto Scaling & Amazon EC2 (CPN20...
Improving Availability & Lowering Costs with Auto Scaling & Amazon EC2 (CPN20...Amazon Web Services
 
Running Oracle EBS in the cloud (OAUG Collaborate 18 edition)
Running Oracle EBS in the cloud (OAUG Collaborate 18 edition)Running Oracle EBS in the cloud (OAUG Collaborate 18 edition)
Running Oracle EBS in the cloud (OAUG Collaborate 18 edition)Andrejs Prokopjevs
 
Building a Just-in-Time Application Stack for Analysts
Building a Just-in-Time Application Stack for AnalystsBuilding a Just-in-Time Application Stack for Analysts
Building a Just-in-Time Application Stack for AnalystsAvere Systems
 

Similar a FOSS4G In The Cloud: Using Open Source to build Cloud based Spatial Infrastructure (20)

Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications
 
OpenEBS; asymmetrical block layer in user-space breaking the million IOPS bar...
OpenEBS; asymmetrical block layer in user-space breaking the million IOPS bar...OpenEBS; asymmetrical block layer in user-space breaking the million IOPS bar...
OpenEBS; asymmetrical block layer in user-space breaking the million IOPS bar...
 
Journey towards serverless infrastructure
Journey towards serverless infrastructureJourney towards serverless infrastructure
Journey towards serverless infrastructure
 
Understanding Elastic Block Store Availability and Performance
Understanding Elastic Block Store Availability and PerformanceUnderstanding Elastic Block Store Availability and Performance
Understanding Elastic Block Store Availability and Performance
 
AWS (Hadoop) Meetup 30.04.09
AWS (Hadoop) Meetup 30.04.09AWS (Hadoop) Meetup 30.04.09
AWS (Hadoop) Meetup 30.04.09
 
Perl in Teh Cloud
Perl in Teh CloudPerl in Teh Cloud
Perl in Teh Cloud
 
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
 
Cloud Connected Devices on a Global Scale (CPN303) | AWS re:Invent 2013
Cloud Connected Devices on a Global Scale (CPN303) | AWS re:Invent 2013Cloud Connected Devices on a Global Scale (CPN303) | AWS re:Invent 2013
Cloud Connected Devices on a Global Scale (CPN303) | AWS re:Invent 2013
 
Cost Effectively Run Multiple Oracle Database Copies at Scale
Cost Effectively Run Multiple Oracle Database Copies at Scale Cost Effectively Run Multiple Oracle Database Copies at Scale
Cost Effectively Run Multiple Oracle Database Copies at Scale
 
Solving k8s persistent workloads using k8s DevOps style
Solving k8s persistent workloads using k8s DevOps styleSolving k8s persistent workloads using k8s DevOps style
Solving k8s persistent workloads using k8s DevOps style
 
Java on the Mainframe
Java on the MainframeJava on the Mainframe
Java on the Mainframe
 
Kubernetes at NU.nl (Kubernetes meetup 2019-09-05)
Kubernetes at NU.nl   (Kubernetes meetup 2019-09-05)Kubernetes at NU.nl   (Kubernetes meetup 2019-09-05)
Kubernetes at NU.nl (Kubernetes meetup 2019-09-05)
 
Running Spark on Cloud
Running Spark on CloudRunning Spark on Cloud
Running Spark on Cloud
 
Cloud Computing: Safe Haven from the Data Deluge? AGBT 2011
Cloud Computing: Safe Haven from the Data Deluge? AGBT 2011Cloud Computing: Safe Haven from the Data Deluge? AGBT 2011
Cloud Computing: Safe Haven from the Data Deluge? AGBT 2011
 
Yow Conference Dec 2013 Netflix Workshop Slides with Notes
Yow Conference Dec 2013 Netflix Workshop Slides with NotesYow Conference Dec 2013 Netflix Workshop Slides with Notes
Yow Conference Dec 2013 Netflix Workshop Slides with Notes
 
Moving to the Cloud: AWS, Zend, RightScale
Moving to the Cloud: AWS, Zend, RightScaleMoving to the Cloud: AWS, Zend, RightScale
Moving to the Cloud: AWS, Zend, RightScale
 
Performance architecture for cloud connect
Performance architecture for cloud connectPerformance architecture for cloud connect
Performance architecture for cloud connect
 
Improving Availability & Lowering Costs with Auto Scaling & Amazon EC2 (CPN20...
Improving Availability & Lowering Costs with Auto Scaling & Amazon EC2 (CPN20...Improving Availability & Lowering Costs with Auto Scaling & Amazon EC2 (CPN20...
Improving Availability & Lowering Costs with Auto Scaling & Amazon EC2 (CPN20...
 
Running Oracle EBS in the cloud (OAUG Collaborate 18 edition)
Running Oracle EBS in the cloud (OAUG Collaborate 18 edition)Running Oracle EBS in the cloud (OAUG Collaborate 18 edition)
Running Oracle EBS in the cloud (OAUG Collaborate 18 edition)
 
Building a Just-in-Time Application Stack for Analysts
Building a Just-in-Time Application Stack for AnalystsBuilding a Just-in-Time Application Stack for Analysts
Building a Just-in-Time Application Stack for Analysts
 

Último

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
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?Antenna Manufacturer Coco
 
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.pdfsudhanshuwaghmare1
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
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 RobisonAnna Loughnan Colquhoun
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
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 organizationRadu Cotescu
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
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...apidays
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 

Último (20)

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
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?
 
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
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
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
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
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...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 

FOSS4G In The Cloud: Using Open Source to build Cloud based Spatial Infrastructure

  • 1. FOSS4G  in  the  Cloud     Mohamed  Sayed   mohamed@fossworx.org   Version  092013   License:  CC-­‐BY-­‐SA  
  • 2. Agenda   •  Disclaimers   •  Goals/MoLves   •  The  historical  path  to  ‘Cloud  CompuLng’   •  ‘DefiniLon’  of  cloud  compuLng   •  FOSS4G  in  Cloud  Use  cases   •  AWS:  Components  and  Services   •  Building  for  the  cloud   –  Architectural  paUerns  for    Cloud  Services   –  Cultural  changes   –  Processes  changes   –  Things  to  remember   •  Common  FOSS4G  tasks  in  AWS   –  ImporLng  OSM  data  into  POSTGIS   –  Mod_Lle/Mapnik   –  GWC/Geoserver   •  QuesLons?  
  • 3. Disclaimers   •  The  work  presented  was  funded  personally   and  done  during  my  vacaLon.  All  opinions  are   my  own  and  not  my  employer.   •  I  am  not  affiliated  with  AWS  in  any  other  way   than  being  a  customer,  I  choose  them  when   that  choice  makes  sense    and  would  use   others  where  applicable.   •  This  is  sLll  Work  in  progress.  YMMV  
  • 4. Goals/MoLves   •  Goals   – We  will  learn  or  validate  some  ideas.   – Get  some  feedback  on  what  to  do  next.   – Help    save  someone  Lme/money/frustraLon   – Raise  awareness  about  some  risks.   •  MoLves   – The  new  disrupLon  is  in  data  and  services  around   it,  we(Open  Source  people)  should  not  miss  out   on  that  and  I  believe  I  can  help.  
  • 5. Cloud Computing Hardware Changes Virtualization Mobile Computing Path to Cloud Computing MultiScreen Tablets KVM/ Xen Solaris Zones VMWare/ Parallels Storage/Network Virtualization I/O Offloading NPT/EPT Multicore Support Smart Phones
  • 6. Cloud  CompuLng  definiLon   (IMHO)   •  Cloud  compuLng  is  a  compuLng  paradigm   composed    of  abstracLons  ,    a  set  of  primiLves   and  a  set  of  interfaces  and  tools  to  drive  those   abstracLons  and  primiLves.  The  abstracLons   and  primiLves  need  not  be  new  in  themselves,   but  their  combinaLon  and  impact  is  what   create  ‘The  Cloud’  culture.  
  • 7. Compute   Storage  Network   PrimiLves   AbstracLons   FoundaLon   Image   Volumes   Snapshots   Autoscale   Tools   APIs   Config  Management  
  • 8. Example  “High  level”  Architecture   OpenStack  
  • 9. In  reality,  it  sorta  looks  like  this  
  • 10. AWS  as  a  Public  Cloud  
  • 11. FOSS4G  Use  Cases   •  Disaster  Recover/Backup   •  StaLc,  Logic-­‐free,  web  publishing   •  Online  FOSS4G  as  a  Service   •  Data  transformaLon  jobs   •  Content  CuraLon  and  Batch  processes  
  • 12. Example  FOSS4G  AWS  Use  Case   StaLc  publishing  blueprint  
  • 13. How  to  Build  your  Cloud  Infrastructure  
  • 14. Architectural  PaUerns   •  The  Cookie  CuUer/Soloist.   •  The  Centrist.   •  The  Replicator.   •  The  Masters  of  Colonies.  
  • 16. The  Cookie  CuUer/Soloist   •  Pros:   – Simple.   – Scales  Horizontally  w/load.   – Localized  failure  impact.   •  Cons:   – Poor  support  for  write-­‐oriented  services.   – Coarse  grained  scalability.   – Node  capacity  has  verLcal  scalability  issues.  
  • 17. CAP  –  The  Centrist  
  • 18. The  Centrist   •  Pros:   –  Scales  at  components  level.   –  Moderate  complexity  up  to  middle  range  load.   –  Faster/Easier  fault  isolaLon/detecLon.   –  Data  stores  Master/Slave  is  a  well  studied  concept.   •  Cons:   –  Central  data  store  becomes  more  criLcal/boUleneck.   –  MulL-­‐region  deployments  suffer  from  latency.   –  VerLcal  scaling  characterisLcs  pronounced  on  the   Data  store.  
  • 19. CAP  –  The  Replicator  
  • 20. The  Replicator   •  Pros:   – Scales  at  components  level.   – Improved  read  performance.   – BeUer  Disaster  Recovery.   – Well  suited  for  mulL  regions  deployments.   •  Cons:   – Writes  are  sLll  central.   – Added  complexity.   – Increased  bandwidth  requirements.  
  • 22. CAP  –  Master  of  Colonies   •  Pros:   – Improved  write  performance.   – Decompose  large  data  sets  into  smaller  ones.   – Faster  data  iteraLons.   – Good  disaster  recovery  strategy.   •  Cons:   – Complex!   – Weak/Varying  support  by  various  data  stores.   – High  maintenance  overhead  
  • 23. Cultural  Changes   •  Get  stakeholders  buy-­‐in  early.   •  Build  a  full  ownership  culture.   •  Adopt  an  agile  approach.   •  Encourage  prototyping  and  experimentaLon.   •  AutomaLon  as  a  way  of  life.  
  • 24. Processes  Changes   •  Somware  Architecture:   –  Know  the  floor,  and  the  ceiling.   –  Be  as  stateless  as  possible.   –  Graceful  failure  response.   –  Good  Logging  as  a  way  of  life.   •  Release  Engineering   –  The  VM  as  an  arLfact   –  AutomaLon   –  Versioning   –  Snapshot   •  AutomaLon:   –  ConfiguraLon  management   –  OrchestraLon   –  Auto-­‐scaling  
  • 25. Things  to  remember   •  Review  any  legal  implicaLons.   •  Use  the  cloud  primiLves.   •  Pay  aUenLon  to  security:  Security  groups,   Encrypted  data  at  rest,  etc.   •  Cleanup  old  stuff.   •  Things  fail:  don’t  fight  it,  just  handle  it.   •  You  will  not  get  it  right  the  first  Lme  but  things   should  look  good  on  3rd  iteraLon.(Read  the   mythical  man  month)  
  • 26. FOSS4G  in  AWS   Performance/Architecture  EvaluaLon   •  Tools  used:   – Siege   – Sar   – Oprofile   – R/AWK/Python/Ruby   •  Postgresql  queries  log.   •  Test  client  -­‐>  Target  server  as  separate  nodes.  
  • 27. OSM  Data  into  AWS   •  Setup  1   –  M1.Large  (  2  Cores)   –  Standard  EBS   –  EU-­‐West  region   •  Setup  2   –  M1.Large   –  Provisioned  EBS  :  8000  IOPS   –  EU-­‐West  region   •  Setup  3   –  Hi.4xlarge   –  SSD  drive   –  EU-­‐West  region   •  Setup  4   –  M2.2xlarge   –  EU-­‐West   –  Ephemeral  drives  
  • 28. ImporLng  OSM  data  into  AWS   TesLng  the  water  
  • 29. ImporLng  OSM  data  into  AWS   TesLng  the  water  some  more  
  • 30. Enough  Water  TesLng   ImporLng  Planet  to  SSD   •  Guess  how  long  it  took  to  finish  
  • 31. ImporLng  Planet  into  AWS   Using  SSD   •  It  only  took  35  hours!   •  Disk  uLlizaLon:  ~250Gb   •  Guess  what  was  the  first  thing  I  did  when  it   finished?  
  • 32. ImporLng  Planet  into  AWS   •  I  made  a  copy  of  course  J   •  Create  a  RAID  0  set   •  Create  LVM  on  top  of  RAID  0   •  Kick  off  data  copy   •  Guess  how  long  it  took  
  • 33. ImporLng  Planet  into  AWS   •  It  only  took  2.5    hours.  
  • 34. Data  Import  in  AWS   OSM  full  planet  
  • 35. Profiling  OSM2PGSQL   •  Data  sets  used   •  Links/Ways/nodes  of  each  set   •  Time  
  • 36. Data  import  notes   •  Create  the  DB  on  SSD  and  clone  to  EBS:   – Use  case:  quickly  import  the  data  but  make  it   persistent.   – Full  planet  volume  takes  2-­‐2.5  hours.   •  Create  Provisioned  EBS  and  clone  to  SSD:   – Use  case:  Need  very  fast  runLme  access   – Full  planet  volume  takes  5.4  hours   •  Can  we  get  OSM  primiLves  summary  per   dump  and  full  planet  as  part  of  the  pbf?  
  • 37. Data  Import  in  AWS   Lessons  learned   •  It  is  not  only  the  disk.   •  Risk  on  mulLple  levels   – Dev  teams  can’t  possibly  be  tesLng  to  their  full   potenLal(in  the  data  context).   – Evident  in  outdated/incorrect  documentaLon  for   bootstraping  
  • 38. Rendering  –  ModLle/mapnik   •  Apache  module  +  a  unix  daemon.   •  Apache  module  is  process  model,  Renderd  is   mulLthreaded.   •  Apache  module  sends  a  command  to  renderd  over  a   unix  socket.   •  The  renderer  will  fetch  the  data  and  writes  it  out.   •  Non  cached  data  will:   –  Fail  on  first  aUempt(return  404)   –  Pass  on  second  aUempt(~600  msec)   •  Cached  data  is  served  <  10  msec   •  Very  SQL  chaUery  
  • 44. Rendering  –  GeoServer/GWC   •  Single  layer,  ZL  15,  RAM  Disk  :  100  Lles/sec   •  TruncaLon  is  very  slow.  Please  version  your   published  layers.   •  Standalone  GWC  offers  much  beUer  scalability   model   •  Possible  race  condiLons  in  threads  wriLng   Lles.   •  Didn’t  hit  the  getAlphaTile()  issue.    
  • 45. GWC/Geoserver  in  AWS   Example  deployment  
  • 46. Cost?   •  Screenshot  of  my  account  acLvity  
  • 47. Released  arLfacts   Snapshots  of  OSM  data  in  flat  PGSQL   •  2  drives  :   –  snap-­‐f9affde6   –  snap-­‐ffaffde0   •  To  use:   –  Create  a  volume  based  on  the  snapshot   –  Mdadm  acLvate  (  raid0  ,  2  drives)   –  Pvscan,vgscan,vgchange,lvscan   –  Installing  mdadm  and  rebooLng  should  work  on  most   machines  to  do  this  for  you  automagically.   –  Mount  on  the  volume  on  your  PGDATA  path  
  • 48. Backlog   •  Geocoding  tesLng  with  Twofish  and   GISGraphy   •  OSRM  profiling   •  SuggesLons?  
  • 49. Many  thanks  to   •  Geofabrik  for  compiling  all  those  sets/formats.   •  FOSS4G2013  for  this  opportunity   •  And  THANK  YOU