SlideShare a Scribd company logo
1 of 47
Comenzando con
arquitecturas sin servidores
Eduardo Delgado,
Solutions Architect
Julio , 2017
Antecedente
¿Por qué los patrones de arquitecturas Serverless con AWS Lambda son
la siguiente evolución del diseño de aplicaciones?
La arquitectura monolítica
La arquitectura orientada a servicios
Capa de presentación Capa lógica
Capa de datos
La arquitectura de microservicios
Evolución del cómputo en la nube hacia
“Serverless”
Evolución del cómputo – Nube pública
InfraestructuraInstancias
Código de la aplicación
Evolución del cómputo – Contenedores
InfraestructuraInstancias
Código de la aplicaciónContenedores
Evolución del cómputo – Serverless
Código de la aplicación
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.
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.
Pero….
muchas de estas herramientas e
innovaciones están acopladas a
una dependencia común…
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?
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
Anatomía de una aplicación Web
¿Qué conforma a una aplicación Web?
Vamos a separarlo…
¿Qué conforma a una aplicación Web?
¿Qué conforma a una aplicación Web?
¿Qué conforma a una aplicación Web?
Aplicación Web Serverless
¿A dónde se fueron los servidores?
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
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
DynamoDB – recordatorio
 Base de datos NoSQL
 Llaves: Hash Key y Range Key (opcional)
 Tips:
 Planeé sus llaves
 Piense en sus queries
AWS Lambda
Servicio de cómputo, detonado por eventos y sin servidores
Lambda = microservicios sin servidores
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
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
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)
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).
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
Muchas opciones sin servidores
Storage DatabaseNetwork
Compute Content DeliveryMessaging and QueuesSecurity
Gateways
User Management Monitoring & Logging
Internet of Things
Machine Learning
Streaming Analytics
Amazon API Gateway
Un servicio totalmente administrado para APIs
Crear Configurar Publicar
Mantener Monitorear Seguro
Demo
AWS Lambda
Function
web browser
Amazon S3
Contenido dinámico
Serverless Webform
Amazon API
Gateway
HTML estático
Amazon
DynamoDB
Patrones de arquitecturas “Serverless”
 Microservicios
 Backend de aplicaciones móviles
 Procesamiento de datos
 Sitios Web
 APIs
 Analíticos en tiempo real
 Procesamiento de multimedia
Microservicios
Backend de aplicaciones móviles
Upload
to S3
S3 Bucket Lambda
S3 Notification
Compressed
Image
Compress Image
Upload back to S3
Procesamiento de datos
Static
Content
Dynamic
Content
API Gateway Lambda DynamoDB
Sitio Web “Serverless”
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
Motor de analíticos en tiempo real
CloudFront S3
Ingest
Lambda functions
HQ Copy
480p
Transcode
360p
Transcode
Audio Only
Transcode
S3
Playback
CloudFront
streaming
Thumbnails
Procesamiento de archivos de video
¡Nuevo!
AWS Step Functions
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
Remember to complete
your evaluations!
¡No olvide llenar su
evaluación!
GRACIAS

More Related Content

What's hot

What's hot (20)

Getting Started with AWS Lambda and Serverless
Getting Started with AWS Lambda and ServerlessGetting Started with AWS Lambda and Serverless
Getting Started with AWS Lambda and Serverless
 
Event Sourcing & CQRS, Kafka, Rabbit MQ
Event Sourcing & CQRS, Kafka, Rabbit MQEvent Sourcing & CQRS, Kafka, Rabbit MQ
Event Sourcing & CQRS, Kafka, Rabbit MQ
 
Domain Driven Design(DDD) Presentation
Domain Driven Design(DDD) PresentationDomain Driven Design(DDD) Presentation
Domain Driven Design(DDD) Presentation
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices
 
Microservices Architectures on Amazon Web Services
Microservices Architectures on Amazon Web ServicesMicroservices Architectures on Amazon Web Services
Microservices Architectures on Amazon Web Services
 
(NET307) Pinterest: The road from EC2-Classic To EC2-VPC
(NET307) Pinterest: The road from EC2-Classic To EC2-VPC(NET307) Pinterest: The road from EC2-Classic To EC2-VPC
(NET307) Pinterest: The road from EC2-Classic To EC2-VPC
 
