Eduardo Patiño presenta sobre arquitecturas Serverless en AWS Lambda. Explica que estas arquitecturas eliminan la necesidad de administrar servidores al permitir ejecutar código sin servidores mediante servicios como AWS Lambda y Amazon API Gateway. También describe cómo una empresa llamada Masivian migró con éxito sus aplicaciones a una arquitectura Serverless en AWS, logrando ahorros significativos en costos y una mayor escalabilidad.
8. § Servidores Web
§ Librerías de código
§ Servicios Web/Frameworks de Aplicación
§ Sistemas de control de configuraciones
§ Plataformas de administración de APIs
§ Patrones de despliegue
§ Patrones de CI/CD
§ Contenedores
§ Etc. Etc. Etc.
Las herramientas para ayudar son MUCHAS
9. § Amazon EC2
§ EC2 Auto-Scaling
§ AWS Elastic Load Balancer
§ EC2 Auto-Recovery
§ AWS Trusted Advisor
§ AWS Elastic Beanstalk
§ AWS OpsWorks
§ AWS EC2 Container Service
§ Etc. Etc. Etc.
AWS ha ayudado también!
10. Pero….
muchas de estas herramientas e innovaciones están
acopladas a una dependencia común…
11. § ¿Qué tamaño de servidores son
adecuados para mi presupuesto?
§ ¿Cuántos usuarios generan mucha
carga a mis servidores?
§ ¿Cuánta capacidad sobrante le queda
a mis servidores?
§ ¿Cómo puedo detectar si un servidor
ha sido comprometido?
§ ¿Cuántos servidores debería
presupuestar?
§ ¿Cuál SO deberían tener mis
servidores?
Servidores (Ouch!)
§ ¿Cuáles usuarios deberían tener
acceso a mis servidores?
§ ¿Cómo puedo controlar el acceso
desde mis servidores?
§ ¿Quién hará los parches de SO de
mis servidores?
§ ¿Cómo despliegará el nuevo
código a mis servidores?
§ ¿Cómo puedo incrementar la
utilización de mis servidores?
§ ¿Cuándo debería decidir escalar
el número de servidores?
§ ¿Qué tamaño de servidor es
adecuado para mi rendimiento?
§ ¿Debo de ajustar los valores del SO
para optimizar mi aplicación?
§ ¿Qué paquetes deben estar creados
en las imágenes?
§ ¿Cuándo debería decidir crecer mis
servidores?
§ ¿Cómo controlo los cambios en la
configuración del servidor?
§ ¿Cómo las aplicaciones soportarán
fallas en el Hardware?
12. • Totalmente administrado
§ No aprovisionamiento
§ Cero administración
§ Alta disponibilidad
• Productividad del desarrollador
§ Enfocarse en el código que importa
§ Innovar rápidamente
§ Reducir el time to market
Arquitectura para ser Serverless
• Escalamiento continuo
§ Automatizado
§ Escala hacia arriba/abajo
19. Muchas opciones sin servidores
Storage DatabaseNetwork
Compute
Content Delivery
Messaging and QueuesSecurity
Gateways
User Management Monitoring & Logging
Internet of Things
Machine Learning
Streaming Analytics
20. Muchas opciones sin servidores
Storage DatabaseNetwork
Compute
Content Delivery
Messaging and QueuesSecurity
Gateways
User Management Monitoring & Logging
Internet of Things
Machine Learning
Streaming Analytics
21. • Procesamiento sin aprovisionar servidores
• Administración totalmente automatizada
• Creación de servicios backend con su propio código
• Escalamiento automático y seguridad integrada
• Integración con múltiples eventos AWS
Casos de uso
• Procesamiento de datos y archivos
• Extracciones, transformaciones y carga de datos
• Backends de IoT y aplicaciones móviles
AWS Lambda
22. § Su código
(Java, NodeJS, Python, C#)
§ El rol de IAM que toma el
código durante la ejecución
§ La cantidad de memoria
reservada a su código (afecta
CPU y red también)
La función Lambda
Una función completa
Lambda válida
23. § ¿Cuándo se debe ejecutar su función?
§ Muchos servicios de AWS pueden ser eventos hoy:
• S3
• Kinesis
• DynamoDB
• CloudWatch
• Config Rules
• Amazon Echo y IoT
• Etc
• …y Amazon API Gateway (más adelante)
Integración con múltiples eventos AWS
24. • Almacenamiento con 99.999999999% de durabilidad
• Diferentes clases de almacenamiento
• Múltiples mecanismos de control de acceso
• Soporte de cifrado de datos en transito y reposo
• Versionado y ciclo de vida de los objetos
• Soporte de eventos integrados con AWS Lambda
Casos de uso
• Sitios web estáticos (frontend)
• Almacenamiento de archivos de los usuarios
Amazon S3
25. • Base de datos no relacional administrada
• Rápido rendimiento a cualquier escala
• Completamente administrado
• Control de acceso granular
• Soporta eventos integrados con AWS Lambda
Casos de uso
• Almacenamiento de datos de usuarios
• Manejo de sesiones de usuario
Amazon DynamoDB
26. • Servicio administrado de APIs a escala
• Ejecución de APIs sin servidores
• Alto rendimiento a cualquier escala
• Controles de seguridad flexibles
• Soporta eventos integrados con AWS Lambda
• Integración con funciones AWS Lambda
Casos de uso
• Punto de acceso central para sus aplicaciones
• Integración de aplicaciones
Amazon API Gateway
39. ¿Qué hacemos?
Masivian
Somos una empresa que conecta a
otras empresas y sus clientes a través de
medios virtuales de comunicación.
Estos son algunos de nuestros servicios:
SMS EMAIL VOICE
40. Volumen de transacciones
Masivian
Por las diferentes formas de conexión
(API HTTP, FTP, Website) mensualmente
tenemos:
+ 400 millones de mensajes.
+ 2000 millones de eventos.
43. Transición
• Sinergia
• Tecnologías Privativas vs OpenSource.
SQLServer, MySQL, RabbitMQ, IIS, Apache.
• Problemas de Costo /
Eficiencia a causa de las plataformas y herramientas.
• Mantenimiento de la operación y el monitoreo.
Escalabilidad vertical y horizontal.
Reto
45. AWS Serverless
Logros
• Hablar el mismo lenguaje nos permitió aumentar la
productividad y orquestar el equipo.
• Concentración de recursos en el CORE de la empresa.
Eficiencia.
• $1700 USD vs $20 USD al mes