Geekflare recibe el apoyo de nuestra audiencia. Podemos ganar comisiones de afiliación de los enlaces de compra en este sitio.
En Computación en nube y Desarrollo Última actualización: 15 de septiembre de 2023
Compartir en:
Escáner de seguridad de aplicaciones web Invicti - la única solución que ofrece verificación automática de vulnerabilidades con Proof-Based Scanning™.

Conozcamos los fundamentos de AWS Lambda y cómo ejecutar una función paso a paso.

Introducción

Cuando creas aplicaciones, quieres que ofrezcan una experiencia de usuario excelente. Para que la magia suceda, tu aplicación necesita un código backend que se ejecute en respuesta a eventos.

Pero gestionar la infraestructura para alojar y ejecutar el código backend requiere dimensionar, aprovisionar y escalar un montón de servidores, gestionar las actualizaciones del sistema operativo, aplicar parches de seguridad y luego monitor toda esta infraestructura en cuanto a rendimiento y disponibilidad.

¿No estaría bien poder centrarse en crear aplicaciones excelentes sin tener que preocuparse por su infraestructura? Aquí es donde AWS Lambda entra en escena.

YouTube vídeo

¿Qué es AWS Lambda?

AWS Lambda es un servicio informático sin servidor que le permite ejecutar su código sin preocuparse de aprovisionar o administrar ningún servidor. Puede ejecutar su aplicación o servicio backend con AWS Lambda sin necesidad de administración. Solo tiene que cargar su código en Lambda y este lo ejecutará, incluso escalando la infraestructura con alta disponibilidad.

El código que se ejecuta en AWS Lambda se denomina función Lambda. Actualmente, admite los siguientes lenguajes de programación:

  • Java
  • Python
  • C#
  • Node.js
  • Vaya a
  • PowerShell
  • Ruby

También proporciona una API de ejecución que puede utilizarse para ejecutar funciones escritas en otros lenguajes de programación (nativos).

Para trabajar con AWS Lambda, solo hay un requisito previo; debes tener una cuenta en AWS desde la que puedas acceder a la consola de administración de AWS.

Puede llamar a Lambda es FaaS (función como servicio) de AWS.

Características de AWS Lambda

A continuación se indican algunas de las características importantes que ofrece AWS Lambda:

  • AWS Lambda escala fácilmente la infraestructura sin ninguna configuración adicional. Reduce el trabajo operativo que conlleva.
  • Ofrece múltiples opciones como AWS S3CloudWatch, DynamoDB, API Gateway, Kinesis, CodeCommit y muchos más para activar un evento.
  • No es necesario invertir por adelantado. Sólo pagas por la memoria utilizada por la función lambda y el coste es mínimo en función del número de peticiones, por lo que resulta rentable.
  • AWS Lambda es seguro. Utiliza AWS IAM para definir todas las funciones y políticas de seguridad.
  • Ofrece tolerancia a fallos tanto para los servicios que ejecutan el código como para la función. Usted no tiene que preocuparse de la aplicación hacia abajo.

Precios de AWS Lambda

El precio de AWS Lambda depende de la duración y la memoria utilizada por la función Lambda escrita por usted. El máximo que puede asignar es 3008 MB de memoria a una función lambda en incrementos de 64 MB. A continuación se muestra una tabla de precios con todos los bloques de memoria para 100 milisegundos.

precios de aws lambda - geekflare

¿Cómo funciona AWS Lambda?

aws lambda funcionando - geekflare

  • En primer lugar, se crea una función y se le añade información básica, como el lenguaje de programación que se utilizará en la función.
  • A continuación, escribe tu código en el editor lambda o cárgalo en un lenguaje de programación compatible en un archivo zip.
  • Una vez cargado el código lambda, el servicio se encarga de todo el escalado de capacidad, la aplicación de parches y la administración de la infraestructura.
  • Para ejecutar el código, debe activar la función Lambda con un servicio de AWS externo, que puede invocar la función Lambda. Por ejemplo, puede ser un bucket de S3.
  • En unos segundos, Lambda estará listo para activar su función automáticamente cuando se produzca un evento. AWS Lambda ejecuta su código cuando se llama al evento de activación. Aprovisiona, administra y monitoriza los servidores por usted.
  • Si tu función requiere mucha potencia de procesamiento, elegirá un tipo de instancia que tenga más potencia de procesamiento y RAM, o bien, si tu código lambda sólo se ejecuta durante dos segundos, seleccionará la instancia más baja posible, lo que te ahorrará dinero y tiempo.

