Skip to content

Add complexity, latency, and cost to chart #25

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Feb 18, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 28 additions & 9 deletions deploy/index.md
Original file line number Diff line number Diff line change
@@ -41,15 +41,34 @@ A CDN deployment of Protomaps has three parts:

## Next steps

* [Deploy PMTiles on Cloudflare.](/deploy/cloudflare)
* [Deploy PMTiles on AWS.](/deploy/aws)
* [Deploy PMTiles with the Caddy web server.](/deploy/server)
* [Deploy PMTiles on Cloudflare](/deploy/cloudflare)
* [Deploy PMTiles on AWS](/deploy/aws)
* [Deploy PMTiles with the Caddy web server](/deploy/server)

## Comparison
## Deployment Comparison Chart

_Cloudflare is recommended for budget minded beginners. AWS is recommended for commercial companies who require a faster map and/or can offset increased marginal cost with monetization._

| feature | static pmtiles | Cloudflare | AWS | [Caddy](/deploy/server#caddy) | `pmtiles serve` |
| - | - | :-| -: | - | - |
| Z/X/Y compatible | | ✅ | ✅ |✅ | ✅ |
| edge caching | | ✅ | ✅ | With CDN | With CDN |
| SSL | ✅ | ✅ | ✅ | ✅ | With reverse proxy |
| scale to zero | ✅ | 5 USD | ✅ | | |
| - | :-: | :-:| :-: | :-: | - |
| Z/X/Y compatible | ✖️ | ✅ | ✅ | ✅ | ✅ |
| Edge caching | ✖️ | ✅ | ✅ | With CDN | With CDN |
| SSL | ✅ | ✅ | ✅ | ✅ | With reverse proxy |
| Scale to zero | ✅ | $5 (USD) | ✅ | ✖️ | ✖️ |
| Setup effort | 😓 | 😓 | 😓 | 😓😓 | 😓😓😓 |
| Latency | 🚀 | 🚀 | 🚀🚀🚀 | 🚀🚀 | 🚀🚀🚀 |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The last two columns are more like it depends for latency because they only prescribe a decoding method, not what network it comes from (it could just as well be AWS Cloudfront or Cloudflare)

| Cost | 💰 | 💰 | 💰💰💰 | 💰💰 | 💰💰 |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as above comment, the first 3 are complete solutions while the last two are "missing something"


### Feature explanation

- **Z/X/Y compatible**: Can tiles be requested as standard web mapping zoom, x, y tile coordinates?
- **Edge caching**: Includes easy to configure edge network for content distribution (or manually paired with CDN) to achieve faster latency?
- **SSL**: Supports encrypted link between tile server and client map library?
- **Scale to zero**: Does the serverless function scale to zero cost during periods of low usage?
- **Setup effort**: Developer time to configure complete cloud tile serving solution, less effort 😓 is better than more 😓😓😓 effort
- **Latency**: Speedy maps tiles 🚀🚀🚀 load in ≤ 200 ms in the client for customers, slow tiles 🚀 load ≥ 500 ms
- **Cost**: Total cost to run tile serving system, with 💰 being cheaper at $5 USD and 💰💰💰 more expensive options that including storage egress and/or CDN bandwidth costs to achieve lower latency

### Coming soon

- **Azure** support is in development and planned for 2024.