LFCA: Apreneu la informàtica sense servidor, els avantatges i els inconvenients - Part 15


La tecnologia sense servidor ha generat molta expectació a la comunitat tecnològica, provocant molta curiositat i rebent una mica de reacció. És una tecnologia que va començar amb el llançament d'AWS Lamba el 2014, que aviat va ser seguida per Azure Functions més tard el 2016.

Més tard, Google va seguir el mateix amb el llançament de les funcions de Google Cloud el juliol de 2018. Aleshores, què és la tecnologia sense servidor? Per respondre millor aquesta pregunta, tornem a la nostra ment a la informàtica tradicional basada en servidors.

En el model informàtic tradicional, tu t'encarregaves bàsicament de tot. Com a propietari d'una empresa, hauríeu de pressupostar servidors i altres equips de xarxa, com ara encaminadors i commutadors, i bastidors per plorar els servidors.

També hauríeu de preocupar-vos d'aconseguir un centre de dades prístina i segur i assegurar-vos que pot proporcionar prou refrigeració i energia redundant i servei d'Internet. Un cop configurat, hauríeu d'instal·lar el sistema operatiu i, més tard, desplegar les vostres aplicacions. A més, se us demanarà tallafocs i sistemes de prevenció d'intrusions i detecció.

Com haureu endevinat, això requereix molts recursos, és costós i esgota.

Aleshores, la informàtica en núvol va entrar al món tecnològic, revolucionant completament la manera com implementem i gestionem servidors i aplicacions. Va anunciar una nova era on els desenvolupadors crearien servidors i bases de dades en núvol en molt poc temps i començarien a treballar en les seves aplicacions. No us preocupeu pels problemes associats a la informàtica tradicional, com ara el temps d'inactivitat, l'equip car i el lloguer de centres de dades.

Tot i que la computació en núvol va comportar la comoditat i les economies d'escala en el desplegament de recursos informàtics, algunes empreses comprarien en excés unitats d'espai del servidor i recursos com ara RAM i CPU en previsió d'un augment del trànsit de la xarxa o de l'activitat que podria desbordar les aplicacions.

Tot i que és un moviment prudent, el resultat no desitjat és la infrautilització dels recursos del servidor que sovint es malgasten. Fins i tot amb l'escala automàtica, tot i així, un pic imprevist i sobtat podria resultar costós. A més, encara haureu de dur a terme altres tasques, com ara configurar equilibradors de càrrega, que també poden augmentar els costos operatius.

És evident que, tot i fer un canvi al núvol, alguns colls d'ampolla encara persisteixen i tenen el potencial d'augmentar els costos i provocar el malbaratament de recursos. I aquí és on entra la informàtica sense servidor.

Què és la informàtica sense servidor

La informàtica sense servidor és un model de núvol que ofereix serveis de backend als usuaris de manera de pagament. En termes senzills, el proveïdor de núvol assigna recursos informàtics i cobra només pel temps que s'executen les aplicacions. Això és l'equivalent a canviar d'un pla mensual de pagament per cable a pagar només quan esteu veient els vostres programes de televisió.

El terme Sense servidor pot ser una mica enganyós. Hi ha servidors implicats? Segur, però, en aquest cas, els servidors i la infraestructura subjacent són gestionats i mantinguts exclusivament pel proveïdor de núvol. Com a tal, no us haureu de preocupar per ells. Com a desenvolupador, el vostre enfocament se centra exclusivament en desenvolupar les vostres aplicacions i assegurar-vos que funcionin a la vostra satisfacció.

En fer-ho, la informàtica sense servidor elimina el mal de cap de la gestió de servidors i us estalvia un temps preciós per treballar amb les vostres aplicacions.

Serveis de backend proporcionats per la informàtica sense servidor

Un exemple perfecte de servei de backend sense servidor és la plataforma Function-as-a-Service (FaaS). FaaS és un model de computació en núvol que permet als desenvolupadors desenvolupar, executar i gestionar codi en resposta a esdeveniments sense la complexitat de crear i gestionar una infraestructura subjacent associada habitualment al desplegament de microserveis.

Faas és una subcategoria de la informàtica sense servidor amb diferències subtils. La informàtica sense servidor abasta una àmplia gamma de serveis, com ara computació, base de dades, emmagatzematge i API, per esmentar-ne alguns. FaaS es centra únicament en un model informàtic basat en esdeveniments on les aplicacions s'executen sota demanda, és a dir, en resposta a una sol·licitud.

