Your app, your files and your traffic, served from the edge
RivoCloud puts a global cache in front of your site, stores your files in S3-compatible buckets and shows you every request in real time. One console, one API, no glue code.
- Purges reach every edge in seconds
- S3-compatible storage built in
- Automatic TLS and signed URLs
Edge network · live traffic
Trusted by teams who ship every day
- Acme Media
- Northwind Shop
- Lumen Labs
- Pinecrest
- Orbitly
- Fieldnote
- Edge locations on five continents
- 15
- Requests served every day
- 2.4B
- Median cache hit ratio
- 94%
- Edge uptime over the last 12 months
- 99.99%
Customer names and figures on this page are illustrative.
Products
Three products, one console
Websites, storage and analytics share the same edge network, the same team and the same API. Pick a product to see it in action.
Cache your site at the edge, on your terms
Add a website by pointing RivoCloud at your origin. Every edge answers from memory first, then a shared Redis layer, and only goes back to your server when it has to.
- Per-path rules: cache, bypass or no-store, with separate edge and browser TTLs
- Choose whether query strings are part of the cache key
- Purge by path pattern or cache tag; every edge drops it within seconds
- Three cache layers keep origin traffic to a trickle
shop.northwind.com · Cache rules
| Path | Action | Edge TTL | Browser TTL | Query string |
|---|---|---|---|---|
| /static/* | Cache | 30 days | 7 days | Ignore |
| /products/* | Cache | 10 min | 1 min | Include |
| /api/* | Bypass | - | - | Include |
| /account/* | No store | - | - | - |
- Edge memory 71%
- Regional Redis 23%
- Origin 6%
Purged on all 15 edges in 1.4 s · 2,318 objects
How it works
From origin to edge in four steps
Most teams are serving traffic through RivoCloud within an hour. Select a step to see what happens behind the scenes.
Step 1 of 4
Active pathThe console saves the website and publishes its config to the edges, which will fetch from your origin on a miss.
Use cases
How teams use RivoCloud
The same three building blocks, put together in different ways. Here is how four kinds of teams set it up.
For example, Northwind Shop
Online stores
Keep product pages fast during a sale without caching anyone’s basket.
How to set it up
- 1Add your store as a website with your shop server as the origin.
- 2Cache /static/* for 30 days and /products/* for 10 minutes.
- 3Set /cart/* and /account/* to no-store.
- 4Purge /products/* from your admin when prices change.
For example, Acme Media
Media publishers
Serve images and video from the edge and update a story the moment it changes.
How to set it up
- 1Upload images and video to a storage bucket.
- 2Serve the bucket through your media domain so it is cached at the edge.
- 3Tag each article’s responses with a cache tag.
- 4Purge the tag when an editor publishes a correction.
For example, Lumen Labs
SaaS apps
Let customers upload files and share them privately, without building a file service.
How to set it up
- 1Create a private bucket for customer uploads.
- 2Request a presigned URL from the API and upload from the browser.
- 3Turn on signed URLs for the website that serves the files.
- 4Hand customers links that expire after 15 minutes.
For example, Orbitly
Developers and APIs
Automate everything from CI: deploy, purge and check the numbers.
How to set it up
- 1Create an API key scoped to zone:read and cache:invalidate.
- 2Store it as a secret in your CI pipeline.
- 3Purge the changed paths after every deploy.
- 4Read cache hit ratio from the analytics API to catch regressions.
Developers
Everything in the console is an API call
A REST API at /api/v1 covers websites, cache rules, purges, buckets, objects and analytics. A JavaScript SDK and a CLI are in preview.
API keys with scopes
Give each script only what it needs. A deploy job that purges the cache never has to be able to delete a bucket.
An audit log for every change
Changes made with a key are recorded with the key’s name, next to the ones your team makes in the console.
Predictable limits
Sensitive endpoints such as purges are rate limited, and return a clear 429 when you need to slow down.
Available scopes include
- zone:read
- zone:write
- cache:invalidate
- storage:read
- storage:write
- analytics:read
curl https://api.rivocloud.dev/api/v1/zones \ -H "X-API-Key: $RIVO_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "northwind-shop", "originUrl": "https://origin.northwind.com", "cacheTtl": 3600 }'Authenticate with an X-API-Key header. Keys start with rc_live_ or rc_test_.
Analytics
Know how fast you are, everywhere
Every request is logged at the edge and queryable within seconds. Switch between metrics and ranges below to explore sample traffic from a busy online store.
- Total
- 12.89M
- Peak per point
- 907K
- Average per point
- 537K
Response time at the edge
Time to first byte, last 24 hours
- p5018 ms
- p9541 ms
- p9987 ms
Top paths
Share of all requests
- /static/app.js21.4%
- /products/*17.9%
- /images/hero.webp9.3%
- /api/cart4.1%
Sample data for illustration.
Customers
Teams ship faster with RivoCloud
Our product pages used to fall over every time we ran a sale. Now 95% of requests never reach our servers, and when prices change we purge one path from the admin and it is live everywhere before the page reloads.
Jane DoeHead of engineering, Northwind Shop We moved 30 TB of images and video into RivoCloud buckets in a weekend. Cache tags mean an editor’s correction is visible in seconds, not after a TTL runs out.
John SmithPlatform lead, Acme Media Presigned uploads and signed links replaced a file service we had been maintaining for three years. Our CI key can purge the cache and nothing else, which our security team loves.
Alex JohnsonCTO, Lumen Labs
A pull zone is how RivoCloud represents one of your websites. You give it your origin URL, and our edges fetch ("pull") content from that origin the first time it is requested, then serve it from cache until it expires or you purge it. In the console we simply call it a website.
Usually a second or two. When you purge a path pattern or a cache tag, the request goes onto a message bus that every edge listens to, and each edge drops the matching objects from memory and from Redis straight away. You can watch the status of each purge in the console or through the API.
Turn on signed URLs for a website and each link must carry an expiry time and an HMAC-SHA256 signature made with that website’s secret. The edge recomputes the signature before serving anything. If the path or expiry has been changed, or the time has passed, the request is refused. You can rotate the secret at any time.
In S3-compatible object storage, in buckets that belong to your organization. Uploads go straight from the browser or your server to storage using short-lived presigned URLs, so file contents never pass through our API. Buckets can be public or private, and can be served through any of your websites.
Yes. Add the domain to a website, create the CNAME record we show you, and we verify it and issue a Let’s Encrypt certificate automatically. Certificates renew on their own, so there is nothing to remember.
Every organization has four roles: Owner, Admin, Developer and Viewer. API keys are created by a member and limited to scopes such as zone:read, cache:invalidate or storage:write, and can never do more than the person who created them. Every change, from the console or the API, is written to the audit log.
Request-level analytics are kept for 90 days, and hourly and daily summaries for 13 months. Analytics are aggregated from every request, not sampled.
The network, by the numbers
Every website, bucket and cache rule adds to the same global network. Open the demo console to see the same numbers for a single account.
- A seeded console with websites, cache rules, buckets and analytics
- Four roles to try: owner, admin, developer and viewer
- Runs in your browser, with no card and nothing to install
Network metrics
Last 30 days, across every edge location.
- Requests served
- 72.4B+14%
- Bandwidth saved by cache
- 1.3 PB+9%
- Median time to first byte
- 18 ms-3 ms
- Websites on the network
- 3,200++210
- Files stored in buckets
- 41 TB+6%
- Global cache purge
- <150 ms-20 ms
Figures are illustrative demo data.
Open the demo console