Ce este Serverless?
Publicat: 2022-02-15Calculul fără server este o metodologie de furnizare de servicii back-end în funcție de utilizare. Factorul principal al unui furnizor fără server este capacitatea utilizatorilor de a scrie coduri fără a-și face griji cu privire la infrastructura de bază. O organizație care primește servicii de la un furnizor care oferă calculatoare fără server, nu trebuie să-și facă griji cu privire la plata unui cost fix pentru lățimea de bandă sau orice număr de servere. Dimpotrivă, organizațiile sunt taxate pe baza calculului lor. Ceea ce trebuie remarcat este că, în ciuda numelui serverless, există o utilizare a serverelor fizice, de care dezvoltatorii nu trebuie să fie conștienți.
În primele zile ale erei internetului, ori de câte ori cineva dorea să dezvolte o aplicație web, i se cerea să ruleze un server, ceea ce era o muncă fără sfârșit și o muncă grea. Apoi a venit era cloud computing-ului, în care o cantitate fixă de servere sau spațiu pe server putea fi abonată pe chirie. Dezvoltatorii și organizațiile care preiau aceste servere și spațiu pe server tind de obicei să cumpere în exces, astfel încât să nu ajungă într-o situație adversă în care afluxul brusc de trafic pe site-ul web ar trebui să le distrugă aplicațiile. Chiar dacă furnizorii de cloud au venit cu metoda de scalare automată, aceasta nu este o metodă eficientă din punct de vedere al costurilor în cazul unui vârf mare, cum ar fi atacul DDoS.
Calculul fără server permite dezvoltatorilor să utilizeze serviciile de backend pe bază de „plată-pe-utilizare”; aceasta înseamnă că dezvoltatorii trebuie să plătească numai pentru serviciile pe care le folosesc. Terminologia fără server este înșelătoare, ceea ce înseamnă de fapt că dezvoltatorii nu trebuie să-și facă griji în privința serverului - și nu în absența totală a serverelor.
- Diferența dintre backend și frontend
- Tipuri de servicii backend
- Avantajele
- Comparație de calcul fără server
- Viitor
Diferența dintre backend și frontend?
Orice aplicație creată constă din două componente – front-end și backend. Frontend-ul este în esență partea pe care utilizatorii o văd, o folosesc și interacționează – în principal aspectul vizual. Backend-ul este componenta pe care utilizatorii de obicei nu o văd; serverul în care se află fișierele aplicației și baza de date în care este stocată logica de afaceri și datele utilizatorului.
Dacă luăm exemplul unui site web, front-end-ul solicită date site-ului de la backend, iar backend-ul răspunde la cerere și împinge datele către front-end.
Tipuri de servicii de backend furnizate de calculul fără server
Majoritatea furnizorilor de calcul fără server oferă baze de date și servicii de stocare. Unele dintre ele oferă și platforme Function-as-a-service; Cloudflare Workers este un exemplu de același lucru. Conceptul FaaS permite dezvoltatorilor să dezvolte și să ruleze mici secțiuni de cod la marginea rețelei. Folosind metodologia FaaS, dezvoltatorii pot crea o arhitectură care face întreaga bază de cod extrem de scalabilă, iar cea mai bună parte este că dezvoltatorii nu trebuie să-și cheltuiască resursele pe backend.
Avantajele computerului fără server
Calculul fără server a câștigat multă popularitate și asta se datorează în principal avantajelor cheie pe care le aduce la masă.
Aceste avantaje sunt următoarele:
- Reducerea costurilor – calcularea fără server este relativ mai puțin costisitoare, deoarece nu există un concept de utilizare a timpului inactiv sau a spațiului neutilizat, așa cum se găsește în cloud computing.
- Ușor de scalat – Dezvoltatorii care folosesc arhitectura serverless sau backend nu trebuie să-și facă griji cu privire la diferitele politici pentru a-și scala codul.
- Cod backend simplu – cu concepte precum FaaS, dezvoltatorii pot crea funcții la fel de simple ca un apel API, care funcționează independent
- Procesare mai rapidă – Arhitectura fără server poate ajuta la aducerea rapidă a produsului pe piață. Spre deosebire de metoda tradițională de implementare complexă și actualizări de patch-uri, computerul fără server poate ajuta dezvoltatorii să adauge noi funcții pe o bază ad-hoc și fragmentat.
Comparație între calcularea fără server cu alte modele de backend cloud?
Există câteva tehnologii care sunt adesea comparate cu calcularea fără server. Acestea sunt Backend-as-a-service și Platform-as-a-service. Deși aceste două tehnologii au unele asemănări, ele de fapt nu îndeplinesc cerințele de a fi definite ca o metodologie de calcul fără server.
Backend-as-a-service (BaaS): este un model de servicii în care un furnizor de cloud oferă servicii back-end, cum ar fi stocarea datelor, permițând dezvoltatorilor să se concentreze mai mult pe dezvoltarea codului front-end. În timp ce majoritatea aplicațiilor fără server sunt complet conduse de evenimente și rulează pe margine, aplicațiile BaaS s-ar putea să nu îndeplinească exact cerințele unei metodologii de calcul fără server.
Platform-as-a-service (PaaS): Acesta este un model, în care dezvoltatorii preiau toate componentele aplicației de la furnizorul de servicii cloud – pentru a dezvolta și implementa aplicații pe serverul cloud al furnizorului. Cu toate acestea, un dezavantaj major este că aplicațiile PaaS nu se pot scala ușor ca aplicațiile fără server. Un alt factor este că aplicațiile PaaS nu rulează pe margine și există o întârziere vizibilă la pornirea aplicației.
Infrastructure-as-a-service (IaaS): În esență, este un cuvânt de interes care este folosit destul de interschimbabil cu computerul fără server, dar cele două terminologii nu sunt sinonime în niciun caz. IaaS este un termen folosit în cazul în care furnizorii de infrastructură găzduiesc aplicații ale clienților lor în numele lor.
Viitorul calculelor fără server
Metodologia evoluează continuu, deoarece furnizorii de servicii vin cu modalități noi și inovatoare de a elimina orice fel de dezavantaj – unul care poate fi remarcat este pornirea la rece.
Aceasta înseamnă că, dacă o anumită aplicație fără server nu a fost apelată de ceva timp, atunci furnizorul va închide serverul pentru a economisi energie și pentru a evita orice fel de supraalocare. Data viitoare când aplicația este apelată de către utilizator, furnizorul de servicii trebuie să înceapă totul din nou și să înceapă din nou găzduirea funcției respective.
De îndată ce funcția este activată și rulează, aceasta va rula rapid, deoarece va fi servită mai rapid la următorul set de solicitări; cu toate acestea, dacă funcția nu este solicitată, atunci se va opri din nou. Acest lucru înseamnă în esență că următorul utilizator care solicită funcția se va confrunta cu o pornire la rece.
Gânduri finale
Pe măsură ce observăm că tot mai multe dezavantaje ale calculului fără server sunt abordate, combinate cu popularitatea tot mai mare a calculului edge, ne putem aștepta ca calculul fără server să câștige popularitate pe scară largă în rândul comunității de dezvoltatori și utilizatori.
Alte resurse utile:
Atacuri ale vulnerabilităților serverului web: Cum să vă protejați organizația
Ce este Server Message Block și cum funcționează
Aplicație web – Tot ce trebuie să știți
Ce este Edge Computing? – Tot ce trebuie să știți