Introducción a AWS Lambda

AWS Lambda es un servicio en la nube sensible que inspecciona las acciones de la aplicación y responde mediante la implementación de códigos definidos por el usuario conocidos como funciones. Antes de aprender el tema en profundidad, primero comprendamos AWS Lambda a partir de dos escenarios diferentes.

Problema

Tienes un proyecto en mente. Estás formulando el algoritmo en tu mente. Está evaluando las opciones de pila de tecnología que puede usar para construir su proyecto. Todo va muy bien hasta que se dé cuenta de que necesita descargar el software, los IDE, las herramientas y el espacio del servidor necesarios para servir su código. Bien, necesitaría configurar la infraestructura básica antes de comenzar la codificación real de su proyecto. Ohh, pero necesita que su aplicación se ejecute sin problemas en las computadoras y las interfaces móviles. Esto significa más infraestructura para configurar antes de llegar a la codificación de tierra.

¿Demasiada sobrecarga para las etapas iniciales de desarrollo? ¿Demasiada sobrecarga para administrar la infraestructura incluso cuando su proyecto se amplía? ¿Su proyecto está sobrepasando las estimaciones de costos? ¿Está su enfoque dividido entre todas las cosas excepto la codificación?

Solución: estos son los problemas, pero AWS Lambda es la solución.

AWS Lambda: informática sin servidor

AWS Lambda le permite ejecutar su código sin aprovisionar los servidores y otra infraestructura de soporte. Puede codificar en cualquier tipo de aplicación o servicio back-end sin preocuparse por el servidor o las DLL / software compatibles. Solo necesita concentrarse en su código. AWS se encarga de descansar todo, comenzando por servir su código, activando su código en eventos específicos, hasta administrar más espacio en el servidor cuando su código se amplía.

  • AWS le factura en función del tiempo que se ejecuta su código, en múltiplos de fotogramas de 100 milisegundos. No hay ningún cargo por el tiempo que su código permanezca inactivo en el servidor. ¡Qué mejor motivación para escribir código eficiente!
  • El término 'sin servidor' a menudo denota el cambio a la nube. Con la nube, puede delegar sus responsabilidades operativas a AWS y centrarse más en proporcionar una mejor experiencia del consumidor a través de su aplicación.
  • Mientras lo hace, AWS maneja tareas como la administración de la infraestructura, la agrupación, la aplicación de parches, la seguridad, el mantenimiento del sistema operativo, etc.

¿Por qué AWS Lambda?

Como es la naturaleza humana, siempre es bueno evaluar si la tecnología / herramienta vale la pena. Veamos algunas de las características de AWS Lambda que facilitan la vida de los desarrolladores.

1) Trae tu propio código

Como AWS se jacta con mucho cariño de esta característica, Lambda le permite codificar en cualquier idioma y AWS le proporcionará el soporte subyacente. Es compatible con casi todos los idiomas nativos, marcos de JavaScript, bibliotecas de terceros y demás.

2) Un host de otros servicios de AWS

AWS es una ventanilla única para toda la infraestructura necesaria. Tiene una fácil integración dentro de varios servicios como almacenamiento (S3), bases de datos (RDS, DynamoDB), servidores (EC2), gestión de seguridad (IAM), redes (Route53, CloudFront) y mucho más.

3) Código personalizado

¿Necesita escribir una lógica de back-end personalizada a medida para un solo cliente? En lugar de escribir la lógica en el lado del cliente, use AWS Lambda para escribir servicios personalizados y hacer que su código esté libre de actualizaciones de la plataforma del cliente.

4) Pago por uso

No necesita gastar dinero por el tiempo que su código esté inactivo. Si su servicio recibe visitas solo durante el día, pague solo por el tiempo que se ejecuta su código. Esto se calcula en marcos de tiempo de 100 milisegundos.

5) Escalado automático

AWS aumenta automáticamente los recursos cuando su servicio recibe mayores visitas. No necesita configurar nada para obtener recursos adicionales. No hay límite para la cantidad de solicitudes que su código puede manejar. Por lo tanto, el rendimiento sigue siendo alto en todo momento.

6) Recuperación de desastres de Amazon

Con su código y sus datos replicados en múltiples zonas de disponibilidad, cualquier falla en la instalación no afecta su aplicación. Las solicitudes se enrutan automáticamente a otra zona.

Comencemos con el tutorial de AWS Lambda

¿Emocionado? Comencemos con AWS Lambda. Como es una costumbre en todo el mundo de la programación, comenzaríamos con un simple programa 'Hello World'.

Pasos Prerrequisitos

