Găzduire Flask: configurare și costuri

Actualizat / verificat: · Autor: Redacția Python Hosting România

Găzduire Flask pare simplă: un fișier app.py, câteva rute și gata. În producție ai nevoie însă de un server WSGI, de un proxy care termină HTTPS, de repornire automată și de un buget clar. Pagina arată ce infrastructură se potrivește unei aplicații Flask mici, cum configurezi Gunicorn cu Nginx și Let's Encrypt și cât costă lunar fiecare variantă, cu TVA 21%. Datele despre furnizori au fost verificate pe paginile oficiale la 12.10.2026.

flask-hosting-configuration

Pe scurt: o aplicație Flask mică rulează gratuit pe PythonAnywhere sau Render (cu limite), de la 7–10 $ pe lună pe un PaaS plătit sau de la 5 € pe lună fără TVA pe un VPS. În producție folosește Gunicorn în spatele lui Nginx, cu HTTPS de la Let's Encrypt, niciodată flask run.

Când alegi Flask

Flask este un micro-framework: rutare, șabloane Jinja2 și extensii, restul la alegerea ta. Se potrivește pentru API-uri mici, panouri interne, webhook-uri, prototipuri și servirea unui model de machine learning. Fără ORM și panou de administrare, un proces Flask consumă de obicei mai puțină memorie, ceea ce se vede în costul de găzduire.

Flask 3.x rulează pe orice server compatibil WSGI. Dacă proiectul cere conturi, administrare de conținut și multe modele de date, citește ghidul de găzduire Django în producție. Pentru toate modelele de găzduire, vezi ghidul principal de python hosting pentru proiecte din România.

Hosting pentru aplicații mici

Cinci tipuri de infrastructură pentru o aplicație Flask cu trafic redus; costuri fără TVA, verificate la 12.10.2026.

Infrastructură pentru Flask: complexitate, costuri și când o alegi
Tip de infrastructurăComplexitateCosturiCând o alegi
PaaS dedicat Python (PythonAnywhere)Foarte mică: WSGI editat în panouBeginner 0 $; Developer 10 $/lunăÎnvățare, portofoliu, aplicații interne
PaaS generic (Render)Mică: Git push + comandă de startFree cu limite; de la 7 $/lunăAPI sau MVP cu deploy din GitHub
PaaS cu containere (DigitalOcean App Platform)Mică–medie: buildpack sau DockerfileDe la 5 $/lună (512 MiB)Echipe care vor trece ulterior pe VPS
VPS neadministrat (ROMARG, Hostinger)Medie: Linux, systemd, Nginx, CertbotDe la 5 € (ROMARG) sau 5,49 € promo (Hostinger)Mai multe aplicații pe un server, cost fix
Cloud IaaS (Hetzner, DO Droplets)Medie–mare: API, snapshot-uri, firewallDroplet de la 4 $; Hetzner neconfirmatAutomatizare cu Terraform sau Ansible

Înainte de a plăti, verifică opt criterii:

  1. Memoria. Flask simplu consumă puțin, dar pandas sau modelele ML multiplică necesarul. Măsoară consumul local și alege un plan cu cel puțin dublul valorii observate.
  2. Limitele de CPU. Planurile gratuite au cote zilnice sau intră în repaus. Prima cerere după repaus poate dura secunde, ceea ce afectează webhook-urile și API-urile.
  3. Domeniul și HTTPS. Verifică dacă planul permite domeniu propriu și emite automat certificat TLS. La PythonAnywhere, domeniul propriu apare abia în planul plătit Developer, de 10 $ pe lună.
  4. Variabilele de mediu. Cheile API și parolele se setează în panou sau în fișiere protejate pe server, nu în cod. Un PaaS bun le injectează la pornire.
  5. Accesul la rețea. Unele planuri gratuite restricționează conexiunile ieșite. Dacă aplicația apelează API-uri terțe, confirmă că nicio listă albă a platformei nu le blochează.
  6. Baza de date. SQLite ajunge pentru un proces și puține scrieri. Pentru mai mulți worker-i Gunicorn sau scrieri frecvente, ai nevoie de PostgreSQL sau MySQL.
  7. Log-urile. Ai nevoie de acces rapid la erori. Verifică cât timp se păstrează log-urile și dacă le poți trimite către un serviciu extern de monitorizare.
  8. Reînnoirea și TVA. Calculează costul cu TVA 21% și cu prețul de după promoție. Câțiva euro pe lună devin o sumă vizibilă pe 12 sau 24 de luni.
  9. eight-criteria

Server WSGI, proxy și HTTPS

Pe un VPS, configurația standard are trei straturi: Gunicorn rulează aplicația pe un port local, systemd îl repornește la erori, iar Nginx termină HTTPS și transmite cererile. Fișierul de intrare:

# wsgi.py
from app import create_app

app = create_app()

Pornești gunicorn --workers 2 --bind 127.0.0.1:8000 wsgi:app într-o unitate systemd. Blocul Nginx minimal:

