Serverless hosting tends to cost less for variable, spiky, or low-traffic workloads and more for consistently high-traffic ones, while traditional hosting offers more predictable performance without cold-start latency but requires paying for capacity whether it’s used or not. Neither wins the serverless vs traditional hosting comparison universally, and one of the most cited examples of this tradeoff comes from Amazon’s own engineering team choosing traditional hosting over serverless for a specific, high-scale workload.
That example matters because it cuts through a lot of the marketing noise around serverless being an unambiguous upgrade. This guide compares the two models on the two dimensions that actually drive most real decisions, cost and performance, with concrete numbers and a real case study rather than abstract tradeoffs, as part of the same DevOps and cloud solutions evaluation that should inform any hosting decision.
Serverless hosting runs application code in provider-managed, ephemeral compute instances that scale automatically and are billed by actual execution time, with no servers for the development team to provision or maintain directly. AWS Lambda, Google Cloud Functions, and Azure Functions are the major examples, each charging based on requests and compute time consumed rather than for continuously running infrastructure.
Traditional cloud hosting runs applications on virtual machines or containers that stay provisioned and running continuously, billed for the capacity reserved regardless of how much of it is actually used at any given moment. This includes standard EC2 instances, Azure VMs, or container-based hosting on services like ECS or a Kubernetes cluster, where the team retains more control over the runtime environment in exchange for taking on more of the operational responsibility.
Factor | Serverless | Traditional Hosting |
Billing model | Pay per execution (requests + compute time) | Pay for reserved capacity, regardless of usage |
Cost at low/variable traffic | Generally lower | Often higher, capacity sits idle |
Cost at high, consistent traffic | Can become more expensive than reserved capacity | Generally more predictable and cost-efficient |
Cold start latency | Present, adds delay after idle periods | None |
Scaling | Automatic, near-instant | Manual or configured auto-scaling |
Operational overhead | Lower, provider-managed | Higher, team manages infrastructure |
Best fit | Spiky, event-driven, or low-traffic workloads | Steady, high-volume, latency-sensitive workloads |
The pattern in this table is consistent with what most real cost analyses find: serverless economics favor unpredictability, while traditional hosting economics favor consistency. A workload that spends most of its time idle benefits from paying only for the moments it’s actually active. A workload running at consistently high volume often pays a premium for that same per-execution pricing model compared to a fixed-cost server handling the equivalent load.
Serverless wins clearly for workloads with genuine idle time, an internal tool used a few hours a day, a webhook handler that fires occasionally, a batch job running once nightly. In these cases, AWS’s own Lambda pricing structure means you’re paying for milliseconds of actual execution rather than hours of a server sitting mostly idle, which can represent genuine, substantial savings for the right workload shape.
Traditional hosting wins once traffic becomes consistently high enough that a workload is effectively “always on” in practice. At that point, per-execution serverless pricing accumulates against every single request around the clock, while a reserved or committed-use traditional instance spreads its fixed cost across that same continuous volume far more efficiently. The crossover point varies by workload, depending on request volume, execution duration, and memory allocation, but the general principle holds broadly across cost analyses from every major provider, and it’s worth modeling against your own specific numbers rather than relying on a generic rule of thumb from a blog post that was never analyzing your actual traffic pattern.
Cost isn’t the only axis that matters, and performance characteristics differ just as meaningfully. Traditional hosting, once a server is running, delivers consistent latency; there’s no equivalent of a “cold start” penalty for a server that’s already up and handling requests. Serverless functions, by contrast, incur a real latency cost when a function hasn’t run recently and the platform needs to initialize a new execution environment before processing the request. For latency-sensitive workloads, a checkout flow, a real-time API, that inconsistency can matter more than the underlying cost difference, since a slow response has its own real cost in conversion and user experience, covered in more depth in our Core Web Vitals guide, where response time delays translate directly into measurable business impact regardless of what’s causing them underneath.
Amazon’s own Prime Video engineering team published a widely discussed case study on exactly this tradeoff. Their audio/video quality monitoring service, built as a distributed system using AWS Step Functions and Lambda, hit a hard scaling limit at around 5 percent of expected load, and the overall cost of the serverless building blocks was too high to justify at the scale they actually needed to operate.
The team consolidated the distributed, serverless components into a single process running on Amazon ECS, eliminating the orchestration overhead and per-transition costs that Step Functions had been accumulating at high volume.
The result was a 90 percent reduction in infrastructure cost for that specific service, alongside improved scaling capability, a striking number precisely because it came from Amazon’s own team using Amazon’s own serverless tools, not a competitor’s cost analysis with an agenda.
The Prime Video team was explicit that this wasn’t a verdict against serverless generally, it was a decision specific to a workload with extremely high, continuous transaction volume where per-execution billing stopped making economic sense.
A small team running a handful of infrequent background jobs would see the opposite conclusion from the same analysis, serverless remains the more cost-efficient choice at that scale, since the Prime Video case study’s conclusion was specific to extremely high, sustained transaction volume, not a general argument against serverless for any workload.
The framing of “serverless vs traditional hosting” can suggest a business has to pick one model for its entire application, when in practice the strongest architectures frequently mix both. A core API handling steady, predictable traffic might run on traditional hosting, while specific event-driven pieces, image processing, scheduled reports, webhook handlers, run as serverless functions alongside it. This mirrors the same architectural thinking covered in our SaaS web app architecture guide, applying the right execution model to each individual workload rather than forcing an entire system into a single approach, which is closer to how the Prime Video team’s broader application actually works today, a hybrid of microservices and monolithic components, not a wholesale rejection of serverless everywhere.
Cost and performance dominate this comparison, but security posture differs between the two models in ways worth knowing before deciding. Serverless functions benefit from a smaller attack surface by default; there’s no persistent server to patch or harden, since the provider manages the underlying operating system entirely. Traditional hosting puts more security responsibility on the team operating the servers, patching, hardening, and monitoring an OS that persists over time, but it also offers more direct control over network isolation and security configuration than a serverless environment typically allows. Neither model is inherently more secure, the OWASP API Security Top 10 vulnerability patterns, broken authentication, excessive data exposure, apply equally to an API running on either model, since these are application-level issues that infrastructure choice alone doesn’t solve.
This same infrastructure-level thinking applies to how we architect any web app, since the hosting model chosen for a backend directly shapes what security responsibilities a team takes on versus what the provider handles automatically.
The honest answer requires actual traffic data, not intuition. Estimate real request volume and how consistently that volume is distributed across a day or week, then model both pricing structures against that specific pattern rather than assuming either model is inherently better. Workloads with genuine idle time favor serverless. Workloads running consistently near capacity favor traditional hosting. And latency-sensitive workloads need to weigh cold start risk against cost savings, since the cheaper option on paper isn’t the right choice if it degrades an experience where speed directly affects revenue.
Teams frequently choose serverless by default because it’s the more actively marketed, more discussed option, without modeling their actual traffic pattern against real pricing, exactly the assumption the Prime Video case study challenges directly. Others assume traditional hosting is always the “safe” choice and over-provision capacity for traffic that never materializes, paying for idle servers the way serverless was specifically designed to avoid.
Cost comparisons frequently use list pricing without accounting for reserved capacity discounts on the traditional side or provisioned concurrency costs on the serverless side, both of which meaningfully shift a real comparison and can flip which option actually comes out cheaper for a given workload. And architecture decisions get treated as permanent, when the right answer, as the Prime Video case study itself demonstrates, can and should change as a workload’s actual traffic pattern evolves over time, revisiting a hosting decision periodically is a sign of engineering maturity, not a sign the original choice was wrong.
We model actual traffic patterns against both pricing structures as part of the same API and backend development scoping conversation that shapes any infrastructure decision, rather than defaulting to whichever model is more discussed in the industry at a given moment.
This same evidence-based approach extends to the cost-performance comparisons covered in our native vs. cross-platform mobile development guide, since the underlying principle, matching the technical choice to actual, measured requirements rather than a default assumption, applies just as directly to hosting decisions as it does to mobile platform decisions.
If you’re not sure whether your current hosting model actually fits your traffic pattern, or you’re scoping a new application and want the decision grounded in real numbers, that’s worth a direct conversation. You’re welcome to talk to our team about what the cost and performance tradeoffs actually look like for your specific workload.
It depends entirely on traffic patterns. Serverless tends to be cheaper for variable, spiky, or low-traffic workloads since you only pay for actual execution time, while traditional hosting tends to be more cost-efficient for consistently high-traffic workloads, where fixed-cost capacity is spread across continuous volume more efficiently than per-execution billing.
Amazon's Prime Video team found that their audio/video monitoring service, built on AWS Step Functions and Lambda, hit scaling limits and became too costly at their actual required scale. Moving the components into a single process on Amazon ECS reduced costs for that specific service by 90 percent while improving scaling capability.
Not always, but it can introduce cold start latency, a delay when a function hasn't run recently and needs to initialize a new execution environment. Traditional hosting, once a server is running, doesn't have an equivalent penalty, which matters most for latency-sensitive applications like real-time APIs or checkout flows.
Model your actual traffic pattern, request volume and how consistently it's distributed over time, against both pricing structures rather than assuming either is inherently better. Workloads with genuine idle time generally favor serverless, while consistently high-traffic workloads generally favor traditional hosting.
Yes, and the Prime Video case study is a real example of exactly this happening at a major scale. The right choice can and should change as a workload's actual traffic pattern evolves, and building with reasonable architectural flexibility makes that kind of transition considerably less disruptive when it becomes necessary.
Yes, and many strong architectures do exactly this. A core API handling steady traffic might run on traditional hosting, while event-driven pieces, background jobs, scheduled tasks, webhook handlers, run as serverless functions alongside it, applying whichever model fits each specific workload rather than forcing one approach across the entire system.
Neither is inherently more secure. Serverless benefits from a smaller attack surface since the provider manages the underlying operating system, while traditional hosting offers more direct control over network isolation and security configuration. Application-level vulnerabilities, broken authentication, excessive data exposure, apply equally to both models regardless of which one is chosen.
Submit your details and our team will reach out to discuss how we can bring your app or software idea to life.
Your request has been successfully submitted. Our team will be in touch with you shortly.
This window will close automatically.