IaaS vs PaaS & Cloud Native Mindset
07

Sesiunea 7 din 12

IaaS vs PaaS & Cloud Native Mindset

Web Apps fără server management

IaaS vs PaaS App Service Web Apps Scaling Cloud Native Descarcă PDF
Audio · S07

WebApps și IaaS vs PaaS

0:000:00

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.

Cameră goală cu pereți goi — analogia IaaS
Casa goală (IaaS) — primești pereții și instalația. Tu cumperi mobila, tu o montezi, tu faci reparațiile.

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.

Apartament complet mobilat — analogia PaaS
Apartamentul mobilat (PaaS) — totul este pregătit. Vii cu bagajul tău (codul) și te muți imediat.

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ă.

Coridor de datacenter modern cu rack-uri de servere
Cu PaaS, nu mai vedeți serverul. Azure gestionează toată infrastructura din spatele aplicației voastre.

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:

1

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ă.

2

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.

3

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

1

Resource Group

Creați un Resource Group nou. Numiți-l rg-s07-[prenumele vostru]. Selectați regiunea West Europe.

2

Create Web App

În Azure Portal → Create a Resource → căutați Web App. Completați câmpurile conform instrucțiunilor.

3

Configurare

Name: s07-webapp-[prenumele vostru] | Publish: Code | Runtime: .NET / Node / PHP | Region: West Europe.

4

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.

5

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

TierUtilizareCost
Free (F1)Testare, learningGratuit
Shared (D1)Dev/TestFoarte mic
Basic (B1-B3)Producție micăRedus
Standard (S1-S3)ProducțieMediu
Premium (P1-P3)High-performanceRidicat

Pe un singur App Service Plan poți rula mai multe Web Apps, împărțind resursele între ele — eficient și economic.

Dashboard aplicație web live cu metrici de performanță
Web App-ul vostru este live — cu HTTPS automat, domeniu public, zero configurare de VM.

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

1

Advanced Tools (Kudu)

În Azure Portal, mergeți la Web App → Advanced Tools → Go.

2

Debug Console

Deschideți Debug Console → CMD și navigați la folderul site/wwwroot.

3

Upload fișier

Trageți fișierul index.html în browser (drag & drop) pentru a-l încărca în wwwroot.

4

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ă

CriteriuVirtual Machine (IaaS)Web App (PaaS)
Control OSTotal — tu instalezi și configureziZero — Azure gestionează
Patch-uri securitateResponsabilitatea taResponsabilitatea Azure
Web serverTu instalezi IIS/Nginx/ApacheInclus și gestionat automat
HTTPS / SSLConfigurare manualăAutomat, inclus
ScalingComplex, necesită configurareSimplu, 1-click sau automat
Software customOrice software posibilLimitat la runtime-uri suportate
Cost administrareRidicat (timp + efort)Minim
FlexibilitateMaximăModerată
Timp până la liveOre (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.

Piese de puzzle care se îmbină — analogie pentru arhitectura cloud
Arhitectura cloud este un puzzle — fiecare piesă (compute, storage, networking, securitate) se îmbină pentru a forma soluția completă.

Cleanup — Ștergem resursele

Resursele Azure care rulează consumă credite sau generează costuri, chiar dacă nu le folosiți activ.

1

Deschideți Resource Groups

În Azure Portal, navigați la Resource Groups.

2

Selectați grupul vostru

Găsiți rg-s07-[prenumele vostru] și dați click pe el.

3

Delete Resource Group

Dați click pe Delete Resource Group, introduceți numele pentru confirmare.

4

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?

1.
Sesiunea 6 ✅ — Virtual Machines (IaaS) — controlul total al infrastructurii.
2.
Sesiunea 7 ✅ — Web Apps (PaaS) — platforme gestionate, Cloud Native Mindset.
3.
Sesiunea 8 — Azure Storage — unde punem datele? Fișiere, imagini, video, date structurate și nestructurate.

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!