Understanding AWS Storage Options
Understanding AWS Storage OptionsUnderstanding AWS Storage Options
Understanding AWS Storage Options
 
AWS 클라우드 비용 최적화를 위한 TIP - 임성은 AWS 매니저
AWS 클라우드 비용 최적화를 위한 TIP - 임성은 AWS 매니저AWS 클라우드 비용 최적화를 위한 TIP - 임성은 AWS 매니저
AWS 클라우드 비용 최적화를 위한 TIP - 임성은 AWS 매니저
 
Amazon API Gateway
Amazon API GatewayAmazon API Gateway
Amazon API Gateway
 
AWS 네트워크 보안을 위한 계층별 보안 구성 모범 사례 – 조이정, AWS 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집
AWS 네트워크 보안을 위한 계층별 보안 구성 모범 사례 – 조이정, AWS 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집AWS 네트워크 보안을 위한 계층별 보안 구성 모범 사례 – 조이정, AWS 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집
AWS 네트워크 보안을 위한 계층별 보안 구성 모범 사례 – 조이정, AWS 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집
 
AWS 101 - An Introduction to the Amazon Cloud
AWS 101  - An Introduction to the Amazon CloudAWS 101  - An Introduction to the Amazon Cloud
AWS 101 - An Introduction to the Amazon Cloud
 
Domain Driven Design (DDD)
Domain Driven Design (DDD)Domain Driven Design (DDD)
Domain Driven Design (DDD)
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless Architectures
 
Plan Advanced AWS Networking Architectures - SRV323 - Chicago AWS Summit
Plan Advanced AWS Networking Architectures - SRV323 - Chicago AWS SummitPlan Advanced AWS Networking Architectures - SRV323 - Chicago AWS Summit
Plan Advanced AWS Networking Architectures - SRV323 - Chicago AWS Summit
 
데이터 마이그레이션 및 전송을 위한 AWS 스토리지 서비스 활용방안 - 박용선, 메가존 클라우드 매니저
데이터 마이그레이션 및 전송을 위한 AWS 스토리지 서비스 활용방안 - 박용선, 메가존 클라우드 매니저데이터 마이그레이션 및 전송을 위한 AWS 스토리지 서비스 활용방안 - 박용선, 메가존 클라우드 매니저
데이터 마이그레이션 및 전송을 위한 AWS 스토리지 서비스 활용방안 - 박용선, 메가존 클라우드 매니저
 
(SEC323) New: Securing Web Applications with AWS WAF
(SEC323) New: Securing Web Applications with AWS WAF(SEC323) New: Securing Web Applications with AWS WAF
(SEC323) New: Securing Web Applications with AWS WAF
 
AWS Security by Design
AWS Security by Design AWS Security by Design
AWS Security by Design
 
AWS Lambda
AWS LambdaAWS Lambda
AWS Lambda
 
Domain Driven Design Demonstrated
Domain Driven Design Demonstrated Domain Driven Design Demonstrated
Domain Driven Design Demonstrated
 
A Brief Look at Serverless Architecture
A Brief Look at Serverless ArchitectureA Brief Look at Serverless Architecture
A Brief Look at Serverless Architecture
 

Similar to Comenzando con Arquitecturas sin servidores

Similar to Comenzando con Arquitecturas sin servidores (20)

Comenzando con Arquitecturas sin servidores
Comenzando con Arquitecturas sin servidoresComenzando con Arquitecturas sin servidores
Comenzando con Arquitecturas sin servidores
 
Construyedo Aplicaciones Serverless
Construyedo Aplicaciones ServerlessConstruyedo Aplicaciones Serverless
Construyedo Aplicaciones Serverless
 
Comenzando con aplicaciones serverless en AWS
Comenzando con aplicaciones serverless en AWSComenzando con aplicaciones serverless en AWS
Comenzando con aplicaciones serverless en AWS
 
Construyendo aplicaciones Serverless
Construyendo aplicaciones ServerlessConstruyendo aplicaciones Serverless
Construyendo aplicaciones Serverless
 
Transformation Track AWS Cloud Experience Argentina - Despegando y Desarrolla...
Transformation Track AWS Cloud Experience Argentina - Despegando y Desarrolla...Transformation Track AWS Cloud Experience Argentina - Despegando y Desarrolla...
Transformation Track AWS Cloud Experience Argentina - Despegando y Desarrolla...
 
