Netlify
A web platform that builds your site from Git, publishes each build as an immutable, atomic deploy on its CDN, and runs server code beside it as functions, edge functions and a branchable Postgres database.
- What it is
- Platform as a service (PaaS)
- Used for
- Jamstack,Serverless functions (FaaS),CDNs
- Type
- Commercial product
- Made by
- Netlify, Inc.
- License
- Proprietary
- Facts checked
- 13 October 2026
What it is
Netlify connects to a repository, runs your build command and uploads the output to its CDN. A deploy goes live only after every file has uploaded, so the site never serves a half-finished version, and every deploy keeps its own permanent URL. Pull requests and agent runs get Deploy Previews on their own URLs, and rolling production back to an earlier deploy costs no credits. Settings such as the build command, publish directory and redirects live in netlify.toml, with overrides per context (production, deploy preview, branch).
Server code ships in the same deploy. A function is a file under netlify/functions/ that takes a web Request and returns a Response; it runs by default in one region (US East, Ohio) with 1,024 MB of memory, up to 60 seconds per request, 15 minutes as a background function and 30 seconds on a schedule. Edge functions run in front of the cache on every matching request, with 50 ms of CPU time each; since September 2026 they run in Firecracker microVMs inside Netlify’s own edge network, about 5 to 6 ms per warm call at the median against 25 to 40 ms before, and code still targets the same Deno-based API. Netlify Database is a managed Postgres that gives every Deploy Preview its own branch copied from production and applies migrations from the repo on each deploy.
Accounts created since 4 September 2025 pay in credits. Free has a hard limit of 300 credits a month, Personal costs $9 for 1,000 and Pro $20 for 3,000 or more. A production deploy costs 15 credits, previews are free, compute costs 10 credits per GB-hour, bandwidth 20 credits per GB and web requests 2 credits per 10,000. When the balance runs out, every project on the account shows a “Site not available” page.
Why teams pick it
- Atomic, immutable deploys: each one has a permanent URL, previews per pull request are free, and so are rollbacks
- Frontend, functions, edge functions and database migrations ship together from one commit, and each Deploy Preview gets its own database branch
- Edge functions run in per-deploy Firecracker microVMs, so two deploys never share a VM, at about 5 to 6 ms of overhead per warm call
- One usage unit (credits) covers deploys, compute, bandwidth and requests, with forms submissions free on credit-based plans
Watch out for
- Functions stop after 60 seconds (synchronous), 30 seconds (scheduled) or 15 minutes (background), with 6 MB buffered payloads and at most 4,096 MB of memory
- Edge functions get 50 ms of CPU per request and 512 MB for a deploy’s whole set; they don’t run on sites with split testing on, and custom headers and prerendering don’t apply to the paths they serve
- Running out of credits pauses every site on the account, and Free cannot buy more, so auto recharge (off by default) matters for production
- Each production deploy costs 15 credits, which adds up for sites that deploy many times a day
Alternatives
What all platform as a service (paas) have in common →Compare side by side →git push your code, and Heroku builds it with a buildpack and runs it on managed containers called dynos behind its own HTTP router.render.yaml file if you like.How it fits with other technologies
netlify/functions/users.mts: a function on its own path, querying Netlify Database · ts
import type { Config } from "@netlify/functions"
import { getDatabase } from "@netlify/database"
const db = getDatabase()
export default async (req: Request) => {
// In a Deploy Preview this hits the preview's own database branch
const users = await db.sql`SELECT id, email FROM users LIMIT 10`
return Response.json({ users })
}
export const config: Config = {
path: "/users",
memory: "2gb", // 1024 to 4096 MB; billing scales with it
}See it in a real stack
No architecture uses Netlify yet. Drop it into the playground and wire it up yourself.Open playground →Where it came from2015–2026
Netlify started from static sites: pages built ahead of time and served as files. Co-founder Chris Bach announced the launch on 7 April 2015, with hosting for static sites and apps (carried over from the earlier BitBalloon service) and a continuous deployment service; the post also looked ahead at “static web-tech”, and Netlify’s own history traces the Jamstack to it.
Netlify then built out a Git-centric workflow around those files: flattened redirects in 2015, free Let’s Encrypt certificates in January 2016, Deploy Previews in 2016 and branch-based split testing in 2017. In March 2018 Netlify Functions made deploying an AWS Lambda function as simple as adding a file to the repository. Edge Functions followed in April 2022, built on the open-source Deno runtime, and in February 2023 Netlify bought Gatsby Inc., the company behind the Gatsby framework.
From 4 September 2025 new accounts moved to credit-based pricing, which bills deploys, compute, bandwidth and requests in one unit. Netlify Database later added a managed Postgres with a branch per Deploy Preview, and in September 2026 it moved Edge Functions off a hosted execution service onto Firecracker microVMs managed with Unikraft inside its own network.
Why it’s built this way
- Atomic deploys to a CDN
- Nothing goes live until every file of a deploy is uploaded, so a site is never in an inconsistent state, and keeping every deploy makes previews and rollbacks a matter of routing.
- Functions as files in the repo
- The 2018 launch post set the goal of making a serverless function as simple to deploy as adding a file to Git, so backend code gets the same previews and rollbacks as the frontend.
- Deno for Edge Functions
- Netlify’s 2022 announcement chose an open, standards-based runtime over a proprietary edge network so that frameworks such as Next.js, Nuxt, Astro, Eleventy and SvelteKit worked out of the box.
- Firecracker microVMs instead of V8 isolates
- Netlify wrote in 2026 that isolates do not give the isolation it wanted: a compromised deploy in its own microVM cannot reach other customers, and running inside its own network cut median warm latency about five times.
Timeline
- 2015
Netlify launches on 7 April with static hosting and continuous deployment
- 2016
Free Let’s Encrypt certificates and Deploy Previews
- 2018
Netlify Functions, built on AWS Lambda
- 2022
Edge Functions on Deno enter public beta in April
- 2023
Acquires Gatsby Inc. in February
- 2025
Credit-based pricing for new accounts from 4 September
- 2026
Edge Functions move to Firecracker microVMs
- Netlify blog: Netlify milestones on the road to 1 million devs (Aug 2020)
- Netlify press: Netlify Edge Functions accelerate development of modern web applications at the edge (19 April 2022)
- Netlify press: Netlify acquires Gatsby Inc. (1 February 2023)
- Netlify docs: How credits work (credit-based plans since 4 September 2025)
- Netlify blog: 5x faster Edge Functions, v8 isolates to Unikraft MicroVMs (29 September 2026)
Sources12 · facts checked 13 October 2026
- Netlify docs: Deploy overview (atomic deploys, permalinks, Deploy Previews)
- Netlify docs: File-based configuration (netlify.toml, deploy contexts)
- Netlify docs: Functions overview
- Netlify docs: Functions configuration (region, memory, execution limits, payloads)
- Netlify docs: Background Functions (15-minute limit)
- Netlify docs: Edge Functions overview (Deno-based runtime)
- Netlify docs: Edge Functions limits
- Netlify docs: Netlify Database (branching, migrations)
- Netlify docs: Netlify Database billing and limits
- Netlify docs: How credits work (meters, allotments, auto recharge)
- Netlify: Pricing (Free, Personal, Pro plans)
- Netlify blog: 5x faster Edge Functions, v8 isolates to Unikraft MicroVMs (29 September 2026)