AWS Lambda es un servicio de cómputo sin servidor que ejecuta código en respuesta a eventos y administra automáticamente los recursos de cómputo subyacentes. Puede usar AWS Lambda para ampliar otros servicios de AWS con lógica personalizada, o bien para crear servicios backend propios que funcionen con el nivel de seguridad, rendimiento y escala de AWS. AWS Lambda puede ejecutar código automáticamente en respuesta a varios eventos, como solicitudes HTTP a través de Amazon API Gateway, modificaciones de los objetos en buckets de Amazon S3, actualizaciones de tablas en Amazon DynamoDB y transiciones de estado en AWS Step Functions.

Lambda ejecuta el código en una infraestructura informática de alta disponibilidad y se encarga de la administración integral de los recursos informáticos, incluido el mantenimiento del servidor y del sistema operativo, el aprovisionamiento de capacidad y el escalado automático, la implementación de parches de seguridad y código, así como la monitorización de código y los registros. Lo único que tiene que hacer es proporcionar el código.

Funciones de AWS Lambda

¿Qué es una función de Lambda?

El código que se ejecuta en AWS Lambda se conoce como “función de Lambda”. Después de crear una función de Lambda, esta siempre estará lista para ejecutarse en cuanto se active, de manera similar al funcionamiento de una fórmula en una hoja de cálculo. Cada función incluye código y cierta información de configuración asociada, incluidos el nombre de la función y los requisitos en materia de recursos. Las funciones de Lambda “no tienen estado” ni afinidad con la infraestructura subyacente, por lo que Lambda puede lanzar rápidamente tantas copias de la función como resulten necesarias para ajustar la escala según la velocidad de los eventos entrantes.

Después de cargar el código en AWS Lambda, puede asociar la función a recursos específicos de AWS, como un bucket particular de Amazon S3, una tabla de Amazon DynamoDB, una transmisión de Amazon Kinesis o una notificación de Amazon SNS. Tras ello, cuando el recurso cambie, Lambda ejecutará la función y administrará los recursos de cómputo según sea necesario para atender las solicitudes entrantes.

Características clave del producto

Amplíe la funcionalidad de otros servicios de AWS con lógica personalizada

AWS Lambda permite añadir lógica personalizada a los recursos de AWS, como los buckets de Amazon S3 y las tablas de Amazon DynamoDB, lo que facilita la aplicación de recursos de cómputo a los datos a medida que entran en la nube o transitan por esta.

Es fácil comenzar a utilizar AWS Lambda. Primero debe crear la función. Para ello, cargue el código (o compílelo directamente en la consola de Lambda) y elija la capacidad de memoria, el tiempo de espera y el rol de AWS Identity and Access Management (IAM). A continuación, especifique el recurso de AWS para activar la función. Este puede ser un bucket concreto de Amazon S3, una tabla de Amazon DynamoDB o una transmisión de Amazon Kinesis. Cuando el recurso cambie, Lambda ejecutará la función y, tras ello, lanzará y administrará los recursos de cómputo según sea necesario para atender las solicitudes entrantes.

Cree servicios backend personalizados

Puede utilizar AWS Lambda para crear nuevos servicios backend para las aplicaciones que se activan bajo demanda con la API de Lambda o los puntos de enlace de API personalizados creados mediante Amazon API Gateway. Al utilizar Lambda para procesar eventos personalizados, en lugar de atenderlos del lado del cliente, es posible evitar variaciones de la plataforma cliente, reducir la descarga de la batería y facilitar las actualizaciones.

Utilice su propio código

Con AWS Lambda, no es necesario aprender lenguajes, herramientas ni marcos nuevos. Puede usar cualquier biblioteca de terceros, incluso las nativas. También puede empaquetar cualquier código (marcos, SDK, bibliotecas, etc.) como una capa de Lambda, y administrarlo y compartirlo fácilmente a través de múltiples funciones. Lambda es compatible de forma nativa con Java, Go, PowerShell, Node.js, C#, Python y el código Ruby, y proporciona una API de tiempo de ejecución que permite utilizar cualquier lenguaje de programación adicional para crear las funciones.

Administración completamente automatizada