AWS Services Overview
AWS Services OverviewAWS Services Overview
AWS Services Overview
 
.Net Conf UY 2017: Un paseo por Azure Service Fabric
.Net Conf UY 2017: Un paseo por Azure Service Fabric.Net Conf UY 2017: Un paseo por Azure Service Fabric
.Net Conf UY 2017: Un paseo por Azure Service Fabric
 
AWS Webinar Series Latinoamérica: Modernice sus aplicaciones Windows en AWS
AWS Webinar Series Latinoamérica: Modernice sus aplicaciones Windows en AWSAWS Webinar Series Latinoamérica: Modernice sus aplicaciones Windows en AWS
AWS Webinar Series Latinoamérica: Modernice sus aplicaciones Windows en AWS
 
Serverless application repository
Serverless application repositoryServerless application repository
Serverless application repository
 
Introducción a Azure App Service - MUG Buenos Aires
Introducción a Azure App Service - MUG Buenos AiresIntroducción a Azure App Service - MUG Buenos Aires
Introducción a Azure App Service - MUG Buenos Aires
 
Innovation Track AWS Cloud Experience Argentina - Nuevos Paradigmas de Arquit...
Innovation Track AWS Cloud Experience Argentina - Nuevos Paradigmas de Arquit...Innovation Track AWS Cloud Experience Argentina - Nuevos Paradigmas de Arquit...
Innovation Track AWS Cloud Experience Argentina - Nuevos Paradigmas de Arquit...
 
[Evento] Microsoft Azure | Azure Compute: una mirada en 360°
[Evento] Microsoft Azure | Azure Compute: una mirada en 360°[Evento] Microsoft Azure | Azure Compute: una mirada en 360°
[Evento] Microsoft Azure | Azure Compute: una mirada en 360°
 
Descubriendo windows azure
Descubriendo windows azureDescubriendo windows azure
Descubriendo windows azure
 
