Dormeto

Early access · AWS

Your idle web apps nap.
The first visitor wakes them.

Dormeto stops the workloads behind your Application Load Balancer when nobody uses them, and starts them again just in time when a real request arrives. Once awake, traffic goes straight to your application: Dormeto stays out of the request path.

Ask for early access How it works

  • No code change Dormeto works with your load balancer rules, target groups and tags.
  • No proxy when awake The load balancer routes to your app directly.
  • Real visitors first Filters, rules and IP lists keep scanners and bots from waking workloads.

How it works

  1. Detect idle

    The router watches the request count of each workload on your load balancer. After an idle window (15 minutes by default), the workload is due for a nap.

  2. Nap

    The listener rule switches to a small Lambda function, the waker, and the backends stop. A request during the switch cancels the nap, so nobody is caught half-way.

  3. Wake just in time

    The first real request starts the backends. The visitor is held while they start and redirected as soon as the application answers, or sees a page that reloads by itself. The rule then switches back to your app.

Request routing, awake and asleep Awake, the load balancer forwards requests to the application. Asleep, it forwards them to the Dormeto waker, which starts the application and redirects the visitor once it is ready. Visitor Loadbalancer Your application Dormeto waker awake asleep starts it

What it naps

Resources tagged dormeto:workload behind the load balancer rule of a workload.

EC2 instances

Stopped during the nap and started on wake; they stay registered in their target group.

Auto Scaling groups

Scaled to zero with their scaling processes suspended, then restored to their size. With a warm pool in Stopped state, a wake restarts instances instead of launching new ones.

ECS services

Fargate or EC2: desired count to zero with Application Auto Scaling suspended, restored on wake.

RDS and Aurora

Databases nap with their application: stopped after it, started and awaited before it. A database that AWS restarts after seven days is stopped again.

Only real visitors wake it

On a public hostname, scanners show up within minutes of a new certificate. Waking for them would cancel the savings.

Built-in filters

HEAD requests, bots, crawlers, monitors and internet scanners get the waiting page, never a wake, and neither do well-known scanner paths such as /.env or /wp-login.php.

No-wake rules

Ignore source addresses and ranges, URL paths, user agents or request headers, for every workload or for one.

Browser wake mode

Only the waiting page's own script wakes the workload: scanners that do not run JavaScript never do. API clients wake it with a header or a wake rule.

IP reputation lists

Public lists of scanner networks and cloud ranges, refreshed daily. Listed sources wake through the waiting page only.

An admin page per workload shows its state, the ignored requests per reason and the wakes per trigger. The same counts are available as CloudWatch metrics.

Measured

Time from the first request to the first answer of the application, on our test workloads in eu-west-1, with our end-to-end test tool.

WorkloadWake time
ECS service on Fargate (0.25 vCPU)29 to 52 s
EC2 instance (t4g.nano)35 to 42 s
Auto Scaling group with a stopped warm pool35 s
Fargate service and PostgreSQL (db.t4g.micro)6 to 14 min

Your application's boot time adds to these figures. Visitors wait on a page that reloads by itself; for long wakes such as databases, that page is what they see.

Questions

Does Dormeto sit in front of my traffic?

Only while a workload is asleep or waking. Awake, the load balancer rule forwards every request to your application and the waker is not invoked at all.

What do visitors see during a wake?

Their request is held for up to a minute, then redirected to the same URL as soon as the application answers. If the wake takes longer, they get a waiting page that reloads by itself. API clients get a JSON answer with a retry delay.

What still costs money while a workload naps?

Compute stops. The load balancer, storage (EBS volumes, database storage, warm pool volumes) and a few Lambda invocations keep running.

Which clouds are supported?

AWS, with Application Load Balancers. Other clouds are not supported today.

How do I try it?

Dormeto is in early access: the router runs on AWS today and a console to connect your accounts is being built. Write to contact@dormeto.com.

Let idle apps rest.

contact@dormeto.com