Storage

 

What is it, How has it changed, How is changing

elb addr

ansible deployed

web heads

Existing infra

storage[..].prod.planet-labs.com

ro-storage[..].prod...

storage-db-a-01.prod... fails

over to storage-db-b-01

storage-db-c-01.prod...

Source

of

Truth

Extra Indexing

Data Stores

ELB

indexer/streamsets

ES-Nodes

Platform still connects to the DB direct

tiles, mosaics, view servers

storage-ro.prod.planet-labs.com

Primary

zippy-storage-ro-db.prod.planet-labs.com

storage-db-c-01.prod.planet-labs.com

Current pain points

  • Takes mins (usually around 20) to add a node to the storage pool
  • Very expensive PG databases
  • Poor utilization of ES nodes
  • Very poor availability
  • Going to run out of space on PG DB

Solution: k8s 

k8s Cluster

db-a

db-b

Deployed via ansible

AutoScalar

AutoScalar

AutoScalar

Pets

ES

StreamSets

ELB

PG-Read

ro-storage

storage

bouncer

extended-fs

bouncer

extended-fs

What is Extended FS

  • Pull extended and cmo from the DB
  • It stores extended and cmo as gzipped files on disk
  • We store the entire history, and then have a cron job reap old data
  • We support Block or NFS based storage. Autosharding with DNS and Block storage. For GCE moving to bigtable should be easy

Storage Scalability

By Alex Newman

Storage Scalability

  • 735