Cloud computing reprezintă livrarea serviciilor de calcul – cum ar fi servere, stocare, baze de date, rețele, software și analiză – prin internet („nor”), oferind acces rapid la resurse IT scalabile, fără investiții inițiale majore în hardware fizic. În practică, acest model transformă costurile fixe de capital în costuri variabile operaționale, permițând companiilor să plătească exact pentru ceea ce consumă. Pentru un viingător inginer cloud, înțelegerea acestui concept este fundamentală deoarece arhitecturile moderne se bazează pe elasticitate și disponibilitate ridicată, aspecte imposibil de gestionat eficient cu infrastructură on-premise tradițională. Adoptarea cloud-ului nu este doar o decizie tehnică, ci una strategică care accelerează time-to-market și facilitează inovarea continuă.
Concepte cheie
- Modelul OPEX vs CAPEX: Cloud-ul transformă cheltuielile de capital (cumpărarea serverelor) în cheltuieli operaționale (plată pe utilizare), reducând riscul financiar al proiectelor noi.
- Elasticitate și Scalabilitate: Capacitatea de a crește sau micșora automat resursele (scale-up/scale-out) în funcție de traficul real, asigurând performanță constantă și optimizare a costurilor.
- Modeluri de Servicii (IaaS, PaaS, SaaS): IaaS oferă control total asupra infrastructurii (servere virtuale), PaaS simplifică dezvoltarea aplicațiilor, iar SaaS oferă software gata de utilizare.
- Zonă de Disponibilitate (Availability Zone - AZ): Datecentre fizice izolate una de alta, dar conectate printr-o rețea cu latență mică, esențiale pentru toleranța la erori și redundanță.
- Regiuni Cloud: Grupuri geografice de AZ-uri; alegerea regiunii corecte este critică pentru conformitatea datelor (GDPR) și latența pentru utilizatorii finali.
- Autoprovisionare: Capacitatea de a crea și configura resurse instantaneu prin interfețe web sau API-uri, eliminând timpii lungi de achiziție hardware.
Exemplu practic
Să presupunem că ai o aplicație web care primește trafic sporit în weekend. În loc să cumperi servere care stau inerte luni de zile, folosești un Auto Scaling Group pe AWS EC2.
{
"AutoScalingGroupName": "WebServerASG",
"DesiredCapacity": 2,
"MinSize": 1,
"MaxSize": 10,
"ScalingPolicies": [
{
"MetricName": "CPUUtilization",
"Threshold": 70,
"AdjustmentType": "ChangeInCapacity",
"ScalingAdjustment": 1
}
]
}
Acest configurare spune sistemului: „Pornește 2 instanțe normal. Dacă CPU-ul depășește 70%, adaugă o instanță nouă automat. Dacă traficul scade, elimină instanțele excedentare.” Astfel, menții performanța fără a plăti pentru resurse neutilizate.
Greșeli frecvente
- Ignorarea costurilor ascunse: Lăsarea instanțelor de testare pornite 24/7 sau utilizarea de storage premium pentru date reci poate duce la facturi surpriză.
- Arhitecturi monolitice în cloud: Migrarea unei aplicații vechi „ca-atât” în cloud fără a o adapta (refactoring) nu aduce beneficii de scalabilitate și poate fi chiar mai lentă.
- Neglijarea securității (Shared Responsibility Model): Credința greșită că providerul cloud este responsabil pentru securitatea datelor tale; în realitate, tu configurezi permisiunile IAM și firewall-ele (Security Groups).
Întrebări de interviu
Întrebare: Care este diferența dintre scalabilitate verticală și orizontală? Răspuns: Scalabilitatea verticală implică creșterea puterii unui singur server (mai mult RAM/CPU), având un limit fizic. Scalabilitatea orizontală implică adăugarea de noi servere în cluster, fiind preferată în cloud pentru elasticitate și reziliență.
Întrebare: Ce înseamnă „pay-as-you-go”? Răspuns: Este modelul de facturare unde plătești doar pentru resursele consumate efectiv (ex: timp de execuție, GB stocate), fără costuri fixe de bază sau contracte pe termen lung obligatorii.
Exercițiu
Sarcina: Creează o instanță EC2 gratuită pe AWS Free Tier.
- Accesează consola AWS și lansează o instanță t2.micro sau t3.micro cu Amazon Linux 2023.
- Configurează un Security Group care permite doar traficul SSH (port 22) din IP-ul tău local.
- Conectează-te prin SSH și instalează un server web simplu (nginx).
- Verifică că pagina de start este accesibilă din browser folosind public IP-ul instanței.
- Important: Oprește (Stop) sau termină (Terminate) instanța imediat după verificare pentru a evita costuri neintenționate.