[Code Camp 2009] Cloud Computing - Explorando Windows Azure Services (Carlos ...
[Code Camp 2009] Cloud Computing - Explorando Windows Azure Services (Carlos ...[Code Camp 2009] Cloud Computing - Explorando Windows Azure Services (Carlos ...
[Code Camp 2009] Cloud Computing - Explorando Windows Azure Services (Carlos ...
 
Migration Day - Migración de Microsoft a AWS
Migration Day - Migración de Microsoft a AWSMigration Day - Migración de Microsoft a AWS
Migration Day - Migración de Microsoft a AWS
 
Cloud + Docker - La arquitectura MELI usando AWS en la nube.
Cloud + Docker - La arquitectura MELI usando AWS en la nube.Cloud + Docker - La arquitectura MELI usando AWS en la nube.
Cloud + Docker - La arquitectura MELI usando AWS en la nube.
 
AWS Summits América Latina 2015- Sin servidores: Mobile backend como servicio...
AWS Summits América Latina 2015- Sin servidores: Mobile backend como servicio...AWS Summits América Latina 2015- Sin servidores: Mobile backend como servicio...
AWS Summits América Latina 2015- Sin servidores: Mobile backend como servicio...
 
AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servici...
AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servici...AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servici...
AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servici...
 
ingenieria web.pptx
ingenieria web.pptxingenieria web.pptx
ingenieria web.pptx
 
Arquitecturas Serverless com IoT, Machine Learning y Assistente de Voz en Prá...
Arquitecturas Serverless com IoT, Machine Learning y Assistente de Voz en Prá...Arquitecturas Serverless com IoT, Machine Learning y Assistente de Voz en Prá...
Arquitecturas Serverless com IoT, Machine Learning y Assistente de Voz en Prá...
 

More from Amazon Web Services LATAM

More from Amazon Web Services LATAM (20)

AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
 
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
 
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
 
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
 
Automatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAutomatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWS
 
Automatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWSAutomatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWS
 
Cómo empezar con Amazon EKS
Cómo empezar con Amazon EKSCómo empezar con Amazon EKS
Cómo empezar con Amazon EKS
 
Como começar com Amazon EKS
Como começar com Amazon EKSComo começar com Amazon EKS
Como começar com Amazon EKS
 
Ransomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWSRansomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWS
 
Ransomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWSRansomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWS
 
Ransomware: Estratégias de Mitigação
Ransomware: Estratégias de MitigaçãoRansomware: Estratégias de Mitigação
Ransomware: Estratégias de Mitigação
 
Ransomware: Estratégias de Mitigación
Ransomware: Estratégias de MitigaciónRansomware: Estratégias de Mitigación
Ransomware: Estratégias de Mitigación
 
Aprenda a migrar y transferir datos al usar la nube de AWS
Aprenda a migrar y transferir datos al usar la nube de AWSAprenda a migrar y transferir datos al usar la nube de AWS
Aprenda a migrar y transferir datos al usar la nube de AWS
 
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWSAprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
 
Cómo mover a un almacenamiento de archivos administrados
Cómo mover a un almacenamiento de archivos administradosCómo mover a un almacenamiento de archivos administrados
Cómo mover a un almacenamiento de archivos administrados
 
Simplifique su BI con AWS
Simplifique su BI con AWSSimplifique su BI con AWS
Simplifique su BI con AWS
 
Simplifique o seu BI com a AWS
Simplifique o seu BI com a AWSSimplifique o seu BI com a AWS
Simplifique o seu BI com a AWS
 
Os benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWSOs benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWS
 

Recently uploaded

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Recently uploaded (11)

Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 

Comenzando con Arquitecturas sin servidores

  • 1. Comenzando con arquitecturas sin servidores Eduardo Delgado, Solutions Architect Julio , 2017
  • 2. Antecedente ¿Por qué los patrones de arquitecturas Serverless con AWS Lambda son la siguiente evolución del diseño de aplicaciones?
  • 4. La arquitectura orientada a servicios Capa de presentación Capa lógica Capa de datos
  • 5. La arquitectura de microservicios
  • 6. Evolución del cómputo en la nube hacia “Serverless”
  • 7. Evolución del cómputo – Nube pública InfraestructuraInstancias Código de la aplicación
  • 8. Evolución del cómputo – Contenedores InfraestructuraInstancias Código de la aplicaciónContenedores
  • 9. Evolución del cómputo – Serverless Código de la aplicación
  • 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. 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. Pero…. muchas de estas herramientas e innovaciones están acopladas a una dependencia común…
  • 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. 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. Anatomía de una aplicación Web
  • 16. ¿Qué conforma a una aplicación Web? Vamos a separarlo…
  • 17. ¿Qué conforma a una aplicación Web?
  • 18. ¿Qué conforma a una aplicación Web?
  • 19. ¿Qué conforma a una aplicación Web?
  • 21. ¿A dónde se fueron los servidores?
  • 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. 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. DynamoDB – recordatorio  Base de datos NoSQL  Llaves: Hash Key y Range Key (opcional)  Tips:  Planeé sus llaves  Piense en sus queries
  • 26. Servicio de cómputo, detonado por eventos y sin servidores Lambda = microservicios sin servidores
  • 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. 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. 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. 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. 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. Muchas opciones sin servidores Storage DatabaseNetwork Compute Content DeliveryMessaging and QueuesSecurity Gateways User Management Monitoring & Logging Internet of Things Machine Learning Streaming Analytics
  • 34. Un servicio totalmente administrado para APIs Crear Configurar Publicar Mantener Monitorear Seguro
  • 35. Demo AWS Lambda Function web browser Amazon S3 Contenido dinámico Serverless Webform Amazon API Gateway HTML estático Amazon DynamoDB
  • 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
  • 39. Upload to S3 S3 Bucket Lambda S3 Notification Compressed Image Compress Image Upload back to S3 Procesamiento de datos
  • 40. Static Content Dynamic Content API Gateway Lambda DynamoDB Sitio Web “Serverless”
  • 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. Motor de analíticos en tiempo real
  • 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
  • 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. Remember to complete your evaluations! ¡No olvide llenar su evaluación!

Editor's Notes

  1. Productivity Spend more time thinking about innovating the business logic that makes your application unique, and your applications are easier to operate and maintain. Agility AWS Step Functions records a history of each execution, so you can review in one place, all the events in sequence, in one location. Scale instantly from one execution to hundreds of thousands of concurrent executions, especially when used with other serverless AWS resources such as AWS Lambda, Amazon S3, and Amazon DynamoDB. With AWS Step Functions, you pay only for what you use, when you use it. Resilience AWS Step Functions supports automatic error handling for graceful exits, and operates at scale without you needing to configure or manage its underlying resources.