O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Comenzando con Arquitecturas sin servidores

149 visualizações

Publicada em

Comenzando con Arquitecturas sin servidores - https://aws.amazon.com/es/lambda/

Más informacion: http://aws.amazon.com/es/colombia/

Publicada em: Tecnologia
  • Seja o primeiro a comentar

Comenzando con Arquitecturas sin servidores

  1. 1. Comenzando con arquitecturas sin servidores Ivan Salazar, Enterprise Solutions Architect
  2. 2. Antecedente ¿Por qué los patrones de arquitecturas Serverless con AWS Lambda son la siguiente evolución del diseño de aplicaciones?
  3. 3. La arquitectura monolítica
  4. 4. La arquitectura orientada a servicios Capa de presentación Capa lógica Capa de datos
  5. 5. La arquitectura de microservicios
  6. 6. Evolución del cómputo en la nube hacia “Serverless”
  7. 7. Evolución del cómputo – Nube pública InfraestructuraInstancias Código de la aplicación
  8. 8. Evolución del cómputo – Contenedores InfraestructuraInstancias Código de la aplicaciónContenedores
  9. 9. Evolución del cómputo – Serverless Código de la aplicación
  10. 10. Las herramientas para ayudar son MUCHAS  Servidores Web  Librerías de código  Servicios Web/Frameworks de Aplicación  Herramientas de administración de configuraciones  Plataformas de administración de APIs  Patrones de despliegue  Patrones de CI/CD  Contenedores  Etc. Etc. Etc.
  11. 11. 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.
  12. 12. Pero…. muchas de estas herramientas e innovaciones están acopladas a una dependencia común…
  13. 13. Servidores (Ouch!)  ¿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?  ¿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?
  14. 14. Arquitectura para ser Serverless Totalmente administrado  No provisionamiento  Cero administración  Alta disponibilidad Productividad del desarrollador  Enfocarse en el código que importa  Innovar rápidamente  Reducir el time to market Escalamiento continuo  Automatizado  Escala hacia arriba/abajo
  15. 15. Anatomía de una aplicación Web
  16. 16. ¿Qué conforma a una aplicación Web? Vamos a separarlo…
  17. 17. ¿Qué conforma a una aplicación Web?
  18. 18. ¿Qué conforma a una aplicación Web?
  19. 19. ¿Qué conforma a una aplicación Web?
  20. 20. Aplicación Web Serverless
  21. 21. ¿A dónde se fueron los servidores?
  22. 22. Sitio web estático hospedado en S3  Especifique un documento índice (ej. index.html)  Especifique un documento de error  Los objetos deben ser de lectura pública  Soporta redireccionamientos  Todas las solcitudes  Condicional bucket with objects
  23. 23. Configuración dinámica Una buena opción:  Obtener configuraciones de DynamoDB  Escriba los valores a variables globales  El código utiliza las variables globales Lambda Function Amazon DynamoDB
  24. 24. DynamoDB – recordatorio  Base de datos NoSQL  Llaves: Hash Key y Range Key (opcional)  Tips:  Planeé sus llaves  Piense en sus queries
  25. 25. AWS Lambda
  26. 26. Servicio de cómputo, detonado por eventos y sin servidores Lambda = microservicios sin servidores
  27. 27. Componentes de Lambda  Una función Lambda (que usted escribe)  Un evento externo  El servicio AWS Lambda  Un ambiente de red para la función
  28. 28. La función Lambda  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) Una función completa Lambda válida
  29. 29. Un evento externo  ¿Cuándo se debe ejecutar su función?  Muchos servicios de AWS pueden ser eventos hoy: • S3 • Kinesis • SNS • DynamoDB • CloudWatch • Config Rules • Amazon Echo • IoT • Etc. • …y Amazon API Gateway (más adelante)
  30. 30. El servicio AWS Lambda  Ejecuta el código de su función sin que tenga que administrar o escalar servidores.  Provee un API para detonar la ejecución.  Asegura que la función es ejecutada cuando se detona, en paralelo, sin importar la escala.  Provee capacidade adicionales para su función (logs, monitoreo).
  31. 31. Ambiente de red para la función Default – un ambiente de red por defecto dentro de VPC está incluido  El acceso a Internet siempre está permitido para su función  Sin acceso a componentes contenidos en una VPC propia Customer VPC – Su función se ejecuta dentro del contexto de su propia VPC  Comunicación privada con otros recursos dentro de su VPC  Configuración y comportamiento familiar con: – Subnets – Elastic Network Interfaces (ENIs) – EC2 Security Groups – VPC Route Tables – NAT Gateway
  32. 32. Muchas opciones sin servidores Storage DatabaseNetwork Compute Content DeliveryMessaging and QueuesSecurity Gateways User Management Monitoring & Logging Internet of Things Machine Learning Streaming Analytics
  33. 33. Amazon API Gateway
  34. 34. Un servicio totalmente administrado para APIs Crear Configurar Publicar Mantener Monitorear Seguro
  35. 35. Demo AWS Lambda Function web browser Amazon S3 Contenido dinámico Serverless Webform Amazon API Gateway HTML estático Amazon DynamoDB
  36. 36. Patrones de arquitecturas “Serverless”  Microservicios  Backend de aplicaciones móviles  Procesamiento de datos  Sitios Web  APIs  Analíticos en tiempo real  Procesamiento de multimedia
  37. 37. Microservicios
  38. 38. Backend de aplicaciones móviles
  39. 39. Upload to S3 S3 Bucket Lambda S3 Notification Compressed Image Compress Image Upload back to S3 Procesamiento de datos
  40. 40. Static Content Dynamic Content API Gateway Lambda DynamoDB Sitio Web “Serverless”
  41. 41. Internet Mobile Apps Websites Services AWS Lambda functions API Gateway Cache Endpoints on Amazon EC2 Any other publicly accessible endpoint Amazon CloudWatch Amazon CloudFront Amazon API Gateway API “Serverless” con API Gateway
  42. 42. Motor de analíticos en tiempo real
  43. 43. CloudFront S3 Ingest Lambda functions HQ Copy 480p Transcode 360p Transcode Audio Only Transcode S3 Playback CloudFront streaming Thumbnails Procesamiento de archivos de video
  44. 44. ¡Nuevo! AWS Step Functions
  45. 45. Beneficios de AWS Step functions Diagnostique y rastreé problemas más rápìdo Adáptese al cambio Fácil de conectar y coordinar componentes distribuidos y microservicios para crear aplicaciones más rápido Administra la operación e infraestructura de la coordinación de servicios para asegurar la disponibilidad Productividad Agilidad Resiliencia
  46. 46. Una invitación…
  47. 47. ¡Construya algo! Amazon API Gateway AWS Lambda Amazon DynamoDB Si le gustaría participar en eventos, actividades y webinars y más acerca de “Serverless”… Contacto: ivansal@amazon.com
  48. 48. Remember to complete your evaluations! ¡No olvide llenar su evaluación!
  49. 49. ¡Gracias!

×