Regions
Where Easel serves traffic, where Functions run, and how regional pricing works.
Easel serves requests from edge locations around the world and runs Functions in a single compute region. A visitor reaches the nearest edge, which serves static assets and cached responses directly. Only requests that need your application code travel on to the Function region.
Edge locations
Each edge location terminates TLS, applies firewall rules, and serves cached responses.
| Edge ID | Location |
|---|---|
iad | Ashburn, Virginia, USA |
sjc | San Jose, California, USA |
lax | Los Angeles, California, USA |
gru | São Paulo, Brazil |
fra | Frankfurt, Germany |
jnb | Johannesburg, South Africa |
sin | Singapore |
nrt | Tokyo, Japan |
syd | Sydney, Australia |
Function region
Functions run in US East (iad, Northern Virginia, USA). It's the only Function
region today, and you can't choose a different one per project or route.
A visitor in London enters the edge in Frankfurt, but a request that needs a
Function still runs in iad. If every request queries a database, place that
database in or near US East: colocating Function and data matters more than
placing compute near the visitor. Reduce the remaining distance by caching
responses at the edge (see Caching) and repeated data work
in the Runtime Cache.
Runtime Cache keeps a separate cache in each edge region; see How it works.
Reading the region on a request
Easel attaches the Function region to every request your code receives:
Easel overwrites any client-supplied value, so you can trust it. See Request and response headers for how to read it in your framework.
Regional pricing
Some usage costs more in some regions. Easel prices usage by the edge location that served it, then multiplies it into base-region-equivalent units. Those units count against your included allowance, and you pay for them past it.
For example, 1 GB of transfer served from São Paulo (gru) with a 1.7× egress
multiplier counts as 1.7 GB against Edge Data Transfer. The remaining figure in
billing is this normalized quantity, not GB remaining in each region.
Edges map to pricing regions as follows: iad, sjc, and lax use North
America (iad) rates; nrt uses Japan (hnd); jnb uses Africa (cpt);
every other edge uses the pricing region with its own ID. Usage from an
unrecognized region isn't billed.
| Region | Label | Edge egress | Origin transfer | Edge requests | Image transformations |
|---|---|---|---|---|---|
| iad | North America | 1.00 | 1.00 | 1.00 | 1.000 |
| fra | Europe | 1.00 | 1.00 | 1.30 | 1.202 |
| sin | Singapore | 1.10 | 4.50 | 1.30 | 1.210 |
| hnd | Japan | 1.10 | 4.50 | 1.30 | 1.322 |
| syd | Oceania | 1.10 | 4.83 | 1.30 | 1.324 |
| gru | South America | 1.70 | 6.83 | 1.60 | 1.624 |
| bom | India | 1.50 | 4.17 | 1.10 | 1.054 |
| cpt | Africa | 2.30 | 7.17 | 1.40 | 1.470 |
Rates below are USD per billing unit (per GB, per 1M, per 1K, or per GB-hour):
| Meter | IAD | FRA | SIN | HND | SYD | GRU | BOM | CPT |
|---|---|---|---|---|---|---|---|---|
| Edge Data Transfer | $0.1 | $0.1 | $0.11 | $0.11 | $0.11 | $0.17 | $0.15 | $0.23 |
| Origin Transfer | $0.06 | $0.06 | $0.27 | $0.27 | $0.29 | $0.41 | $0.25 | $0.43 |
| Edge Requests | $2.00 | $2.60 | $2.60 | $2.60 | $2.60 | $3.20 | $2.20 | $2.80 |
| Function Duration | $0.18 | $0.18 | $0.18 | $0.18 | $0.18 | $0.18 | $0.18 | $0.18 |
| Cache Read Units | $0.4 | $0.52 | $0.52 | $0.52 | $0.52 | $0.64 | $0.44 | $0.56 |
| Cache Write Units | $4.00 | $5.20 | $5.20 | $5.20 | $5.20 | $6.40 | $4.40 | $5.60 |
| Image Transformations | $0.05 | $0.0601 | $0.0605 | $0.0661 | $0.0662 | $0.0812 | $0.0527 | $0.0735 |
| Rate Limiting | $0.5 | $0.65 | $0.65 | $0.65 | $0.65 | $0.8 | $0.55 | $0.7 |
| WAF Inspected Requests | $0.8 | $1.04 | $1.04 | $1.04 | $1.04 | $1.28 | $0.88 | $1.12 |
| WAF Inspected Payload | $0.2 | $0.26 | $0.26 | $0.26 | $0.26 | $0.32 | $0.22 | $0.28 |
Function Requests and Build Execution don't vary by region.