Así es como funciona internamente AWS Lambda. Permítanme mostrarles una demo de AWS Lambda.

Creación de una función AWS Lambda

Voy a crear un juego muy simple usando la función lambda en Node.js para este artículo. Voy a crear una función lambda para lanzar un dado, generar un número aleatoriamente entre 1 y 6, e imprimirlo.

  • Vaya a la consola de administración de AWS, y en la barra de búsqueda escriba Lambda, haga clic en Lambda.

lambda - geekflare

  • Aparecerá la ventana Función, haga clic en Crear función.

crear función - geekflare

  • Obtendrá diferentes opciones para crear una función con su explicación. Como la estoy creando desde cero, seleccionaré Autor desde cero.

autor desde cero - geekflare

  • Después de eso, necesitas rellenar alguna información necesaria para esta función lambda. Introduzca el nombre de la función y seleccione la versión de Node.js que desea utilizar para esta función.
  • También necesitas elegir un rol de ejecución. Como no tengo ninguna función existente definida en mi cuenta de AWS, seguiré adelante y seleccionaré la opción de crear una nueva función. Haga clic en Crear función.

rollingdice - geekflare

  • Recibirá un mensaje de éxito indicando que la unción ha sido creada. Haga clic en la ventana del Diseñador para minimizarla.

escaparate de diseño - geekflare

  • A continuación aparecerá la ventana Código de función.
  • Pon el código mencionado abajo en el editor. También puedes subir el código usando el archivo zip, pero yo estoy usando el editor de código interno de AWS.

código de la función lambda - geekflare

  • Se trata de un código simple que toma sólo números del 1 al 6 y utiliza una función matemática aleatoria para generar un número al azar e imprimirlo cuando se llama a la función.
exports.handler = async (event) => {
const min = 1;
const max = 6;
const randomNum = Math.floor(Math.random() * (max - min + 1)) + min;
const out = 'Dice throw result is: ' + randomNum;
return out;
};
  • Ahora haga clic en el botón de Prueba en la esquina superior derecha. Aparecerá una ventana emergente para configurar un evento de prueba, introduzca un nombre de evento y haga clic en configurar.

evento de prueba

  • Ahora haga clic en Guardar y luego en Probar.

En el Resultado de la Ejecución, verás la salida de la función lógica que acabamos de escribir. Imprime - El resultado de la tirada de dados es 2.

prueba

  • Desplácese hacia arriba y haga clic en resultados de ejecución detallados para obtener el resumen completo de esta función lambda con la salida esperada. También están disponibles detalles como el ID de la solicitud, la duración, la duración facturada, los recursos configurados, etc. con salida de registro.

resultado de la ejecución

  • Haga clic en la pestaña de supervisión para visualizar la nube ver los registros y el rendimiento de la función lambda durante un tiempo definido.

supervisión de cloudwatch

  • Si entra en los registros creados por CloudWatch, podrá ver los detalles de lo que ocurrió cuando se ejecutó la función lambda monitorizada por CloudWatch.

ver registros de cloudwatch - geekflare

Conclusión

Introducción a Lambda es realmente fácil. Si tu aplicación de negocio requiere ejecutar código backend, puedes considerar usar un plataforma sin servidor como AWS Lambda.

  • Avi
    Autor
Gracias a nuestros patrocinadores
Más lecturas sobre computación en nube
Potencia tu negocio
Algunas de las herramientas y servicios que le ayudarán a hacer crecer su negocio.
  • Invicti utiliza el Proof-Based Scanning™ para verificar automáticamente las vulnerabilidades identificadas y generar resultados procesables en tan solo unas horas.
    Pruebe Invicti
  • Web scraping, proxy residencial, gestor de proxy, desbloqueador web, rastreador de motores de búsqueda, y todo lo que necesita para recopilar datos web.
    Pruebe Brightdata
  • Monday.com es un sistema operativo de trabajo todo en uno que te ayuda a gestionar proyectos, tareas, trabajo, ventas, CRM, operaciones, flujos de trabajo y mucho más.
    Prueba Monday
  • Intruder es un escáner de vulnerabilidades en línea que encuentra puntos débiles de ciberseguridad en su infraestructura, para evitar costosas violaciones de datos.
    Prueba Intruder