Back to Blog Search

    Comparisons

    Always-On vs On-Demand DDoS Protection: What the Difference Means for Your Uptime

    Alexander Haglund

    Chief Executive Officer

    A
    July 18, 20266 min read

    A large flood of attack traffic can fill your internet connection in seconds. That single fact decides almost everything about DDoS protection, because it means the useful question is not only how good the filtering is, but whether the filtering is already running when the flood arrives. Protection that has to be switched on after an attack starts is working against a clock it usually loses.

    This is the difference between always-on and on-demand DDoS protection. Both can stop the same attacks. They differ in when the filtering happens, and that timing often decides whether your users notice anything at all. This article explains both approaches in plain language, shows where the risk hides, and lists the questions worth asking before you choose.

    First, a quick definition. A DDoS attack (short for distributed denial of service) is an attempt to knock a service offline by flooding it with junk traffic from many sources at once. Most large attacks are volumetric, meaning they simply try to send more data than your connection can carry. Once the pipe is full, real visitors cannot get through, no matter how healthy your server is.

    What on-demand protection actually means

    On-demand protection, sometimes called reactive mitigation, sits idle until an attack is detected. Your traffic flows normally, straight to your server, with nothing filtering it. When monitoring notices a spike that looks like an attack, mitigation is triggered: traffic is rerouted through a filtering network, the junk is removed, and clean traffic continues to you.

    The appeal is easy to see. You are not paying to filter traffic on a quiet day, and the filtering capacity is shared across many customers who rarely need it at the same time. For a service that is almost never attacked, that can be a reasonable trade.

    The catch is the word "until." Several things have to happen after the first attack packet arrives. Something has to notice the flood. A decision, automatic or human, has to trigger mitigation. Traffic has to be pulled into the filtering path, which often means announcing new routes across the internet and waiting for that change to take effect. Only then does clean traffic start flowing again. Every one of those steps takes time, and the attack is already running the whole way through.

    What always-on protection means

    Always-on protection removes the trigger entirely. Your traffic is routed through the filtering network all the time, on quiet days and busy ones alike. There is no idle state to wake up from, because the filtering is already in the path. When an attack starts, the junk is dropped from the first packet, and the clean traffic behind it never stops.

    From your side, nothing dramatic happens during an attack. There is no reroute to wait for and no alert to act on before protection kicks in. The flood hits a network built to absorb it, and your own connection carries only traffic that has already been cleaned. Sterile Networks builds its service around this model: always-on network and ASN protection filters Layer 3 and 4 traffic continuously, where Layers 3 and 4 are the parts of network communication that handle addressing and connections, which is where volumetric floods operate.

    Why the timing gap matters

    The whole argument comes down to one window of time. Call it the exposure window: the gap between the moment an attack starts and the moment filtering is actually removing the junk.

    With always-on protection, that window is effectively zero, because filtering never stopped. With on-demand protection, the window is however long detection, triggering, and rerouting take. That might be a minute. It might be several. During a volumetric flood, even a short window is enough to saturate your connection and take everything behind it offline: the website, the game server, the API, and anything else sharing the link.

    There is a quieter problem too. On-demand protection depends on someone or something noticing the attack in the first place. If detection is slow, or an attack is shaped to look like ordinary traffic, the trigger fires late or not at all. Knowing the signs of a DDoS attack helps, but relying on fast human reaction during a flood is a fragile plan. The middle of an outage is a poor time to be reading traffic graphs.

    A side-by-side comparison

    The two models differ on a handful of points that matter in practice:

    • When filtering runs. On-demand starts only after an attack is detected; always-on runs continuously.

    • What starts it. On-demand needs a trigger, automatic or manual; always-on has nothing to start.

    • Exposure window. On-demand leaves a gap equal to detection plus reroute time; always-on leaves effectively none.

    • Reliance on detection speed. On-demand depends on it; always-on does not.

    • Best fit. On-demand suits rarely attacked services that are watching cost; always-on suits services that cannot afford downtime.

      On-demand trades a slice of risk for lower steady cost. Always-on trades a little steady cost for a much smaller chance of being caught out.

    Where on-demand still makes sense

    Always-on is not automatically the right answer for everyone, and it is worth being honest about that. On-demand mitigation exists because it solves a real problem: enormous filtering capacity is expensive to run, and pooling it across many customers who are attacked rarely keeps costs down. A very large organization with strong internal monitoring, infrequent attacks, and staff who can respond in seconds may accept the exposure window in exchange for that saving.

    The trade becomes harder to justify as downtime gets more costly and attacks get cheaper to launch. For a game server, a small hosting company, or an online store, a few minutes of downtime during peak hours can undo a lot, and the traffic needed to cause it can be rented for very little. In those cases the steady cost of always-on filtering usually looks small next to the cost of the outages it prevents.

    What to check when comparing providers

    When you read a provider's marketing, the phrase "DDoS protection" on its own does not tell you which model you are getting. A few direct questions cut through it.

    Ask whether filtering is always-on or triggered by an attack. If it is triggered, ask what fires the trigger and how long activation takes. Ask for a time to mitigation figure, meaning how quickly clean traffic resumes once an attack begins, and whether that happens automatically or waits on a network operations team. Sterile's always-on application protection, for example, is built to move from detection to mitigation in under half a second, with no manual step. Finally, ask what happens to your real server address, because protection only holds if your origin (the unprotected address your server actually sits on) stays hidden behind the filtering.

    None of these questions require deep networking knowledge to ask, and the answers tell you far more than a headline capacity number. A network that can absorb a huge flood still leaves you exposed if it only starts filtering after the flood has already filled your pipe. If you want the mechanics of how clean traffic reaches you once filtering is in place, the guide on how GRE tunnel DDoS protection works walks through it.

    Deciding before the next attack

    The best time to choose a protection model is while nothing is on fire. An attack forces the decision at the worst possible moment, when you are already down and every option feels urgent. Thinking it through in advance turns a crisis into a configuration choice you already made.

    If uptime matters to your service and you would rather not gamble on reacting fast enough, always-on protection removes the part of the problem you have the least control over: time. You can compare the available protection plans or talk to the team about the setup that fits what you run.