Para comenzar con AWS Lambda, debe tener una cuenta de AWS. Es diferente de la cuenta de Amazon que usa para comprar. Si ya tiene uno, inicie sesión en la consola y pase a la siguiente sección. Si no, siga los pasos a continuación. No se preocupe, es totalmente gratuito siempre que su aplicación no supere el límite de nivel gratuito.

Crear una cuenta de AWS

  • Abra la consola de AWS. Haga clic en Crear nueva cuenta de AWS.

  • Complete su información y actualice los detalles de su tarjeta. Amazon no le cobrará nada a menos que exceda el límite de uso de nivel gratuito. El límite de uso de nivel gratuito es abundante para el desarrollo de un solo usuario.
  • Después de completar el proceso de registro, visite el enlace en el Paso 1 nuevamente. Esta vez, inicie sesión en la consola con su nombre de usuario y contraseña.

Ingrese a la consola Lambda

Una vez que haya iniciado sesión en la consola de administración de AWS, verá un enlace a Servicios en el panel de encabezado. Haga clic en él y encontrará Lambda dentro de la subsección Compute .

Así es como se ve la consola lambda a primera vista:

También puede navegar hasta el tablero de Lambda y ver estadísticas de su código. Le da una idea del recuento de invocación, la duración de la ejecución, el índice de éxito y error, etc. Un panel de muestra se parece a lo siguiente.

Ok, entonces el siguiente paso es crear una función. Todos los códigos en Lambda se denominan funciones porque, bueno, realizan una tarea específica. Observe un botón Crear función en la parte superior derecha de la consola Lambda. Ese botón nos llevará a la siguiente pantalla:

Crear una función AWS Lambda

Veamos cómo crear la función AWS Lambda siguiendo los pasos a continuación.

Paso 1

Ahora tenemos tres opciones, para empezar:

  • Autor desde cero: se le dará una plantilla en blanco y podrá escribir su código desde cero.
  • Use un Blueprint: una plantilla con algunas bibliotecas incluidas para satisfacer sus necesidades. Solo necesita trabajar en la lógica de su código.
  • Examinar el repositorio de aplicaciones sin servidor: listo para usar códigos integrados que realizan varias funciones. Estos también se pueden usar fácilmente en su código.

Para adaptarnos a nuestro propósito de entender a Lambda, primero, deberíamos usar un plano. Una vez que tenga la confianza suficiente, puede comenzar a construir su código desde cero y explorar el potencial de AWS Lambda.

Ahora haga clic en Usar un plano y busque la palabra hola. Aparecen los siguientes resultados. Creemos nuestra aplicación hello world usando NodeJS.

Paso 2

Ahora llegamos a la pantalla de configuración para nuestra función. Ingrese un nombre de su elección y seleccione 'Crear un nuevo rol a partir de plantillas de políticas de AWS' en el menú desplegable para el rol de ejecución. Dé el nombre del rol como 'lambda_basic_execution'.

Nota : un rol de ejecución define los permisos que AWS Lambda puede asumir al ejecutar su código. Una ejecución básica significa que lambda simplemente ejecutará el código donde no haya una biblioteca de terceros involucrada. En caso de que su código necesite interactuar con Amazon S3 o RDS o EC2 o cualquier otro servicio, se deben otorgar los permisos adecuados para acceder a estos servicios a su función lambda de AWS.

Haga clic en el botón Crear función en la parte inferior de la pantalla. La siguiente pantalla aparece en la creación exitosa de su función.

Nota : El nombre de recurso ARN o Amazon es un nombre único de su función. Esto se puede usar como punto final para activar su función. Los disparadores en la sección del diseñador son donde agrega servicios que pueden activar su función. En cada servicio que pueda activar su función, el ARN de su función debería configurarse. Es como un enlace bidireccional de servicios. El servicio de activación sabrá que necesita acceder a su función y su función se configurará para recibir solicitudes de los servicios de activación que agregue. Agregar disparadores es el siguiente nivel de tutoriales lambda y está más allá del alcance de este artículo.

Paso 3

Debajo de la subsección del diseñador se encuentra la subsección del Código de función. Este es su IDE en línea facilitado por Amazon. Se ve algo como esto:

  • En el menú desplegable Tipo de entrada de código, puede seleccionar si desea editar el código en línea o cargar un archivo zip desde su sistema o cargar un archivo zip desde Amazon S3. Las opciones de carga se pueden usar para códigos complejos que se pueden editar fácilmente en algunos IDE mejor presentados en su sistema local.
  • El tiempo de ejecución es el lenguaje / marco que admite su código.
  • Un controlador es una función de invocación dentro de su función lambda de AWS. Su función lambda de AWS puede tener múltiples controladores y puede especificar con qué controlador comenzar la ejecución. Picture Handlers como métodos designados para realizar tareas específicas.

Etapa 4

