webroad.online
  1. 1Web
  2. 2HTML
  3. 3CSS
  4. 4JavaScript
  5. 5TypeScript
  6. 6Git
  7. 7Unelte
  8. 8React
  9. 9State management
  10. 10Next.js
  11. 11Formulare
  12. 12Date și backend
  13. 13SEO
  14. 14Tailwind CSS
  15. 15Animații
  16. 16Testare
  17. 17Arhitectură
Web · Lecția 9 din 9

Hosting și deploy

Unde pui un site modern, ce face un CDN, cum ajunge codul în producție, secrete, preview, rollback și costuri.

Actualizat

Ce înseamnă „să pui site-ul online”

Hosting = un loc unde codul tău rulează sau stă, accesibil din internet. Deploy = procesul prin care o versiune nouă a codului ajunge acolo. Azi aproape nimeni nu mai urcă fișiere prin FTP: legi un repository de o platformă, iar fiecare modificare publicată produce automat un deploy.

Tipuri de hosting

Tip Ce rulează Exemple Potrivit pentru
Static / CDN doar fișiere gata făcute (HTML, CSS, JS, imagini) Cloudflare Pages, GitHub Pages, Netlify landing, portofoliu, documentație
Platforme serverless / edge fișiere statice + funcții pornite la fiecare request Vercel, Netlify, Cloudflare Workers aplicații Next.js, API-uri mici
VPS un server virtual întreg, administrat de tine Hetzner, DigitalOcean procese care rulează non-stop, control total
Containere aplicația ta împachetată (Docker), pornită de platformă Fly.io, Railway, Google Cloud Run backend-uri cu dependențe speciale

Pe măsură ce cobori în tabel, primești mai mult control și mai multă muncă: la un VPS tu faci update-urile de securitate, backup-urile și repornirile. Serverless nu înseamnă „fără server”, ci că nu te ocupi tu de el: funcția pornește la cerere și se plătește după folosire. Are însă limite de durată, deci nu ține un proces deschis la nesfârșit.

Ce face un CDN

Un CDN e o rețea de servere (edge) în zeci de orașe. Un vizitator din Chișinău primește fișierele de la cel mai apropiat edge, nu de la serverul principal (originea) din America.

  • Ține în cache fișierele statice și paginile pre-generate.
  • Termină conexiunea HTTPS aproape de user, deci conexiunea pornește mai repede.
  • Absoarbe vârfurile de trafic și o parte din atacuri (DDoS).

Vercel, Netlify și Cloudflare au CDN-ul inclus; nu-l configurezi separat.

Build vs runtime

Build Runtime
Când o dată, la fiecare deploy la fiecare request
Ce se întâmplă instalare pachete, compilare, pre-generare de pagini funcțiile răspund la cereri, citesc din baza de date
Dacă pică deploy-ul eșuează, iar producția rămâne pe versiunea veche userii văd erori

Diferența contează la variabilele de mediu: unele sunt citite la build și „înghețate” în cod, altele sunt citite la fiecare request.

Variabile de mediu și secrete

Cheile API și URL-ul bazei de date nu se scriu niciodată în cod și nu intră niciodată în Git. Local stau în .env.local (pus în .gitignore), iar pe platformă le setezi în panou (Vercel → Settings → Environment Variables), separat pentru Production, Preview și Development.

  • În Next.js, o variabilă cu prefixul NEXT_PUBLIC_ e copiată în JavaScript-ul trimis browserului, deci oricine o poate citi. Acolo pui doar valori publice (URL-ul site-ului, un ID de analytics).
  • Valorile NEXT_PUBLIC_ sunt înlocuite la build. Dacă le schimbi în panou, ai nevoie de un deploy nou ca să se vadă.
  • Ai publicat din greșeală un secret? Ștergerea commit-ului nu e de ajuns: revoci cheia și generezi una nouă.

Detalii în lecția Env, build și deploy.

Fluxul de deploy

git pushpe un branch sau pe mainplatforma primește notificarea→build în CIinstalează pachetele și rulează npm run builddacă e un branch→preview deployURL unic, doar pentru verificaredupă merge în main→producțiedomeniul tău servește noua versiune

CI (continuous integration) e serverul care face build-ul și rulează verificările (teste, lint) la fiecare push. Pe Vercel sau Netlify e inclus; poți adăuga și GitHub Actions. Despre git push și branch-uri afli în topicul Git.

Preview deployments

Fiecare branch sau pull request primește un preview deployment: un URL separat (de tipul proiect-git-feature-echipa.vercel.app) cu exact acea versiune. Colegii, clientul sau designerul o verifică pe un link real, iar producția rămâne neatinsă. Atenție: preview-ul folosește variabilele de mediu de Preview; nu-l lega de baza de date de producție.

Rollback

Fiecare deploy e păstrat ca o versiune separată, care nu se mai schimbă. Dacă producția s-a stricat, nu repari în grabă: faci rollback (pe Vercel, Instant Rollback) la deploy-ul anterior, care pornește în câteva secunde, fără build nou. Apoi cauți bug-ul în liniște. Atenție: rollback-ul întoarce codul, nu și datele. O migrare de bază de date rămâne făcută.

Domeniu propriu și HTTPS

Adaugi domeniul în platformă (Settings → Domains), apoi pui record-urile DNS pe care ți le arată. Pașii compleți, inclusiv varianta cu Cloudflare, sunt în lecția Domenii și DNS. Certificatul HTTPS e emis și reînnoit automat (de obicei prin Let's Encrypt) imediat ce DNS-ul arată spre platformă.

Loguri și monitorizare

  • Build logs: de ce a eșuat un deploy (eroare de tipuri, pachet lipsă).
  • Runtime logs: erorile funcțiilor din producție, request cu request.
  • Uptime monitor (UptimeRobot, Better Stack): îți trimite un email când site-ul cade.
  • Error tracking (Sentry): strânge erorile din browserele userilor, cu tot cu contextul lor.
  • Analytics și Web Vitals: cât de rapid e site-ul pentru userii reali (vezi Performanță).

Costuri și free tier

Pentru un proiect personal, planurile gratuite ajung de obicei. Fii atent la:

Ce se numără De ce crește
trafic (bandwidth) imagini și video mari, boți
invocări și durată de funcții pagini dinamice care puteau fi statice
optimizare de imagini multe imagini și dimensiuni diferite
minute de build multe push-uri, build-uri lente
  • Planul gratuit Vercel (Hobby) e doar pentru uz personal, necomercial.
  • Setează limite de cheltuieli și alerte pe planurile plătite; un atac sau un bot poate genera o factură mare.
  • Citește ce se întâmplă la depășire: unele platforme opresc site-ul, altele taxează în plus.

Pe scurt

  • Static/CDN pentru site-uri simple, platforme serverless pentru Next.js, VPS sau containere când ai nevoie de control.
  • Secretele stau în panoul platformei, nu în Git; NEXT_PUBLIC_ ajunge în browser și se fixează la build.
  • Push → build → preview → producție; când ceva se strică, întâi faci rollback, apoi repari.

Surse oficiale

Exerciții

Ți-a fost utilă pagina?

Un click — fără cont.