stringtranslate.com

AWS Lambda

AWS Lambda es una función como servicio (FaaS) sin servidor y basada en eventos que ofrece Amazon como parte de Amazon Web Services . Está diseñada para permitir que los desarrolladores ejecuten código sin aprovisionar ni administrar servidores. Ejecuta código en respuesta a eventos y administra automáticamente los recursos informáticos que requiere ese código. Se presentó el 13 de noviembre de 2014. [1]

Especificación

Cada instancia de AWS Lambda es un contenedor creado a partir de las AMI de Amazon Linux (una distribución de Linux relacionada con RHEL ) y un tiempo de ejecución configurable. Node.js , Python , Java , Go , [2] Ruby , [3] y C# (a través de .NET ) son oficialmente compatibles a partir de 2018. A fines de 2018, se agregó compatibilidad con tiempos de ejecución personalizados [4] a AWS Lambda.

En 2019, en la conferencia anual de computación en la nube de AWS (AWS re:Invent), el equipo de AWS Lambda anunció "Concurrencia aprovisionada", una característica que "mantiene las funciones inicializadas e hiperlistas para responder en milisegundos de dos dígitos". [5] El equipo de Lambda describió la Concurrencia aprovisionada como "ideal para implementar servicios interactivos, como backends web y móviles, microservicios sensibles a la latencia o API sincrónicas". [6]

La URL de la función Lambda le proporciona a Lambda una URL única y permanente a la que pueden acceder tanto usuarios autenticados como no autenticados. [7]

AWS Lambda Layers permite a los desarrolladores administrar y compartir fácilmente componentes comunes entre múltiples funciones Lambda. Está diseñado para promover la reutilización del código y simplificar la implementación de bibliotecas, tiempos de ejecución personalizados y otras dependencias que las funciones Lambda podrían necesitar. Lambda Layers puede ser particularmente útil en arquitecturas de microservicios, donde múltiples funciones podrían compartir las mismas dependencias. [8] Al usar capas, uno puede garantizar que todas las funciones usen la misma versión de una biblioteca, lo que hace que la aplicación sea más consistente y más fácil de administrar.

Mejores prácticas

Seguir las prácticas de DevSecOps puede ayudar a los usuarios finales a utilizar y proteger las aplicaciones basadas en Lambda de forma más eficaz. [9] En las aplicaciones basadas en Lambda, la línea entre la infraestructura y la lógica empresarial es borrosa y las aplicaciones suelen estar repartidas entre varios servicios. Según Yan Cui, para obtener el máximo valor de los esfuerzos de prueba, las aplicaciones basadas en Lambda deben probarse principalmente para sus integraciones, y las pruebas unitarias deben utilizarse solo si existe una lógica empresarial compleja. Además, para facilitar la depuración y la implementación de las aplicaciones basadas en Lambda, los desarrolladores deben utilizar la orquestación dentro del contexto delimitado de un microservicio y deben utilizar la coreografía entre los contextos delimitados. [10]

Herramientas de ayuda

Lambda Live Debugger es una herramienta de código abierto que le ayuda a depurar las funciones de AWS Lambda desde su computadora mientras se implementan en la nube. Es compatible con AWS CDK v2, Serverless Framework v3, AWS Serverless Application Model (SAM) y Terraform . [11]

Seguridad

En abril de 2022, los investigadores encontraron un malware de criptominería dirigido a AWS Lambda llamado "Denonia". [12] [13] [14]

Véase también

Referencias

  1. ^ Desarrollo sin servidor en AWS Creación de soluciones sin servidor a escala empresarial . O'Reilly Media. ISBN 9781098141899.
  2. ^ Munns, Chris (15 de enero de 2018). "Anuncio de compatibilidad de Go con AWS Lambda". Amazon Web Services . Consultado el 10 de diciembre de 2019 .
  3. ^ Munns, Chris (29 de noviembre de 2018). "Anuncio de compatibilidad con Ruby para AWS Lambda". Amazon Web Services . Consultado el 10 de diciembre de 2019 .
  4. ^ "AWS Lambda ahora admite tiempos de ejecución personalizados y permite compartir código común entre funciones". Amazon Web Services . 29 de noviembre de 2018 . Consultado el 10 de diciembre de 2019 .
  5. ^ "Nuevo: concurrencia aprovisionada para funciones Lambda". aws.amazon.com . 3 de diciembre de 2019 . Consultado el 12 de octubre de 2020 .
  6. ^ "Nuevo: concurrencia aprovisionada para funciones Lambda". Amazon Web Services . 2019-12-03 . Consultado el 2020-02-03 .
  7. ^ "URL de funciones Lambda - AWS Lambda". docs.aws.amazon.com . Consultado el 1 de marzo de 2024 .
  8. ^ "Creación de microservicios SaaS sin servidor con capas de AWS Lambda | Blog de la red de socios de AWS (APN)". aws.amazon.com . 2022-08-11 . Consultado el 2024-02-02 .
  9. ^ Katzer, Jason (2020). Aprendizaje sin servidor: diseño, desarrollo e implementación con confianza . O'Reilly Media. ISBN 978-1492057017.
  10. ^ Cui, Yan (2020). Arquitecturas sin servidor en AWS (2.ª edición). Manning. ISBN 978-1617295423.
  11. ^ "Depurador en vivo de Lambda". GitHub .
  12. ^ https://www.cadosecurity.com/blog/cado-discovers-denonia-the-first-malware-specifically-targeting-lambda
  13. ^ https://indianexpress.com/article/technology/crypto/cryptocurrency-mining-malware-used-to-target-aws-lambda-research-7859739/
  14. ^ https://therecord.media/researcher-finds-cryptomining-malware-targeting-aws-lambda

Enlaces externos