Planet Labs on AWS

Amit Kapadia (@amitinho)
AWS Earth Observation Day

Our mission is to image the whole world every day & provide universal access to data.

Nano-satellite approach


Global coverage

Daily online delivery

Lower cost

13 builds in 3 years

101 satellites launched on 9 rockets

13 ground stations across the globe

Compute infrastructure with 100s of VMs

Data exposed via web app & API

Planet Labs on AWS
Imagery on S3

1 TB of PlanetScope imagery weekly

6 TB of Landsat 8 imagery weekly

60 TB of RapidEye imagery

Landsat 8 on S3

Constantly ingesting new scenes via USGS's API

Publicly and programatically accessible

RapidEye on S3

30 TB moved from cold storage

30 TB from the firehose

$ cat washington.geojson | planet search --scene-type rapideye
  "count": 20,
  "features": [
      "geometry": {
        "coordinates": [
        "type": "Polygon"
      "id": "20151012_163129_1857007_RapidEye-4",
Data store on EC2, Kinesis & S3

Increasing collection of metadata (e.g. camera)

PostGIS cluster on EC2

Kinesis streams to Elasticsearch & S3

Compute on EC2

Raw bytes to visual and analytic imagery



Compute on spot instances

Use any available instance (small to xlarge)

Distribute jobs according to resource requirements

Operating ~2000 virtual machines

                            $ cat open_california.json
    "start_date": "2009-01-01",
    "end_date": "2009-12-31",
    "compositor_template": {
        "compositors": [
                "class": "darkest",
                "scale_max": 190000,
                "scale_min": 0
                "class": "percentile",
                "quality_percentile": 80.0
    "region": "california.geojson",
    "name": "open_california",
                                $ --mosaic open_california

Planet Labs on AWS

Amit Kapadia (
AWS Earth Observation Day