AWS Lambda administra toda la infraestructura para ejecutar el código en una infraestructura de alta disponibilidad y tolerante a errores, lo que le permite centrarse únicamente en la compilación de servicios backend que marcan la diferencia. Con Lambda, jamás tendrá que actualizar el sistema operativo subyacente cuando se lance un parche, así como no tendrá que preocuparse por ajustar el tamaño o agregar nuevos servidores a medida que aumente el uso. AWS Lambda implementa sin problemas el código, realiza todas las tareas relacionadas con la administración, el mantenimiento y los parches de seguridad, y ofrece monitoreo y registros integrados a través de Amazon CloudWatch.

Tolerancia a errores integrada

AWS Lambda mantiene la capacidad de cómputo en varias zonas de disponibilidad en cada región para ayudar a proteger el código frente a fallos individuales en equipos o en las instalaciones del centro de datos. Tanto AWS Lambda como las funciones que se ejecutan en el servicio ofrecen un rendimiento operativo predecible y confiable. AWS Lambda está diseñado para ofrecer alta disponibilidad tanto para el servicio mismo como para las funciones que opera. No hay periodos de mantenimiento ni tiempos de inactividad programados.

Empaquetar e implementar funciones como imágenes de contenedor

AWS Lambda admite funciones de empaquetado e implementación como imágenes de contenedor, lo que facilita a los clientes la creación de aplicaciones basadas en Lambda mediante el uso de herramientas, flujos de trabajo y dependencias de imágenes de contenedores conocidos. Los clientes también se benefician de la simplicidad operativa, el escalado automático con tiempos de inicio inferiores a un segundo, la alta disponibilidad, las integraciones nativas con más de 200 servicios de AWS y aplicaciones SaaS, así como del modelo de facturación de pago por uso que ofrece AWS Lambda. Los clientes empresariales pueden usar un conjunto coherente de herramientas con sus aplicaciones Lambda y en contenedores para los requisitos de gobernanza central, como el análisis de seguridad y la firma de imágenes.

Escalado automático

AWS Lambda invoca el código solo cuando es necesario y ajusta la escala automáticamente para admitir la tasa de solicitudes entrantes sin que sea necesario que el usuario realice configuraciones adicionales. No hay ningún límite en cuanto al número de solicitudes que el código puede gestionar. AWS Lambda por lo general comienza a ejecutar el código al cabo de unos milisegundos después de un evento. Dado que Lambda ajusta la escala de forma automática, el rendimiento se mantiene constantemente alto a medida que aumenta la frecuencia de los eventos. Dado que el código no tiene estado, Lambda puede iniciar tantas instancias como sean necesarias sin implementaciones largas ni retrasos en la configuración.

Conéctese a las bases de datos relacionales

Utilice el proxy de Amazon RDS para aprovechar los grupos de conexiones completamente administrados para las bases de datos relacionales. El proxy de RDS administra de forma eficiente miles de conexiones simultáneas de bases de datos con bases de datos relacionales, lo que facilita la creación de aplicaciones sin servidor basadas en Lambda que sean seguras y altamente escalables, y además que necesiten interactuar con las bases de datos relacionales. En la actualidad, el proxy de RDS ofrece compatibilidad con MySQL y Aurora. Puede usar el proxy de RDS para las aplicaciones sin servidor a través de la consola de Amazon RDS o de la consola de AWS Lambda.

Control detallado del rendimiento

La simultaneidad aprovisionada brinda un mayor control sobre el rendimiento de las aplicaciones sin servidor. Cuando se habilita, la simultaneidad aprovisionada mantiene las funciones activadas y en el mayor estado de preparación para responder en milisegundos de dos dígitos. La simultaneidad aprovisionada es ideal para cualquier aplicación creada con AWS Lambda que necesite un mayor control sobre la hora de inicio de las funciones. Puede configurar fácilmente la cantidad de simultaneidad adecuada de acuerdo con las necesidades de sus aplicaciones. Puede incrementar el nivel de simultaneidad durante los periodos de alta demanda y disminuirlo o, directamente, desactivar la simultaneidad por completo, cuando la demanda decrece. No es necesario cambiar su código para aprovechar la simultaneidad aprovisionada. La simultaneidad aprovisionada es una manera eficiente de lograr, en la medida que sea necesario, un rendimiento constante para las aplicaciones que son sensibles a la latencia, sin tener que administrar recursos de cómputo.

Conéctese a sistemas de archivos compartidos

