Qué es AWS Lambda y el modelo serverless

Clase 26 de 33Curso Práctico de Cloud Computing con AWS

Resumen

Aprende en minutos qué hace única a AWS Lambda: el modelo serverless, la ejecución por funciones con endpoints, el escalado automático y el bajo mantenimiento. Además, aprovecha el primer millón de invocaciones gratis y el soporte para múltiples lenguajes para construir servicios flexibles.

¿Qué es AWS Lambda y cómo cambia el diseño de software?

AWS Lambda implementa la filosofía serverless: no administras servidores, solo funciones que realizan tareas específicas. Cada función expone un endpoint y puede conectarse a una base de datos, a otros servicios web o manejar archivos e imágenes. Es el mismo objetivo del software tradicional, pero con piezas separadas y autónomas.

  • Sin servidores que administrar: foco en la lógica y el servicio.
  • Funciones independientes: una por tarea, con su propio endpoint.
  • Resiliencia gestionada por Amazon: si una función falla, el sistema se recupera y casi no se nota.
  • Composición flexible: una función puede invocar otras funciones de Lambda o servicios externos.
  • Integración sencilla: intercambio de datos eficiente mediante JSON.

¿Qué habilidades y conceptos puedes aplicar de inmediato?

  • Diseñar servicios con funciones desacopladas y endpoints claros.
  • Definir responsabilidades pequeñas por función para mejor mantenimiento.
  • Componer flujos donde una función llama a otra.
  • Integrar bases de datos y servicios web sin acoplar el sistema.
  • Documentar contratos de datos usando JSON.

¿Cómo reduce operación, escala automáticamente y cuánto cuesta?

Lambda elimina gran parte de la operación diaria. No hay que aprovisionar servidores, ni revisar parches del sistema operativo o del runtime. El escalado se ajusta al uso: Amazon aprovisiona y propaga las funciones para atender la demanda con eficiencia.

  • Menos mantenimiento: sin parches de SO ni runtime.
  • Escalado automático según la carga.
  • Alta disponibilidad con recuperación transparente ante fallos.
  • Enfoque en el código y la funcionalidad.

En costos, destaca el primer millón de invocaciones gratis por función. Esta cuota no expira y aplica a cuentas nuevas y existentes. Es ideal para pruebas de concepto o startups con pocos usuarios al inicio. Al superar el millón, el costo sigue siendo muy económico, comparable a operar un segundo servidor en EC2.

  • 1,000,000 invocaciones gratis por función.
  • Vigente de forma continua para todas las cuentas.
  • Viable para apps web o móviles con usuarios activos moderados.
  • Costos posteriores bajos, comparables a un servidor adicional en EC2.

¿Qué lenguajes soporta y cómo integra servicios?

Lambda soporta múltiples lenguajes, lo que evita quedar atado a una sola tecnología. Puedes elegir según el caso de uso o la experiencia del equipo: Node.js, Python, Java (compatible con Java 8), C Sharp y Go. Esto facilita migrar servicios empresariales escritos en Java o C Sharp.

  • Variedad de lenguajes: Node.js, Python, Java 8, C Sharp, Go.
  • Migración factible desde entornos empresariales.
  • Elección por tarea, rendimiento y mantenibilidad.
  • Equipos multidisciplinarios pueden colaborar sin fricción.

¿Por qué JSON simplifica la interoperabilidad?

Porque el intercambio de datos se estandariza. No importa en qué lenguaje esté cada función: al comunicarse con JSON, las piezas cooperan con compatibilidad y eficiencia.

¿Listo para diseñar tu siguiente servicio con funciones pequeñas y bien definidas? Cuéntame en comentarios qué caso de uso te interesa y en qué lenguaje te gustaría implementarlo.