Alguns exemples de models informàtics FaaS inclouen:

  • AWS Lambda d'AWS
  • Funcions d'Azure de Microsoft
  • Funcions de núvol de Google
  • Cloudflare Workers de Cloudflare

En resum, hem vist que amb FaaS, només pagueu pel temps que s'executa la vostra aplicació i el proveïdor de núvol fa gairebé tot per vosaltres, inclosa la gestió de la infraestructura subjacent. La gestió dels servidors és la menor de les teves preocupacions.

Beneficis de la informàtica sense servidor

A hores d'ara, ja teniu una bona idea d'alguns dels mèrits que aporta la informàtica sense servidor. Anem a aprofundir en els avantatges d'adoptar la tecnologia.

Aquest és potser un dels majors avantatges d'adoptar el model informàtic sense servidor. Tot i que el terme sense servidor es pot malinterpretar per implicar que no hi ha servidors implicats, el fet és que les aplicacions encara s'executen als servidors. El quid de la qüestió és que la gestió del servidor és totalment el negoci del venedor del núvol, i això us ofereix més temps per treballar en les vostres aplicacions.

La infraestructura sense servidor proporciona una escala automàtica de les aplicacions en resposta a un augment de l'ús, la demanda o el creixement de la base d'usuaris. Si l'aplicació s'executa en diverses instàncies, els servidors s'iniciaran i s'aturaran quan sigui necessari. En una configuració tradicional d'informàtica en núvol, un augment del trànsit o de l'activitat pot sobrecarregar fàcilment els recursos del servidor, provocant inconsistències amb l'aplicació que s'està executant.

Com a desenvolupador, no cal que creeu cap infraestructura especial per fer que les vostres aplicacions estiguin altament disponibles. La informàtica sense servidor us ofereix una alta disponibilitat integrada per garantir que les vostres aplicacions estiguin en funcionament quan sigui necessari.

La informàtica sense servidor assigna recursos segons l'ús. La vostra aplicació només necessitarà funcions de backend quan s'executi el codi i s'escalarà automàticament en funció de la quantitat de càrrega de treball.

Això proporciona economies d'escala, ja que només se't factura pel temps que s'executen les aplicacions. En el model de servidor tradicional, heu de pagar l'espai del servidor, les bases de dades entre altres recursos, independentment de si l'aplicació està en execució o inactiva.

L'arquitectura sense servidor elimina la necessitat de la configuració del backend i la càrrega manual de codi als servidors com en la configuració tradicional. És fàcil per als desenvolupadors penjar petites piles de codi d'una manera eficient i llançar un gran producte.

La facilitat d'implementació també permet als desenvolupadors pegar i actualitzar fàcilment determinades funcions del codi sense alterar tota l'aplicació.

Errors de la informàtica sense servidor

Hi ha algun inconvenient associat al model sense servidor? Anem a esbrinar.

Les aplicacions mal configurades representen un dels majors riscos associats a la informàtica sense servidor. Si opteu per AWS, per exemple, és prudent configurar diferents permisos per a la vostra aplicació que, al seu torn, determinaran com interactuaran amb altres serveis d'AWS. Quan els permisos són vagues, una funció o un servei poden tenir més permisos dels que es requereixen, deixant un ampli marge per a les infraccions de seguretat.

Optar per un model sense servidor pot presentar reptes quan es migra a un altre proveïdor. Això es deu principalment perquè cada proveïdor té les seves pròpies característiques i fluxos de treball que varien lleugerament de la resta.

Un altre repte que planteja el model sense servidor és la dificultat de reproduir un entorn sense servidor per provar i supervisar el rendiment del codi abans de posar-se en funcionament. Això es deu principalment al fet que els desenvolupadors no tenen accessibilitat als serveis de backend que són una reserva del proveïdor de núvol.

La supervisió d'aplicacions sense servidor és una tasca complexa per les mateixes raons per les quals la depuració i les proves són una tasca difícil. Això s'ha agreujat per la indisponibilitat d'eines amb integració a serveis de backend com AWS Lamba.

La informàtica sense servidor continua guanyant tracció i adopció entre les empreses i desenvolupadors per 3 raons clau. Un d'ells és l'assequibilitat que implica una reducció de costos operatius. En segon lloc, la informàtica sense servidor facilita l'escalat automàtic i ràpid i, finalment, els desenvolupadors no s'han de preocupar per la infraestructura subjacent que gestiona el venedor.

Mentrestant, els proveïdors de núvol estan treballant durant tot el dia per abordar alguns dels inconvenients associats a la informàtica sense servidor, com ara la dificultat per depurar i supervisar aplicacions.