Con Amazon Elastic File System para AWS Lambda, puede hacer lecturas y escrituras en grandes volúmenes de datos, además de conservarlos, con un nivel de latencia bajo, a cualquier escala. No debe escribir código si necesita descargar datos para almacenarlos temporalmente con el objetivo de procesarlos. Este método ahorra tiempo y simplifica el código, lo que le permite enfocarse en su lógica empresarial. EFS para Lambda es ideal para crear aplicaciones de aprendizaje automático o cargar modelos o archivos de referencia de gran tamaño, procesar grandes volúmenes de datos o crear copias de seguridad de ellos, alojar contenido web o compartir archivos entre aplicaciones sin servidor e instancias o aplicaciones basadas en contenedores.

Ejecute código en respuesta a solicitudes de Amazon CloudFront

Con Lambda@Edge, AWS Lambda puede ejecutar el código en ubicaciones de AWS globales en respuesta a eventos de Amazon CloudFront, como solicitudes de contenido hacia o desde lectores o servidores de origen. Esto facilita la distribución de contenido más completo y personalizado con menor latencia a usuarios finales. Más información »

Organice diferentes funciones

Puede coordinar varias funciones de AWS Lambda para tareas complejas o largas mediante la creación de flujos de trabajo con AWS Step Functions. Step Functions le permite definir flujos de trabajo capaces de activar diferentes funciones de Lambda mediante el uso de pasos secuenciales, paralelos, bifurcados o con control de errores. Con Step Functions y Lambda, podrá crear procesos completos y de larga duración para aplicaciones y backends.

Modelo de seguridad integrado

AWS Lambda permite que el código obtenga acceso de forma segura a otros servicios de AWS a través del SDK de AWS incorporado y mediante la integración con AWS Identity and Access Management (IAM). AWS Lambda ejecuta el código dentro de una VPC de manera predeterminada. Opcionalmente, también puede configurar AWS Lambda para obtener acceso a los recursos que haya detrás de su propia VPC. Esto permite aprovechar los grupos de seguridad personalizados y las listas de control de acceso a la red para proporcionar a las funciones de Lambda acceso a los recursos dentro de una VPC.

AWS Lambda cumple los requisitos de SOC, HIPAA, PCI e ISO. Para conocer las novedades sobre la preparación para la certificación y la conformidad de Lambda, consulte la lista de todos los servicios en el ámbito.

Controles de confianza e integridad

La firma de código para AWS Lambda ofrece controles de confianza e integridad que permiten verificar que solo se implemente código inalterado publicado por desarrolladores aprobados en sus funciones de Lambda. Simplemente cree artefactos de código firmados digitalmente y configure sus funciones de Lambda para verificar las firmas en la implementación. Esto ayuda a aumentar la velocidad y agilidad del desarrollo, incluso dentro de grandes equipos de desarrollo, a la vez que aplica elevados estándares de seguridad.

Pague solo por lo que utilice

Con AWS Lambda, se paga por la duración de la ejecución y no por la unidad de servidor. Cuando utiliza las funciones de Lambda, solo paga por las solicitudes atendidas y por el tiempo de cómputo necesario para ejecutar el código. La facturación se mide en incrementos de 1 milisegundo, por lo que resulta rentable y sencillo escalar de forma automática de unas pocas solicitudes por día a miles de solicitudes por segundo. En el caso de la simultaneidad aprovisionada, paga por la cantidad de simultaneidad que configura y por el periodo por el que lo hace. Cuando la simultaneidad aprovisionada está habilitada para su función y se ejecuta, también paga por las solicitudes y por la duración de la ejecución. Para obtener más información sobre los precios, consulte los precios de AWS Lambda.

Modelo de recursos flexible

Usted elije la capacidad de memoria que desea asignar a las funciones y AWS Lambda asigna la capacidad proporcional de la CPU, el ancho de banda de red y las operaciones de E/S del disco.

Integre Lambda con sus herramientas operativas favoritas

Las extensiones de AWS Lambda le permiten integrar Lambda con sus herramientas favoritas de monitoreo, observabilidad, seguridad y gobernanza. Las extensiones se ejecutan dentro del entorno de ejecución de Lambda, es decir, donde se ejecuta el código de la función. Con las extensiones de Lambda, puede capturar información de diagnóstico detallada y enviar registros de funciones, métricas y seguimientos a la ubicación que elija. También puede integrar agentes de seguridad dentro del entorno de ejecución de Lambda, sin gastos operativos y con un impacto mínimo en el rendimiento de las funciones.

Obtenga más información sobre los precios de AWS Lambda

Visite la página de precios
¿Está listo para comenzar?
Regístrese
¿Tiene más preguntas?
Contacte con nosotros