server {
    listen 80;
    server_name example.com www.example.com;

    location / {
        proxy_pass http://127.0.0.1:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Apoi sudo certbot --nginx -d example.com -d www.example.com obține certificatul Let's Encrypt și adaugă redirecționarea spre HTTPS. În aplicație, ProxyFix din Werkzeug citește corect schema și IP-ul clientului. Pe PaaS, platforma face toate acestea.

Scalare și monitorizare

Începe cu un monitor extern pe un endpoint /health, log-uri centralizate și alerte la erori 500. Cinci scenarii de creștere:

  1. Traficul se dublează. Crește numărul de worker-i Gunicorn sau trece la un plan cu mai mult RAM. Pe VPS, redimensionarea cere de obicei o scurtă repornire a mașinii.
  2. Apar sarcini lente. Exporturile și e-mailurile blochează worker-ii web. Mută-le într-o coadă RQ sau Celery cu Redis, ca timpul de răspuns al API-ului să rămână stabil.
  3. SQLite devine gât de sticlă. Erorile „database is locked” arată că e timpul pentru PostgreSQL. Migrează datele, schimbă șirul de conexiune și programează backup zilnic.
  4. Ai nevoie de mai multe instanțe. Pune un load balancer în față, mută sesiunile în Redis sau în cookie-uri semnate și fișierele încărcate pe stocare compatibilă S3.
  5. Apar utilizatori din alte țări. Servește staticele printr-un CDN și ține aplicația lângă bază. O regiune în Frankfurt acoperă bine România și Europa Centrală.
  6. scaling-and-monitoring

Cui i se potrivește și cui nu

Găzduirea Flask e potrivită dacă

  • ai un API mic sau un webhook;
  • vrei cost minim și control;
  • servești un model ML prin HTTP;
  • ai cod Flask și cauți doar deploy-ul.

Nu e potrivită dacă

  • vrei admin și conturi gata făcute;
  • ai WebSocket-uri intense (alege ASGI);
  • nu ai nici timp, nici buget de PaaS;
  • ai doar un site static.

Decizie rapidă pentru Flask

  • A Înveți sau publici un portofoliu → PythonAnywhere Beginner sau Render free.
  • B API cu deploy din GitHub, fără administrator → Render sau App Platform, plan plătit.
  • C Mai multe aplicații mici și experiență Linux → un VPS cu Gunicorn și Nginx.

Vrei să pornești o aplicație Flask fără să administrezi servere?

Planuri PythonAnywhere

Exemplu: costul unui API Flask pe 12 luni

Ipoteză: API Flask cu SQLite, sub 1.000 de cereri pe zi. Formula: cost anual = preț lunar × 12 × 1,21.

  • PythonAnywhere Developer: 10 $ × 12 × 1,21 = 145,20 $.
  • Render, instanță 512 MB: 7 $ × 12 × 1,21 = 101,64 $.
  • VPS ROMARG RMGP-1 (poate găzdui mai multe aplicații): 5 € × 12 × 1,21 = 72,60 € (≈ 370 lei la 1 € ≈ 5,1 lei).

Fără domeniu și timp de administrare.

Rezumat

Găzduirea Flask e ieftină și flexibilă: PaaS gratuit pentru început, PaaS plătit pentru un MVP sau VPS cu Gunicorn, Nginx și Let's Encrypt pentru cost fix. Pentru calculul complet pe un an, vezi comparația de hosting Python din România, VPS vs PaaS.

Preferi un VPS cu cost fix și centru de date în România?

Verifică ROMARG VPS

FAQ

Pot folosi serverul de dezvoltare Flask în producție?

Nu. Comanda flask run pornește un server de dezvoltare, fără performanța și protecțiile necesare traficului real. Documentația Flask recomandă un server WSGI dedicat, precum Gunicorn, Waitress sau mod_wsgi, în spatele unui proxy invers ca Nginx.

Câți worker-i Gunicorn să setez pentru o aplicație Flask?

Punctul de pornire din documentația Gunicorn este (2 × nuclee CPU) + 1, adică trei worker-i pe un vCPU. Pe planurile cu 512 MB RAM, începe cu doi și urmărește memoria. Pentru multe apeluri externe, poți folosi worker-i cu fire de execuție.

Merge Flask cu cod asincron?

Flask acceptă rute async def, dar rămâne un framework WSGI: fiecare cerere ocupă un worker până la final. Pentru multe conexiuni lungi sau WebSocket-uri, un framework ASGI precum Quart sau FastAPI, rulat cu Uvicorn, este mai natural.

Pot găzdui mai multe aplicații Flask pe același VPS?

Da. Fiecare aplicație primește mediu virtual propriu, o unitate systemd cu Gunicorn pe alt port local și un bloc server separat în Nginx. Certbot emite certificate pentru fiecare domeniu. Este o variantă foarte eficientă pentru freelanceri.

Cum actualizez aplicația Flask fără să întrerup serviciul?

Pe VPS, aduci codul cu git pull, instalezi dependențele și trimiți semnalul HUP către Gunicorn, care repornește treptat worker-ii. Pe PaaS, fiecare deploy pornește o instanță nouă și mută traficul după verificarea de sănătate.