AWS Lambda
AWS LAMBDA
AWS Lambda se presentó por primera vez en 2014, en la conferencia anual AWS re: Invent en Las Vegas. La idea en ese entonces, y que es bastante cierta incluso hoy en día, es que Lambda es un servicio informático simple que ejecuta su código en respuesta a ciertos eventos.
Estos eventos pueden ser cualquier cosa, desde una operación de carga de un objeto hasta un depósito de S3, un inserción de registros en una tabla de DynamoDB, o incluso algún tipo de evento desencadenado desde su aplicación movil. La idea aquí es simple: simplemente proporcione su código a AWS Lambda.
Lambda se encargará internamente del aprovisionamiento y la gestión de los recursos de infraestructura, asegurándose de que su código se implemente correctamente; incluso cosas como La escalabilidad y alta disponibilidad de su código están a cargo de Lambda.
Lambda fue presentado especialmente por AWS para responder a un problema muy particular con EC2. Aunque EC2 sigue siendo uno de los servicios centrales de AWS más utilizados. Diseñado para manejar o responder a eventos; algo que se requiere la mayoría de las veces en aplicaciones de hoy. Por ejemplo, una simple actividad de carga de imágenes en un depósito de S3 desencadena alguna forma de operación, como comprobar si el objeto es realmente una imagen válida, o si contiene virus o malware no deseado. Incluso puede tener el requisito de crear miniaturas de la imagen cargada y colocarla en su sitio web. Ahora imagina una instancia EC2 que realiza todas estas actividades por usted. En primer lugar, tendrías que programar algunos mecanismo para que S3 notifique a sus instancias EC2 para realizar comprobaciones periódicas en su bucket S3, ya que EC2 no tiene forma de saber cuándo se ha cargado un nuevo objeto.
Como trabaja Lambda?
Bueno, sabemos con certeza que Lambda alimenta su código en algún tipo de contenedor de tecnología que explica cómo AWS puede hacer que funcione tan rápido en comparación con ejecutar su código en instancias EC2 estándar. Estos contenedores giran sobre la base Instancias EC2 que se crean a partir de una imagen común (AMI de Amazon Linux). Una vez más, no podemos controlar ni ver estos contenedores o Instancias EC2; son administrados por la propia AWS.
En el corazón del contenedor está su código, que, como regla general, debe escribirse específicamente para realizar una sola tarea o unos pocos procesos simples; similar a como lo harías, escribe funciones en tu código normal. Por tanto, cada proyecto de Lambda denominada función Lambda, o simplemente función. AWS admite Java, Python, Node.js e incluso C # como lenguajes de programación para sus funciones.
Cada función puede invocarse a pedido o invocarse dinámicamente en función de ciertos tipos de eventos admitidos. A continuación se enumeran algunos ejemplos de eventos:
- Amazon S3: las funciones Lambda se pueden activar cuando se crea un objeto, actualizado o eliminado en un depósito de S3.
- Amazon DynamoDB: las funciones Lambda se activan cuando se realizan actualizaciones en una tabla de DynamoDB en particular, como la inserción, eliminación de filas, etc.
- Amazon Simple Notification Service (SNS): active una función Lambda cuando el mensaje se publica en un topico de SNS.
- Amazon CloudWatch Logs: utilice las funciones de Lambda para procesar los registros de CloudWatch como feeds.
- Eventos programados: ejecute funciones de Lambda como eventos programados, como un cron job.
- AWS CodeCommit: ejecute funciones de Lambda cada vez que se envíe un nuevo código a una rama existente, etc.
Al crear funciones de Lambda, debe especificar la cantidad de recurso de memoria que la función requerirá, así como el tiempo aproximado que se tardará en ejecutarse antes de cronometrar fuera. La memoria se puede configurar de 128 MB a 1.5 GB de RAM y los tiempos de espera en cualquier lugar
desde un segundo hasta un máximo de 300 segundos. Tanto los valores de memoria como de duración son superiores límites a su función Lambda, lo que significa que si ha asignado 512 MB de RAM para
su función, no significa que la función tendrá que usar todos los 512 MB. Puede funcionar en cualquier valor de hasta 512 MB de publicación que Lambda simplemente le arrojará un mensaje de error que indica que su función se quedó sin memoria. Lo mismo se aplica a la duración de su función como bien. Puede configurar su función en tiempo de espera después de 60 segundos y la función solo puede ejecutarse durante, digamos, 10 segundos. Sin embargo, si su función no completa su procesamiento antes de 60 en segundo lugar, Lambda volverá a agotar el tiempo de espera y le mostrará un mensaje de error.
Sin embargo, es importante tener en cuenta que variar la cantidad de memoria para su función o la duración del tiempo de espera también afecta el costo de su función Lambda.
Comentarios
Publicar un comentario