afiliadas. Todos los derechos reservados . Los inicios de “Serverless” 2006 Lanzamiento de Amazon S3 Lanzamiento de AWS SQS 2008 Amazon EC2 en producción 2014 AWS Lambda preview 2015 AWS Lambda – Generally Available
afiliadas. Todos los derechos reservados . Desarrollo de software en la nube en estos días Requiere cierta experiencia en la nube • Desarrollo para servicios distribuídos • Administrar fallos a larga escala (resilience) • Manejo de errores (error handling) • Administrar una alta disponibilidad (availability) • Administrar un rendimiento óptimo (performance) • Administrar una larga flota de capacidades de cómputo efímeras y almacenamiento • Conectividad en redes y permisos (networking & roles/policies)
afiliadas. Todos los derechos reservados . Well-Architected Framework orientado a Serverless Disponibilidad Utilización de recursos Escalabilidad Seguridad Rendimiento
afiliadas. Todos los derechos reservados . Evolucionando el uso de soluciones en la nube Componentes de infraestructura • Balanceadores • Tipos de instancias (EC2) • Componentes de red • Almacenamiento en disco • Reglas de firewall Aplicaciones • Bases de datos • Funciones • Colas / Streams • Servicios administrados • Flujos de trabajo (workflows) • Eventos
afiliadas. Todos los derechos reservados . Serverless como un: Pensamiento estratégico Un forma, una práctica, una cultura, una forma de trabajar Foco Entrega de valor al negocio en vez de un solo ser un habilitador tecnológico
afiliadas. Todos los derechos reservados . Serverless como un: Modelo de operación Sin la administración de capacidades complejas de infraestructura Construye en la nube, no solo dentro de la nube
afiliadas. Todos los derechos reservados . Una aplicación serverless Node.js Python Java .NET Go Ruby Rust PowerShell Runtime API Function Event source Cambios en el estado de la data Solicitudes hacia endpoints Cambios en el estado de un recurso
afiliadas. Todos los derechos reservados . Una aplicación serverless Node.js Python Java .NET Go Ruby Rust PowerShell Runtime API Function Event source Cambios en el estado de la data Solicitudes hacia endpoints Cambios en el estado de un recurso Services
afiliadas. Todos los derechos reservados . Una aplicación serverless Event source Cambios en el estado de la data Solicitudes hacia endpoints Cambios en el estado de un recurso Services
afiliadas. Todos los derechos reservados . What should my function contain? /getuser /getusers /getproduct /getproducts /createuser /updateuser /createproduct /updateproduct /deleteuser /deleteproduct Agrupar funciones por: • Contexto (bound contexts) • Organización del equipo • Grupo de permisos IAM • Dependencias comunes en el downstream • Tiempo en el que deben inicializarse • Configuración de memoria
afiliadas. Todos los derechos reservados . ¿Qué es AWS Lambda? • Provee tu código o imagen • Paga por milisegundo • Empaqueta como un .zip file (250 MB) o como un container image (10 GB) • Soporta lenguajes como (Java, Go, Node.js, .NET, Python, Ruby) • Sin aprovisionamiento o administración de servidores • Escalamiento en milisegundos en respuesta al tráfico ES LA FORMA MÁS RÁPIDA DE CONSTRUIR APLICACIONES MODERNAS CON EL MÁS BAJO COSTO DE OPORTUNIDAD
afiliadas. Todos los derechos reservados . ¿Qué es AWS Lambda? ES LA FORMA MÁS RÁPIDA DE CONSTRUIR APLICACIONES MODERNAS CON EL MÁS BAJO COSTO DE OPORTUNIDAD • Función a ejecutarse después de la invocación • Contiene la información enviada durante la invocación de la lambda Event (object) • Metadata para obtener información del runtime (requestId, authorizers, log group, etc) Handler Context (object)
afiliadas. Todos los derechos reservados . Habilitar AWS X-Ray en tus funciones lambda const AWSXRay = require('aws-xray-sdk-core’); const AWS = AWSXRay.captureAWS(require('aws-sdk')); // Capture all outgoing https requests AWSXRay.captureHTTPsGlobal(require('https')); const https = require('https'); Habilitar Xray para obtener información del rendimiento actual de las lambdas
afiliadas. Todos los derechos reservados . AWS Lambda con Cpu Graviton 2 https://aws.amazon.com/blogs/aws/aws-lambda-functions-powered-by-aws-graviton2-processor-run-your-functions- on-arm-and-get-up-to-34-better-price-performance/
afiliadas. Todos los derechos reservados . https://aws.amazon.com/blogs/aws/aws-lambda-functions-powered-by-aws-graviton2-processor-run-your-functions- on-arm-and-get-up-to-34-better-price-performance/ AWS Lambda Provisioned Concurrency Concurrency: Es el número de requests que tu función puede manejar al mismo tiempo Reserved Concurrency: Es el máximo número de instancias concurrentes que quieres habilitar para tu función lambda. Esto no incurre en costos. Provisioned Concurrency: Es el número de entornos de ejecución pre- inicializadas que quieres habilitar para tu función lambda. Si incurre en costos.