Seidor
AWS

25 de març de 2024

Automatitza la teva aplicació utilitzant el servei serverless AWS Lambda

Després de la fita dels contenidors, hem començat a eliminar les grans peces de les nostres aplicacions, reemplaçant els nostres servidors per màquines virtuals, les nostres màquines virtuals per contenidors i els nostres contenidors per codi "in situ".

Gràcies a això pots aconseguir el màxim potencial de la teva aplicació en poc temps sense preocupar-te de les qüestions operatives (hardware i software subjacent) i fer més fàcil la vida dels desenvolupadors.

Amb l'ús del servei Serverless AWS Lambda pots dur a terme moltes accions i per tant, obtenir molts beneficis.

Però, què és AWS Lambda?

AWS Lambda és una plataforma de computació sense servidor, dirigida per esdeveniments i proveïda per AWS, que permet executar codi sense aprovisionar ni administrar servidors en temps real. Si estàs executant la teva aplicació les 24 hores del dia i els 7 dies de la setmana, se't cobrarà pel temps durant el qual s'executen les funcions. El codi que s'executa en AWS Lambda s'anomena funció de Lambda.

Podem considerar Lambda com una plataforma basada en esdeveniments que s'executa quan s'activa i acciona el codi que s'ha carregat en el sistema.

Amb AWS Lambda pots executar codi per a pràcticament qualsevol tipus d'aplicació o servei de Backend. Aquesta funció és compatible amb Java, Go, PowerShell, Node.js, C#, Python i el codi Ruby que, a més, proporciona una API de temps d'execució que li permet utilitzar qualsevol llenguatge de programació addicional per crear les seves funcions.

Casos d'ús d'aquesta plataforma de computació sense servidor

AWS Lambda és un servei que pot resultar idoni per a moltes situacions. El codi de les aplicacions ha d'estar escrit en els llenguatges admesos i esmentats anteriorment. Vegem alguns exemples de com pots utilitzar aquest servei per simplificar i automatitzar la teva infraestructura Cloud:

  • Processament d'arxius en temps real: pots utilitzar Amazon S3 per activar AWS Lambda i processar les dades immediatament després de carregar-les. Per exemple, pots utilitzar Lambda per crear imatges en miniatura, transcodificar vídeos, indexar arxius, processar registres, validar contingut, agregar i filtrar dades en temps real.
  • Còpies de seguretat automàtiques: pots escriure fàcilment una funció Lambda que crearà automàticament còpies de seguretat d'informació important. Es podrà programar la còpia de seguretat perquè es realitzi al final de cada dia. I, si ho desitges, el teu sistema de còpies de seguretat pot ser incremental, diferencial, etc.
  • Personalització, integració i enviament d'alertes: pots crear fàcilment una funció Lambda per verificar els logs des de Cloudwatch. Lambda pot buscar en els logs esdeveniments específics o entrades de registre a mesura que ocorren, i enviar notificacions a través de SNS. Pot integrar-se amb aplicacions com Slack per enviar notificacions personalitzades i monitoritzar-se amb enviament de correus electrònics i trucades per a alertes dels recursos que s'estableixin.
  • Programació de tasques: pots programar tasques de “start/stop” de diferents recursos (instàncies RDS, instàncies EC2, etc) i eliminar la necessitat que el sistema de servidor tradicional «sempre actiu» quedi darrere d'una aplicació, la qual cosa reduirà significativament la complexitat i costos operatius.
  • Datalakes: pots configurar una funció Lambda a l'hora de copiar els fitxers en S3 per verificar la mida del fitxer que acaba d'arribar abans d'enviar-lo a la capa d'assaig a través de DataPipeline o S3 upload, a més de configurar una segona Lambda per obrir els clústers d'EMR per processar les dades i realitzar la normalització i ETL (extreure, transformar, carregar) abans que es conservin en DynamoDB o AuroraDB.