Este documento describe las ventajas de una arquitectura Serverless utilizando servicios de AWS como AWS Lambda, Amazon API Gateway, Amazon S3 y Amazon DynamoDB. Explica cómo estas arquitecturas permiten enfocarse en el código sin preocuparse por la administración de servidores, permitiendo una escalabilidad automática y reduciendo el tiempo de lanzamiento de nuevas aplicaciones. También presenta un caso de uso real de una empresa chilena que migró con éxito su plataforma de IoT a una arquitectura Serverless.
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx
Construyedo Aplicaciones Serverless
1. Eduardo Patiño
Arquitecto de Soluciones de Sector público
Amazon Web Services
Construyendo aplicaciones Serverless
#AWSCloudExperience
2. ¿Qué esperar de esta sesión?
• Antes de Serverless
• Arquitecturas del Siglo XXI
• Servicios Serverless
• Amazon S3
• Amazon DynamoDB
• Amazon API Gateway
• Como empezar
3. ¿Por qué los patrones de arquitecturas Serverless con AWS
Lambda son la siguiente evolución del diseño de aplicaciones?
Antecedente
8. Las herramientas para ayudar son
MUCHAS
§ 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.
9. AWS ha ayudado también!
§ 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.
10. Pero….
muchas de estas herramientas e innovaciones están
acopladas a una dependencia común…
11. §
¿Cuáles usuarios deberían
tener acceso
a m
is
servidores?
§ ¿cómo aplicare
parches?
§ ¿cuánta memoria RAM?
§
¿Esquem
a de backups?
§ ¿Balanceo de carga?
§ ¿Cambio de
configuracion?
§ ¿Y si tengo un DDoS?
§ ¿Y si la versión no
compila ?
§ ¿Tendre espacio en mi
hypervisor?
§ ¿Alta Disponibilidad de
la Base de datos?
§
¿Sera necesario tener
un DRP?§ ¿Tunning del SO y la
DB?
§ ¿quién lo va aadministrar ?
§ ¿Pero no tengo espacio
en la SAN?
§ ¿cuántos servidores
necesitare?
§
¿y si el proyecto no es
exitoso que hago con la
infraestructura?
§ ¿Y si mas bien digo que
no se puede hacer el
proyecto?
§ ¿cuántas licencias fue
que me dijeron que
necesitaba?
§
¿y
la
seguirdad
y
la
auditoria
?
§ ¿Windows o Linux?
12. • Escalamiento continuo
§ Automatizado
• Escala hacia arriba/abajoTotalmente 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
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
(Node.js, Python, Java, C# (.NET
Core) y Go
§ 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
28. "Una de las cosas que ha hecho la nube es
democratizar el acceso al poder de la tecnología". En
la nube, todos pueden tener un datawarehouse y
todos obtienen exactamente el mismo acceso al
poder de computo”.
Werner Vogels
CTO, Amazon Web Services
30. Gonzalo E. Vásquez Sáez
gvasquez@waypoint.cl
Santiago, Agosto 2018
NUESTRO CAMINO HACIA SERVERLESS
31. • FUNDADA EL AÑO 2007
• AVL + TELEMETRIA
• DESARROLLO PROPIO / CONTINUO
• SISTEMA ALIMENTADO POR LAS NECESIDADES DEL CLIENTE
(FEATURE REQUESTS)
• + 15.000 CONEXIONES EN CHILE
NUESTRA EMPRESA