Qué es Lambda de Amazon y por qué es serverless

Clase 12 de 36Curso Práctico de AWS Cloud

Resumen

Lambda de Amazon permite ejecutar código con confianza y sin administrar servidores. Con un enfoque serverless, te concentras en la lógica mientras Amazon gestiona memoria, CPU y escalado. Además, ofrece monitoreo continuo, múltiples runtimes y un generoso nivel gratuito para empezar sin fricción.

¿Qué es Lambda y cómo encaja en el modelo serverless?

Lambda se entiende mejor como un lugar donde subes una función con una tarea muy específica. No administras servidores ni eliges máquinas. Amazon decide dónde corre y escala automáticamente si llegan más peticiones al mismo tiempo.

  • Funciones pequeñas y enfocadas.
  • Relación natural con microservicios: cada función cubre una funcionalidad independiente.
  • No existe “mi servidor de Lambda”. Amazon lo ejecuta donde convenga.
  • Si llegan mil llamadas concurrentes, la infraestructura crece al momento para atenderlas.

¿Qué ventajas prácticas aporta este enfoque?

  • En desarrollo, responde solo a tus pruebas.
  • En producción, sube recursos cuando hay picos de tráfico.
  • Te olvidas de cuánta RAM o CPU configurar previamente.

¿Qué límites, recursos y aislamiento ofrece Lambda?

Aunque es una infraestructura compartida, cada ejecución ocurre en microambientes virtuales independientes, tipo sandbox. Tu código, CPU y RAM están aislados del de otras personas.

¿Cómo asigna memoria y CPU?

  • Memoria inicial: 128 MB por función.
  • Crecimiento automático: puede subir “más y más” hasta 3 GB si se requiere.
  • Límite de CPU/tiempo: 300 segundos por ejecución; si se excede, se termina el proceso.
  • Almacenamiento temporal: disponible /tmp para la ejecución.

¿Qué pasa con la concurrencia y el escalado?

  • Por defecto: 1000 ejecuciones en paralelo.
  • Es posible solicitar aumento a soporte si necesitas más.
  • Llamadas secuenciales: consideradas ilimitadas.
  • Caso típico: con 100 000 usuarios en el día y ventanas de 10 horas, se distribuyen las llamadas y el sistema responde sin problema al estar escalonadas.

¿Cómo protege el aislamiento y el entorno?

  • Infraestructura compartida con aislamiento fuerte.
  • Ni ves el código de otros ni otros ven el tuyo.
  • Recursos dedicados por ejecución: “tu pedacito” de CPU y RAM.

¿Qué runtimes y monitoreo incluye, y cuáles son los beneficios?

Amazon soporta varios lenguajes y monitorea tu función para mejorar el desempeño. También aprende de tus patrones de uso para asignar mejor los recursos en siguientes invocaciones.

¿Qué runtimes soporta Amazon?

  • Node.js en varias versiones: 6, 8 y 10.
  • Java y Python.
  • C Sharp con .NET Core exclusivamente.
  • Go.

¿Cómo monitorea y optimiza tu función?

  • Reporta RAM utilizada y tiempo de ejecución en cada llamada.
  • Identifica picos iniciales: “necesita mucha CPU de entrada” o “mucha RAM de entrada”.
  • En siguientes invocaciones, asigna más recursos desde el inicio para optimizar el arranque.

¿Qué beneficios de costo inicial tienes?

  • Un millón de ejecuciones gratuitas al mes.
  • Ejemplo útil: con mil llamadas diarias, difícilmente agotas ese millón en un mes.
  • Además, verás métricas de desempeño para detectar mejoras.

¿Tienes un caso de uso en mente o dudas sobre límites y escalado? Cuéntalo en los comentarios y enfoquémoslo juntos.