„Serverless" nu înseamnă că nu există servere. Înseamnă că tu nu te ocupi de ele.
Nu provisionezi mașini, nu configurezi auto-scaling, nu patchuiești sisteme de operare. Scrii cod, îl deployezi, și infrastructura se ocupă de restul. Plătești doar pentru ce folosești — pe milisecundă, pe request, pe GB.
Edge computing duce ideea mai departe: codul tău rulează fizic aproape de utilizator, pe servere distribuite global, nu într-un singur datacenter.
Pe scurt: Serverless elimină administrarea serverelor — plătești doar per request, scalarea e automată. Cele mai bune cazuri: API-uri, procesare background, cron jobs. Nu e potrivit pentru procesare heavy (video, ML).
Serverless: cum funcționează
Modelul tradițional
Închiriezi un server (sau o mașină virtuală). Rulează non-stop, indiferent dacă are trafic sau nu. Tu gestionezi:
- Sistemul de operare și update-urile
- Scalarea (adaugi servere când crește traficul)
- Securitatea la nivel de infrastructură
- Costul fix lunar (plătești și când doarme serverul)
Modelul serverless
Scrii funcții individuale. Fiecare funcție se execută la cerere — când primește un request, un event sau un cron trigger. Platformele se ocupă de:
- Disponibilitate — redundanță, failover, monitoring
- Securitate — patching, izolare, certificate
- Billing — plătești doar pentru execuții reale
Platforme serverless principale
| Platformă | Provider | Limbaje |
|---|---|---|
| AWS Lambda | Amazon | Node.js, Python, Go, Rust, Java |
| Cloudflare Workers | Cloudflare | JS/TS, Rust, WASM |
| Google Cloud Functions | Node.js, Python, Go, Java | |
| Azure Functions | Microsoft | C#, JS, Python, Java |
| Deno Deploy | Deno | TS/JS |
| Vercel/Netlify Functions | Vercel/Netlify | JS/TS |
Edge Computing: cod aproape de utilizator
Platforme edge
- Cloudflare Workers — ecosistem complet (KV, D1, R2, Queues, AI)
- Deno Deploy — integrat cu Deno runtime, deploy instant
- AWS CloudFront Functions / Lambda@Edge — funcții la nivelul CDN-ului Amazon
- Fastly Compute — WASM-based, latență minimă
Edge vs. Serverless clasic
| Aspect | Serverless clasic | Edge |
|---|---|---|
| Limbaje | Multiple | JS/TS/WASM (de regulă) |
| Baze de date | Acces la orice DB | DB-uri edge-native (D1, Turso, Neon) |
| Complexitate | Funcții mai mari, mai complexe | Funcții mici, rapide |
| Caz de utilizare | Backend logic, procesare | API-uri rapide, personalizare, routing |
Cazuri de utilizare practice
1. API-uri și backend logic
Cel mai comun caz. În loc să menții un server Express/Fastify permanent, fiecare endpoint e o funcție serverless:
POST /api/contact→ funcție care procesează formularul și trimite emailGET /api/products→ funcție care interogă baza de date și returnează JSONPOST /api/payment/webhook→ funcție care procesează notificări de la Stripe
Exemplu real: site-ul pe care-l citești acum folosește Cloudflare Workers pentru formularul de contact.
2. Procesare în background
Taskuri care nu necesită răspuns imediat:
- Generare de PDF-uri sau imagini
- Trimitere de emailuri în bulk
- Procesare de date (import/export, rapoarte)
- Sincronizare între sisteme (ERP ↔ CRM)
3. Cron jobs (taskuri programate)
Funcții executate periodic:
- Verificare stocuri și alertare
- Generare de rapoarte zilnice
- Curățare date vechi
- Sincronizare cu API-uri externe
4. Personalizare la edge
Codul rulează înainte ca pagina să ajungă la utilizator:
- A/B testing fără JavaScript client-side
- Geolocalizare și conținut localizat
- Rate limiting și protecție bot
- Autentificare și autorizare la edge
5. AI inference la edge
Cloudflare Workers AI rulează modele de machine learning pe infrastructura sa globală:
- Clasificare text/imagini
- Embedding-uri pentru search
- Moderare conținut în timp real
Avantaje concrete
Scalare fără efort
Serverless scalează automat. Nu suni pe nimeni, nu provisionezi nimic.
Mentenanță redusă
Nu există server de administrat. Nu existe patching, nu existe „a căzut serverul la 3 noaptea". Provider-ul se ocupă de infrastructură.
Limitări de care trebuie să ții cont
Cold starts
Documentația AWS arată că durata unui cold start Lambda variază de la sub 100 ms la peste o secundă și că fenomenul apare, în mod tipic, la mai puțin de 1% dintre invocări. Pentru API-uri cu cerințe stricte de latență, poate fi o problemă. Sursa oficială: ciclul de viață Lambda.
Durată de execuție limitată
AWS Lambda limitează o invocare standard la 15 minute. Cloudflare Workers limitează timpul CPU la 10 ms pe planul Free, iar pe planul Paid limita poate fi configurată până la 5 minute. Surse oficiale: AWS Lambda quotas și Cloudflare Workers limits.
Debugging mai dificil
Funcțiile distribuite sunt mai greu de debuggat decât un server monolitic. Ai nevoie de logging structurat, tracing distribuit și monitoring dedicat.
Vendor lock-in
Fiecare platformă are API-uri și convenții proprii. Migrarea între ele necesită efort. Poți minimiza lock-in-ul folosind standarde (Web API, WASM).
Limitări de stare (state)
Funcțiile serverless sunt stateless — nu păstrează date între execuții. Ai nevoie de storage extern (baze de date, cache, obiecte).
Cum decidem la Brainic
Nu toate proiectele au nevoie de serverless. Recomandarea noastră:
| Situație | Recomandare |
|---|---|
| Site static + formulare/API-uri simple | Edge functions (Cloudflare Workers) |
| SaaS cu logică complexă de backend | Serverless (Lambda/Cloud Functions) + DB managed |
| Trafic variabil sau imprevizibil | Serverless (scalare automată) |
| Aplicație cu cerințe de latență globală | Edge (Workers, Deno Deploy) |
| Backend monolitic existent | Menține — nu migra de dragul modei |
| Procesare heavy (video, ML) | Containere (ECS, Cloud Run) — serverless nu e potrivit |
Serverless și edge computing nu sunt soluții universale. Sunt instrumente puternice când le folosești în contextul potrivit.
Vrei să discutăm arhitectura potrivită pentru proiectul tău?