En la parte superior de la página, verá una franja con algunos botones. Haga clic en Seleccionar un evento de prueba para probar nuestro código. Esto le pedirá que configure un evento de prueba, en caso de que no se cree ninguno.

Configure su primer evento de prueba como el siguiente:

Guarde el evento de prueba y haga clic en Prueba. Verá los resultados de ejecución de su función.

  • Respuesta : el resultado final devuelto por su función. Observe que nuestra función devolvió key1.
  • ID de solicitud : cada solicitud a su función tiene un ID de solicitud único. Amazon los utiliza para rastrear solicitudes y generar su información de facturación.
  • Registros de funciones : la parte más perspicaz de AWS Lambda. Estos son registros detallados que especifican el inicio y el final de la ejecución de su función. A diferencia de la depuración en IDE habituales, AWS Lambda depende en gran medida de los registros para fines de depuración. También se almacenan en CloudWatch para futuras referencias.

¡Felicidades! Ha creado con éxito una función Lambda. Pero espera, aún no lo hemos invocado. Acabamos de probarlo desde nuestro propio entorno. Invoquémoslo desde el mundo exterior.

Invocación de la función AWS Lambda

Estaríamos creando una API REST para invocar la función Lambda.

Paso 1

Vaya a Amazon API Gateway. También se puede encontrar en Servicios -> Redes y entrega de contenido. Haga clic en Crear API.

Paso 2

Configure los detalles básicos de su API como se muestra a continuación y haga clic en Crear API.

Paso 3

Ahora su API está creada, pero no hay un método HTTP definido en la API. Haga clic en el menú desplegable Acciones y Crear método. Notará que aparece un menú desplegable más pequeño en el panel izquierdo. Haga clic en OBTENER en este menú desplegable. Básicamente, estamos creando un método HTTP GET para nuestra API.

Etapa 4

Configure su método GET para invocar una función lambda como se ilustra a continuación. Debe especificar el ARN de su función Lambda en el campo Función Lambda. Haz clic en Guardar.

Una vez que haya guardado su método GET, llegaría a la pantalla de Ejecución de método a continuación.

Paso 5

Ahora, también se crea su método GET. Pero aún no hemos proporcionado los pares clave-valor que hicimos en nuestro entorno de prueba. Nuestra función AWS Lambda espera tres claves y valores. Vamos a definirlos.

Haga clic en Solicitud de integración y desplácese hacia abajo hasta Plantillas de mapeo. Defina su plantilla de mapeo como se muestra a continuación. El tipo de contenido es application / json. Este es simplemente el formato de los parámetros que enviaría en su cuerpo de solicitud.

La API ahora está lista para implementarse.

Paso 6

Haga clic en Acciones e Implementar API. En la ventana emergente de implementación, seleccione Nueva etapa y proporcione un nombre y una descripción significativos.

Llegará a la pantalla a continuación con el punto final REST de su API configurado y listo para usar.

Haga clic en el punto final y el navegador enviará una solicitud a su función Lambda y mostrará la respuesta.

¡Felicidades! También ha invocado con éxito su función Lambda. Todo un logro.

¿Quién puede aprender AWS Lambda?

Ahora debe ser evidente que la función AWS Lambda requiere un poco de conocimiento sobre los servicios, la implementación de servicios, las solicitudes y las respuestas. Esto es algo básico que cualquier programador de computadoras debe saber para crear aplicaciones web. Si no tiene suficiente conocimiento sobre este tema, se recomienda obtener este conocimiento para garantizar una codificación sin problemas en AWS Lambda.

AWS también tiene documentación completa sobre todos sus servicios. Explore la documentación para una comprensión más profunda del mundo de AWS.

Carrera en AWS Lambda

No es solo Lambda, sino que todo el sector de Amazon Web Services está en auge hoy. Existe una demanda de expertos en servicios de AWS. AWS también proporciona certificaciones que se adaptan a su nivel de experiencia. Explore el sitio web de AWS para obtener más información al respecto.

Conclusión

Ahora que ha entendido los conceptos básicos de las funciones de AWS Lambda, cree más funciones e integre con otros servicios de AWS. Sigue jugando y sigue aprendiendo. ¡Salud!

Artículos recomendados

Esta ha sido una guía de Qué es AWS Lambda. En este tutorial sobre la función AWS Lambda, hemos explicado cómo configurar e implementar API. También puede consultar nuestros otros artículos sugeridos para obtener más información:

  1. ¿Qué es AWS? El | ¿Como funciona?
  2. Carrera en Azure | Educacion | Trayectoria profesional
  3. Guía de servicios de computación en la nube
  4. ¿Cuáles son las alternativas a AWS?
  5. Guía completa para proveedores de servicios de computación en la nube

Categoría: