Conceptul de cloud computing a pornit ca o contraofertă la infrastructurile și platformele tradiționale. În fața unor resurse tehnologice hardware și software finite, cloudul propune soluții ”infinite”, ce pot fi folosite la cerere – elastice și ce pot fi ajustate în funcție de creștere – scalabile.
În cloud se vorbește mult despre arhitectura serverless. Acest termen descrie arhitecturi și structuri în care gestionarea datelor dintr-o companie este externalizată către părți terțe. Deși numele este tradus în ”fără server”, arhitectura fără server nu presupune lipsa serverelor în gestionarea datelor, ci doar transferul aceste griji de către companie către furnizori de astfel de servicii. Printre cei mai mari furnizori se numără Google, Amazon sau Microsoft, cu diferite avantaje pentru fiecare companie.
Nu fiecare afacere este pregătită să facă trecerea all-in la serverless. În materialul acesta vom discuta despre conceptul de fără server, avantaje, dezavantaje și costuri ale acestui tip de infrastructură.
Ce este Serverless?
Arhitectura serverless permite developerilor să construiască și să ruleze aplicații în cloud, fără server. Astfel, providerul cloud preia serviciile de rutină precum provizionare, menținere și scalare, lăsând programatorilor doar construirea efectivă a aplicațiilor în containere.
Acest model de arhitectură vine cu o serie de avantaje față de infrastructura tradițională pe servere. Scalabilitate mai mare, flexibilitate crescută, timp mai rapid de lansare pentru aplicații și actualizările acestora – sunt doar câteva dintre aceste beneficii. Un alt mare beneficiu al acestora este controlul costurilor – când nu există trafic sau workload, serverless presupune niciun cost extra.
Google Cloud Platform este un astfel de furnizor de servicii serverless, ușurând utilizatorii de sarcina întreținerii unei infrastructuri fizice. Mentenanța și updatarea mașinilor rămâne în totalitate în seama Google. Astfel, administratorul unei companii care folosește GCP se poate concentra pe managementul cloud-ului, susținerea programatorilor sau implementarea altor proceduri mai importante decât mentenanța fizică într-o sală de servere.
Prin ce se diferențiază arhitectura serverless?
Principalul diferențiator pentru calculul fără server este mutarea focusului developerilor pe dezvoltarea de produse și aplicații. Configurarea rețelei și setările de securitate sunt în această situație preluate de furnizorul cloud. Funcțiile acestea preluate de furnizor formează componenta FaaS (Functions as-a-Service), una dintre cele mai importante fațete a soluțiilor serverless.
În completarea FaaS vor exista și servicii de infrastructură BaaS (Backend as-a-Service). În această categorie intră activități precum autentificare, monitorizare, servicii private și internalizate.
Serverless, un model de arhitectură dependent de evenimente
Cu o arhitectură pe bază de eventuri, fiecare parte a unei aplicații este independentă, iar fiecare eveniment îl declanșează pe următorul. Într-o arhitectură lineară însă, există conexiuni cu fiecare serviciu. Astfel, în cazul unei erori, alegerea unei infrastructuri serverless te va ajuta să izolezi impactul pe fiecare event și nu pe întregul serviciu, așa cum s-ar întâmpla în cazul unei arhitecturi tradiționale.
Fiabilitate, timp mai scurți de lansare și inovație accelerată
O caracteristică a serverless este și viteza și timpii reduși de lansare sau actualizări. Aplicațiile se pot lansa în doar câteva ore atunci când nu depinzi de o infrastructură greoaie. Cu o arhitectură agilă, compania ta poate lansa noutăți mai repede, accelerând inovația și progresul tehnologic.
Flexibilitatea este și ea importantă în scenarii urgente și imprevizibile. Odată cu pandemia, numeroase companii s-au simțit urgentate în a găsi un răspuns pentru nevoile angajaților și ale clienților deopotrivă. Arhitectura serverless se numără printre soluțiile din spatele telemuncii.
Serverless, o soluție scalabilă
Odată implementate, aplicațiile fără server răspund la cerere și se extind automat în funcție de nevoile companiei. Ofertele fără server de la furnizorii de cloud public sunt de obicei măsurate la cerere printr-un model de execuție bazat pe evenimente. Ca rezultat, atunci când o funcție fără server este inactivă, nu costă nimic.
Ce presupune managementul infrastructurii serverless?
Chiar dacă serverless presupune absența serverelor, în continuare există operațiuni de management și configurare care trebuie efectuate. În loc de a configura instanțe și resurse legate de rețelistică, ca într-un stack IaaS, pentru serverless trebuie configurate funcții, stocare, set de reguli API și alte resurse adiționale care trebuie ținute sub monitorizare.
Managementul infrastructurii consumă și el resurse astfel, depinzând de natura stack-urilor serverless. În același timp, fără grija serverelor, acest management este o activitate singulară și simplificată. Pentru acest tip de management însă, fiecare furnizor cloud oferă soluții proprii. Astfel, AWS are Cloud Formation, Azure oferă Resource Manager, iar Google oferă Cloud Deployment Manager.
Care sunt costurile conectate cu arhitectura serverless?
Cu arhitectura fără server, ești factura doar pentru perioada în care se utilizează în mod activ platforma. Când platforma este inactivă – fără trafic sau evenimente – nu costă nimic.
Cu Google Cloud, plătești pe măsură ce consumi, fără alte costuri ascunse sau taxe de încheiere contract. Google te ajută să economisești costuri în funcție de consumul lunar și poți reduce sume chiar și cu 57% pentru resurse precum Compute Engine. În plus, cu alerte și limite de buget și alte instrumente de managementu, poți optimiza continuu costurile.
Contactează partenerul premium Google FOTC pentru a primi o ofertă personalizată pe nevoile afacerii tale și pentru a beneficia de un voucher de 500$ pentru demararea proiectului tău. Suntem aici să te ajutăm 24/7.
Este serverless o soluție doar pentru startup-uri?
Startup-urile au nevoia de a ridica o companie de la zero. O infrastructură serverless este o soluție potrivită acestora, în special în detrimentul unei infrastructuri IT improvizate. Soluția ajută companiile nou înființate să economisească costuri și să plătească pentru resursele folosite pe parcurs. În plus, odată cu creșterea companiei, scalabilitatea companiei și a infrastructurii este și ea dezirabilă.
Deși implementarea de infrastructuri bazate în cloud pare să fie o favorită în rândul startup-urilor, companii de mărimi mare optează în aceeași măsură pentru serverless. Puteți citi poveștile unor branduri și corporații care și-au mutat companiile în cloud alături de Google.
PaaS în Google Cloud
Arhitectura serverless este un serviciu PaaS (Platform-as-a-Service), cu distincția că dispare în totalitate conceptul de server. Programatorii se pot concentra pe dezvoltarea de noi funcționalități, gestionarea de aplicații mobile și web, iar mai departe, în cloud, se alocă resurse pentru scalabilitatea funcției în mod automat.
PaaS însumează avantajele fundamentale ale cloud computing: standardizarea și simplificarea structură IT, inovație cu soluții de inteligență artificială și securitate și backup în caz de dezastru.
Printre serviciile PaaS oferite de Google se numără Google App Engine, o platformă de dezvoltare pentru aplicații fără server, BigQuery, un depozit de date scalabil în cloud, Google Maps, pentru servicii de localizare sau Google Kubernetes Engine, o platformă open source pentru administrarea containerelor la scară largă.