Sesiunea 7 din 12
IaaS vs PaaS & Cloud Native Mindset
Web Apps fără server management
De la mașini virtuale la platforme gestionate — astăzi învățăm cum să conducem mașina fără să deschidem capota.
Bun revenit!
Săptămâna trecută am creat două mașini virtuale. Ați instalat Windows. Ați intrat prin RDP. Ați deschis un terminal Linux prin SSH. Practic, ați închiriat două calculatoare în cloud și le-ați controlat de la distanță. Ați simțit puterea. Ați simțit și responsabilitatea.
Întrebarea zilei: Dacă vreau doar să public un site simplu, am nevoie de un calculator complet? Am nevoie să instalez un sistem de operare, să configurez un firewall, să aplic actualizări de securitate în fiecare lună? Răspunsul este nu. Și sesiunea de astăzi vă arată de ce.
Capitol 1
Două moduri de a gândi infrastructura
Înainte de a deschide Azure Portal, trebuie să înțelegem o diferență fundamentală de filozofie. Există două mari modele de servicii cloud pentru a rula aplicații — și alegerea dintre ele definește cât de mult timp petreceți gestionând infrastructura versus construind aplicația.
IaaS — Infrastructure as a Service
Tu controlezi totul de la sistemul de operare în sus. Libertate maximă, responsabilitate maximă. Exemple: Azure Virtual Machines.
PaaS — Platform as a Service
Nu mai administrezi infrastructura. Cineva a pregătit-o deja pentru tine. Tu te concentrezi pe aplicație. Exemple: Azure App Service, Azure Web Apps.
Niciuna nu este mai bună în mod absolut. Alegerea depinde de cerință, de echipă și de contextul tehnic.
Analogia #1 — Casa vs. Apartamentul Mobilat
Casa goală — IaaS
Primești pereții și instalația electrică. Tu cumperi mobila, tu o montezi, tu chemi meșterul când se strică ceva. Instalezi OS-ul, configurezi firewall-ul, aplici patch-uri lunar, monitorizezi disc și memorie. Control total, responsabilitate totală.
Apartamentul mobilat — PaaS
Totul este deja pregătit. Canapea, pat, frigider, mașină de spălat. Tu vii cu bagajul și te muți imediat. Nu te ocupi de infrastructură, Azure gestionează OS-ul, tu încarci codul și rulează. Focus pe aplicație, nu pe server.
Analogia #2 — Mașina Personală vs. Ride Sharing
Mașina personală — VM
Tu o întreții, tu o duci la service, tu plătești asigurarea, tu o repari. Ai control total, dar ai costuri constante — indiferent dacă o folosești sau nu. O mașină virtuală rulează non-stop și consumă resurse.
Ride Sharing — Web App
Spui unde vrei să ajungi. Atât. Cineva altcineva se ocupă de mașină, de combustibil, de asigurare. Tu plătești doar pentru călătoria efectuată. Azure se ocupă de tot ce este sub capotă.
Ambele te duc la destinație. Dar una necesită mult mai mult efort de întreținere.
Analogia #3 — Generatorul Electric
În trecut, companiile aveau generatoare electrice proprii. Se ocupau de combustibil, de mentenanță, de reparații. Astăzi, nimeni nu mai face asta — folosim curentul din rețea și plătim ce consumăm.
Cloud Native Mindset
Folosești infrastructura ca un serviciu de utilitate, nu ca ceva pe care îl construiești de la zero. Întrebarea permanentă: „Chiar am nevoie să administrez un server? Sau pot folosi un serviciu deja construit?"
Valoarea reală
Companiile moderne aleg simplitatea nu pentru că nu știu să administreze servere, ci pentru că vor să se concentreze pe aplicație, nu pe infrastructură. Timp salvat = valoare creată.
Capitol 2
De ce nu folosim mereu VM?
Mașinile virtuale sunt extraordinar de flexibile și puternice — dar această flexibilitate vine cu un cost ascuns: timp și efort de administrare.
Configurare complexă
Instalezi sistemul de operare, configurezi web server-ul (IIS, Nginx, Apache), setezi regulile de firewall, creezi certificatele SSL. Ore de muncă înainte să ruleze prima linie de cod.
Patch-uri constante
Windows Update, actualizări de securitate Linux, vulnerabilități noi descoperite săptămânal. Fiecare trebuie aplicată, testată și monitorizată. Este un job în sine.
Monitorizare permanentă
Discul s-a umplut? Memoria este la capacitate maximă? Procesul web server-ului a căzut? Cineva trebuie să verifice constant starea serverului — 24/7.
Cost chiar și în repaus
Un VM rulează și consumă resurse chiar dacă nu ai trafic. Plătești pentru capacitate rezervată, nu pentru utilizare reală. Pentru proiecte mici, este ineficient.
Analogia Restaurantului 🍳
Dacă vrei să gătești și să servești mâncare, ai două opțiuni fundamentale:
Opțiunea 1: Clădirea goală (VM)
Închiriezi o clădire goală, cumperi aragazul, angajezi bucătarul, faci toată mentenanța singur. Tu ești responsabil de tot — de la instalația electrică la curățenia zilnică.
Opțiunea 2: Bucătăria echipată (Web App)
Închiriezi o bucătărie complet echipată, cu aragaz, ustensile, hotă, mese de lucru. Te concentrezi exclusiv pe gătit — pe ceea ce știi să faci cel mai bine.
Diferența esențială
Cu PaaS, nu mai vedeți sistemul de operare. Nu există din perspectiva voastră. Azure îl gestionează complet. Voi încărcați codul și aplicația rulează. Focus 100% pe valoare.
Capitol 3 — Lab
Creăm primul Web App 🚀
Suficientă teorie — hai să punem în practică. Urmați pașii de mai jos pentru a crea primul vostru Azure Web App.
Deploy Web App — pas cu pas
Resource Group
Creați un Resource Group nou. Numiți-l rg-s07-[prenumele vostru]. Selectați regiunea West Europe.
Create Web App
În Azure Portal → Create a Resource → căutați Web App. Completați câmpurile conform instrucțiunilor.
Configurare
Name: s07-webapp-[prenumele vostru] | Publish: Code | Runtime: .NET / Node / PHP | Region: West Europe.
App Service Plan
Selectați tier-ul Basic sau Free. Acesta este motorul aplicației — definește CPU, memorie și numărul de instanțe disponibile.
Deploy & Verificare
Dați Create și așteptați. Accesați URL-ul generat: s07-webapp-[prenume].azurewebsites.net
App Service Plan — Conceptul Cheie
App Service Plan este motorul care rulează aplicația voastră. Nu este aplicația în sine — este infrastructura de calcul pe care rulează aplicația. Definește puterea de procesare (vCPU), memoria RAM, numărul de instanțe simultane, regiunea geografică și funcționalitățile disponibile.
Tier-urile disponibile
| Tier | Utilizare | Cost |
|---|---|---|
| Free (F1) | Testare, learning | Gratuit |
| Shared (D1) | Dev/Test | Foarte mic |
| Basic (B1-B3) | Producție mică | Redus |
| Standard (S1-S3) | Producție | Mediu |
| Premium (P1-P3) | High-performance | Ridicat |
Pe un singur App Service Plan poți rula mai multe Web Apps, împărțind resursele între ele — eficient și economic.
Web App-ul este live!
Când deployul este gata, accesați URL-ul generat automat de Azure.
HTTPS automat
Certificatul SSL este generat și gestionat automat de Azure. Zero configurare din partea voastră.
Domeniu public
URL-ul este accesibil din orice colț al lumii, imediat după deploy. Fără DNS manual, fără IP public configurat de voi.
Zero VM
Nu ați creat nicio mașină virtuală. Nu ați instalat nimic. Nu ați configurat niciun firewall. Azure a gestionat toată infrastructura.
Capitol 4 — Lab
Publicăm o aplicație reală 🎉
Acum facem ceva care va părea aproape magic. Vom publica un fișier HTML simplu pe Web App-ul nostru și îl vom vedea live pe internet în câteva minute.
Pașii de upload
Advanced Tools (Kudu)
În Azure Portal, mergeți la Web App → Advanced Tools → Go.
Debug Console
Deschideți Debug Console → CMD și navigați la folderul site/wwwroot.
Upload fișier
Trageți fișierul index.html în browser (drag & drop) pentru a-l încărca în wwwroot.
Verificare
Accesați URL-ul Web App-ului. Site-ul vostru este live pe internet! 🎉
Capitol 5
Ce NU mai administrăm? ✅
Hai să facem un inventar rapid al lucrurilor pe care nu le-ați făcut astăzi — dar care ar fi existat pe agenda voastră dacă folosiți o mașină virtuală.
Adresă IP publică
Nu ați configurat nicio adresă IP publică. Azure a generat-o și a gestionat-o automat.
Sistem de operare
Nu ați instalat Windows sau Linux. Nu ați ales versiunea. Azure gestionează OS-ul complet, transparent pentru voi.
Patch-uri de securitate
Nu ați aplicat niciun patch. Azure se ocupă de patching automat — zero vulnerabilități netratate.
Web Server
Nu ați instalat IIS, Nginx sau Apache. Azure a configurat totul adaptat la runtime-ul ales.
Monitorizare disc și memorie
Nu ați configurat alerte, nu ați verificat spațiul pe disc. Azure are monitoring integrat.
Esența PaaS: Nu mai suntem administratori de sistem. Suntem dezvoltatori și arhitecți care se concentrează pe valoarea aplicației, nu pe mentenanța infrastructurii.
Capitol 6
Scaling — Ce se întâmplă când ești popular? 📈
Imaginați-vă că aplicația voastră devine virală. Mâine apare pe un site de știri și un milion de oameni încearcă să o acceseze simultan. Fără o strategie de scaling, serverul se supraîncarcă și aplicația cade.
Scaling Vertical (Scale Up)
Folosești un server mai puternic. În loc de un motor de 2 litri, pui unul de 4 litri. Același server, dar cu mai mult CPU și RAM. Limitat — nu poți crește la infinit. Analogie: Înlocuiești motorul mașinii cu unul mai mare.
Scaling Horizontal (Scale Out)
Adaugi mai multe servere. În loc de o singură mașină care preia tot traficul, ai 10 mașini care împart traficul. Practic nelimitat — poți adăuga oricâte instanțe. Analogie: Adaugi mai multe mașini în flotă.
În Azure App Service, Scaling Horizontal se numește Scale Out și poate fi activat manual sau automat bazat pe CPU, cereri sau alți indicatori.
Capitol 7
VM vs. Web App — Comparație Directă
Comparație completă
| Criteriu | Virtual Machine (IaaS) | Web App (PaaS) |
|---|---|---|
| Control OS | Total — tu instalezi și configurezi | Zero — Azure gestionează |
| Patch-uri securitate | Responsabilitatea ta | Responsabilitatea Azure |
| Web server | Tu instalezi IIS/Nginx/Apache | Inclus și gestionat automat |
| HTTPS / SSL | Configurare manuală | Automat, inclus |
| Scaling | Complex, necesită configurare | Simplu, 1-click sau automat |
| Software custom | Orice software posibil | Limitat la runtime-uri suportate |
| Cost administrare | Ridicat (timp + efort) | Minim |
| Flexibilitate | Maximă | Moderată |
| Timp până la live | Ore (setup complet) | Minute |
Când alegem ce? — Ghid de decizie
Alege Web App (PaaS) când...
Ai un site web, o aplicație de business sau o API REST. Echipa ta este mică. Vrei focus pe cod, nu pe infrastructură. Aplicația folosește un runtime standard (.NET, Node, PHP, Python, Java). Vrei deployment rapid și scalare simplă.
Alege Virtual Machine (IaaS) când...
Ai o aplicație legacy cu dependențe specifice la nivel de OS. Trebuie să instalezi software care nu este suportat pe PaaS. Ai cerințe de rețea complexe sau integrări cu sisteme on-premises vechi. Ai nevoie de acces complet la OS.
Capitol 8 — Exercițiu
Jocul Security Consultant — Arhitectură în acțiune
Hai să gândim ca arhitecți cloud. Analizați fiecare scenariu și luați o decizie. Nu există un singur răspuns corect — important este raționamentul.
Scenariul A — Startup mic
Un client mic vrea un site de prezentare. Buget limitat, echipă de 2, fără admin de sistem. Trafic: câteva sute de vizitatori/zi. ✅ Recomandat: Web App (PaaS). Simplu, rapid, cost predictibil, deploy în minute.
Scenariul B — Companie mare, aplicație legacy
Aplicație pe Windows Server 2012, cu software specific la nivel de sistem, configurații de rețea complexe, integrări on-premises vechi. ✅ Recomandat: VM (IaaS). Controlul total este necesar, dependențe care nu se pot abstractiza.
Scenariul C — E-commerce în creștere
Magazin online cu trafic variabil — calm în săptămână, explodează în weekend. Aplicația e în Node.js. ✅ Recomandat: Web App + Auto-scaling. Runtime suportat, scaling automat, zero administrare OS.
Aceasta este gândirea unui arhitect cloud. Nu există o soluție universală. Există soluția potrivită pentru contextul specific.
Cleanup — Ștergem resursele
Resursele Azure care rulează consumă credite sau generează costuri, chiar dacă nu le folosiți activ.
Deschideți Resource Groups
În Azure Portal, navigați la Resource Groups.
Selectați grupul vostru
Găsiți rg-s07-[prenumele vostru] și dați click pe el.
Delete Resource Group
Dați click pe Delete Resource Group, introduceți numele pentru confirmare.
Confirmare
Confirmați și așteptați. Toate resursele din grup dispar complet. ✅
Tema — Sesiunea 7
Scopul nu este să copiați din documentație, ci să reformulați cu cuvintele voastre — semn că ați înțeles cu adevărat.
Diferența IaaS vs. PaaS
Explicați diferența. Folosiți una dintre analogiile discutate (casa vs. apartament, mașina vs. ride sharing, generatorul electric) sau inventați o analogie proprie.
Când alegem Virtual Machine?
Dați un exemplu concret din lumea reală — o situație în care alegerea corectă este o VM. Justificați de ce PaaS nu ar fi potrivit.
Când alegem Web App?
Dați un exemplu concret, diferit de site de prezentare simplu. Poate fi o aplicație de business, o API, un portal intern. Justificați alegerea PaaS.
Format: Câteva paragrafe per punct, cu cuvintele voastre. Nu există răspuns perfect — contează raționamentul, nu lungimea textului.
Următoarea sesiune
Sesiunea 8 — Azure Storage
Acum avem compute — știm unde să rulăm aplicațiile. Dar unde punem datele? Unde stochează Azure fișierele, imaginile, videoclipurile și bazele de date?
Rezumatul Sesiunii 7
1 Ce concepte am acoperit?
IaaS vs. PaaS, Cloud Native Mindset, App Service Plan, Scaling Vertical vs. Horizontal.
2 Ce skills practice am dobândit?
Am creat un Azure Web App, am publicat o pagină HTML live pe internet, am explorat Kudu / Advanced Tools.
3 Ce mindset am dezvoltat?
Gândirea arhitecturală — când alegem VM vs. Web App în funcție de context, nu de preferință.
Săptămâna trecută am învățat cum funcționează motorul. Astăzi am învățat cum să conducem mașina fără să deschidem capota.
Vă mulțumim pentru participare. Ne vedem la Sesiunea 8!