Comenzando con aplicaciones serverless en AWS

Amazon Web Services LATAM
Amazon Web Services LATAMAmazon Web Services LATAM
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Ivan Salazar, Enterprise Solutions Architect
Noviembre, 2016
Comenzando con
aplicaciones sin servidores
en AWS
Agenda
§ Antecedente
§ AWS Lambda
§ Amazon API Gateway
§ Demo
§ Serverless Architecture Patterns
§ Serverless Best Practices
Antecedente
Cómo es que 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 sercivios (SOA)
Capa de presentación Capa lógica
Capa de datos
La arquitectura de microservicios
Las herramientas para ayudar son VASTAS
§ 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
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)
§ 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
“Pero espera…” – (usted)
Diferentes formas de abstraer servicios
§ SaaS
§ PaaS
§ MBaaS
§ *aaS
§ Application Engines/Platforms
¿Qué hace a Lambda único?
§ Abstracción a nivel código/función (arbitraria, flexible,
familiar)
§ El modelo de seguridad (IAM, VPC)
§ El model de precio
§ La comunidad
§ Integración con los servicios de AWS
• Escala
• Eventos
Muchas opciones sin servidores
Storage DatabaseNetwork
Compute Content DeliveryMessaging and QueuesSecurity
Gateways
User Management Monitoring & Logging
Internet of Things
Machine Learning
Streaming Analytics
Ejemplo de arquitectura sin
servidores
Procesamiento de video Serverless
Laptop
Encoders
HLS
S3
Playback
VOD Stream
mobile client
CloudFront
Streaming
Live stream
mobile client
CloudFro
nt
S3 Ingest
480p
Transcod
e
HQ Copy
360p
Transcod
e
Audio-
only
Transcod
e
Thumbnai
l
QOS
Analytics
Funciones Lambda en cascada
http://www.slideshare.net/AmazonWebServices/arc308-the-serverless-company-using-aws-lambda
“Pero…
para poder utilizar Lambda, necesito
diseñar aplicaciones basadas en
eventos?” – (usted)
SOA aún funciona
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 móvil
Motor de analíticos en tiempo real
Mejores prácticas para
Serverless
Mejores prácticas para AWS Lambda
1. Limite el tamaño de la función
– especialmente para Java
(iniciar JVM toma tiempo)
2. Node – recuerde la ejecución
es asíncrona.
3. No asuma el reuso de
contenedores de funciones –
pero aprovéchelo cuando
suceda.
1. No olvide el espacio en disco
(500MB /tmp directorio a cada
función)
2. Use aliases para liberar
funciones.
3. Use el servicio de logs
incluido (incluye detalles del
contexto del servicio)
4. Cree metricas personalizadas
(operativas, y de negocio)
Mejores prácticas de Amazon API Gateway
1. Use plantillas
request/response.
2. Tome control de los códigos
de respuesta HTTP
3. Use Swagger import/export
para compartir entre cuentas
1. Use integración con
templates
2. Combine con Cognito para
administrar el control de
acceso de usuarios finales.
3. Use variables de ambientes
(inserte los valores de
configuración del API en las
funciones para logs y
comportamiento)
Mejores prácticas adicionales
1. Use estrategias de nombrado
consumibles (nombres de
funciones Lambda, roles IAM,
nombres de API, ambientes
de API, etc.)
2. Use convenciones de
nombres y versiones para
automatizar
3. Externalice la autenticación a
roles de IAM en medida de lo
posible
1. El menor privilegio y roles
separados de IAM
2. Externalice la configuración -
DynamoDB es muy útil
3. Contacte a soporte antes de
eventos a gran escala
conocidos
4. Sea consciente del throttling
del servicio, contacte a
soporte si sucede.
Una invitación
Construya algo!
Amazon API
Gateway
AWS Lambda Amazon
DynamoDB
Thank you!Gracias!
1 de 40

Recomendados

Auto scaling using Amazon Web Services ( AWS ) por
Auto scaling using Amazon Web Services ( AWS )Auto scaling using Amazon Web Services ( AWS )
Auto scaling using Amazon Web Services ( AWS )Harish Ganesan
54.9K vistas77 diapositivas
Introduction to Amazon EC2 por
Introduction to Amazon EC2Introduction to Amazon EC2
Introduction to Amazon EC2Amazon Web Services
8.3K vistas67 diapositivas
Arquitectura Serverless con AWS Lambda y MongoDB Atlas por
Arquitectura Serverless con AWS Lambda y MongoDB AtlasArquitectura Serverless con AWS Lambda y MongoDB Atlas
Arquitectura Serverless con AWS Lambda y MongoDB AtlasMongoDB
1.3K vistas49 diapositivas
What's New in Amazon RDS for Open-Source & Commercial Databases por
What's New in Amazon RDS for Open-Source & Commercial DatabasesWhat's New in Amazon RDS for Open-Source & Commercial Databases
What's New in Amazon RDS for Open-Source & Commercial DatabasesAmazon Web Services
829 vistas38 diapositivas
Introducing AWS Elastic Beanstalk por
Introducing AWS Elastic BeanstalkIntroducing AWS Elastic Beanstalk
Introducing AWS Elastic BeanstalkAmazon Web Services
8.9K vistas15 diapositivas
Basics AWS Presentation por
Basics AWS PresentationBasics AWS Presentation
Basics AWS PresentationShyam Kumar
4.8K vistas21 diapositivas

Más contenido relacionado

La actualidad más candente

AWS Connectivity, VPC Design and Security Pro Tips por
AWS Connectivity, VPC Design and Security Pro TipsAWS Connectivity, VPC Design and Security Pro Tips
AWS Connectivity, VPC Design and Security Pro TipsShiva Narayanaswamy
3.6K vistas100 diapositivas
Aws route 53 por
Aws route 53Aws route 53
Aws route 53Rafael Salerno de Oliveira
317 vistas26 diapositivas
Docker Introduction por
Docker IntroductionDocker Introduction
Docker IntroductionJeffrey Ellin
631 vistas35 diapositivas
Getting Started with AWS Compute Services por
Getting Started with AWS Compute ServicesGetting Started with AWS Compute Services
Getting Started with AWS Compute ServicesAmazon Web Services
3K vistas104 diapositivas
IAM Best Practices por
IAM Best PracticesIAM Best Practices
IAM Best PracticesAmazon Web Services
3.3K vistas34 diapositivas
AWS ELB por
AWS ELBAWS ELB
AWS ELBMahesh Raj
917 vistas16 diapositivas

La actualidad más candente(20)

AWS Connectivity, VPC Design and Security Pro Tips por Shiva Narayanaswamy
AWS Connectivity, VPC Design and Security Pro TipsAWS Connectivity, VPC Design and Security Pro Tips
AWS Connectivity, VPC Design and Security Pro Tips
Shiva Narayanaswamy3.6K vistas
All you need to know about Auto scaling - Pop-up Loft por Amazon Web Services
All you need to know about Auto scaling - Pop-up LoftAll you need to know about Auto scaling - Pop-up Loft
All you need to know about Auto scaling - Pop-up Loft
Amazon Web Services3.4K vistas
Nightwatch JS for End to End Tests por Sriram Angajala
Nightwatch JS for End to End TestsNightwatch JS for End to End Tests
Nightwatch JS for End to End Tests
Sriram Angajala691 vistas
Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링 por Amazon Web Services Korea
Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링
Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링
Tiki.vn - How we scale as a tech startup por Tung Ns
Tiki.vn - How we scale as a tech startupTiki.vn - How we scale as a tech startup
Tiki.vn - How we scale as a tech startup
Tung Ns22.5K vistas
Fluentd v0.14 Plugin API Details por SATOSHI TAGOMORI
Fluentd v0.14 Plugin API DetailsFluentd v0.14 Plugin API Details
Fluentd v0.14 Plugin API Details
SATOSHI TAGOMORI21.6K vistas
Introduction to Amazon Relational Database Service por Amazon Web Services
Introduction to Amazon Relational Database ServiceIntroduction to Amazon Relational Database Service
Introduction to Amazon Relational Database Service
Amazon Web Services2.7K vistas
[AWS Dev Day] 앱 현대화 | AWS Fargate를 사용한 서버리스 컨테이너 활용 하기 - 삼성전자 개발자 포털 사례 - 정영준... por Amazon Web Services Korea
[AWS Dev Day] 앱 현대화 | AWS Fargate를 사용한 서버리스 컨테이너 활용 하기 - 삼성전자 개발자 포털 사례 - 정영준...[AWS Dev Day] 앱 현대화 | AWS Fargate를 사용한 서버리스 컨테이너 활용 하기 - 삼성전자 개발자 포털 사례 - 정영준...
[AWS Dev Day] 앱 현대화 | AWS Fargate를 사용한 서버리스 컨테이너 활용 하기 - 삼성전자 개발자 포털 사례 - 정영준...
가상화 기술과 컨테이너 기술의 차이점과 기대 효과 por Opennaru, inc.
가상화 기술과 컨테이너 기술의 차이점과 기대 효과가상화 기술과 컨테이너 기술의 차이점과 기대 효과
가상화 기술과 컨테이너 기술의 차이점과 기대 효과
Opennaru, inc. 7.1K vistas
Virtualization, Containers, Docker and scalable container management services por abhishek chawla
Virtualization, Containers, Docker and scalable container management servicesVirtualization, Containers, Docker and scalable container management services
Virtualization, Containers, Docker and scalable container management services
abhishek chawla2.3K vistas
Amazon Relational Database Service (Amazon RDS) por Amazon Web Services
Amazon Relational Database Service (Amazon RDS)Amazon Relational Database Service (Amazon RDS)
Amazon Relational Database Service (Amazon RDS)
Amazon Web Services6.5K vistas

Destacado

Webinar: Comenzando con los servicios de AWS por
Webinar: Comenzando con los servicios de AWSWebinar: Comenzando con los servicios de AWS
Webinar: Comenzando con los servicios de AWSAmazon Web Services LATAM
3K vistas25 diapositivas
Construyendo APIs Seguras y Escalables por
Construyendo APIs Seguras y Escalables Construyendo APIs Seguras y Escalables
Construyendo APIs Seguras y Escalables Amazon Web Services LATAM
2.7K vistas41 diapositivas
Aplicaciones Serverless por
Aplicaciones ServerlessAplicaciones Serverless
Aplicaciones ServerlessatSistemas
642 vistas16 diapositivas
AWS Marketplace: Busque, obtenga y despliegue software empresarial en minutos! por
AWS Marketplace: Busque, obtenga y despliegue software empresarial en minutos!AWS Marketplace: Busque, obtenga y despliegue software empresarial en minutos!
AWS Marketplace: Busque, obtenga y despliegue software empresarial en minutos!Amazon Web Services LATAM
1.9K vistas14 diapositivas
AWS Services Overview por
AWS Services OverviewAWS Services Overview
AWS Services OverviewAmazon Web Services LATAM
3.7K vistas78 diapositivas
Presentación AAPS - Prevención adicciones por
Presentación AAPS - Prevención adicciones Presentación AAPS - Prevención adicciones
Presentación AAPS - Prevención adicciones Instituto Industrial Luis A. Huergo
574 vistas16 diapositivas

Destacado(20)

Aplicaciones Serverless por atSistemas
Aplicaciones ServerlessAplicaciones Serverless
Aplicaciones Serverless
atSistemas642 vistas
AWS Marketplace: Busque, obtenga y despliegue software empresarial en minutos! por Amazon Web Services LATAM
AWS Marketplace: Busque, obtenga y despliegue software empresarial en minutos!AWS Marketplace: Busque, obtenga y despliegue software empresarial en minutos!
AWS Marketplace: Busque, obtenga y despliegue software empresarial en minutos!
Tecnología educativa por susyk1000
Tecnología educativaTecnología educativa
Tecnología educativa
susyk1000274 vistas
GERENCIA ESTRATÉGICA por ambar30
GERENCIA ESTRATÉGICAGERENCIA ESTRATÉGICA
GERENCIA ESTRATÉGICA
ambar30456 vistas
Album de Fotografía por adry_cornejo
Album de Fotografía Album de Fotografía
Album de Fotografía
adry_cornejo273 vistas
Salud y adolescencia por ql1973
Salud y adolescenciaSalud y adolescencia
Salud y adolescencia
ql1973331 vistas
Camila aleja y diego por alejacami
Camila aleja y diegoCamila aleja y diego
Camila aleja y diego
alejacami232 vistas
AWS Summit Lima 2015: VIrtual Private Cloud y opciones de conectividad con Le... por Amazon Web Services LATAM
AWS Summit Lima 2015: VIrtual Private Cloud y opciones de conectividad con Le...AWS Summit Lima 2015: VIrtual Private Cloud y opciones de conectividad con Le...
AWS Summit Lima 2015: VIrtual Private Cloud y opciones de conectividad con Le...
Energía geotérmica por yulisamina
Energía geotérmicaEnergía geotérmica
Energía geotérmica
yulisamina1.6K vistas
AWS Summits América Latina 2015-Mejores Prácticas de Seguridad para IAM (Iden... por Amazon Web Services LATAM
AWS Summits América Latina 2015-Mejores Prácticas de Seguridad para IAM (Iden...AWS Summits América Latina 2015-Mejores Prácticas de Seguridad para IAM (Iden...
AWS Summits América Latina 2015-Mejores Prácticas de Seguridad para IAM (Iden...
Colegio rosario floridablanca por Oscar Cuellar
Colegio rosario floridablancaColegio rosario floridablanca
Colegio rosario floridablanca
Oscar Cuellar589 vistas

Similar a Comenzando con aplicaciones serverless en AWS

Construyedo Aplicaciones Serverless por
Construyedo Aplicaciones ServerlessConstruyedo Aplicaciones Serverless
Construyedo Aplicaciones ServerlessAmazon Web Services LATAM
141 vistas46 diapositivas
Construyendo aplicaciones Serverless por
Construyendo aplicaciones ServerlessConstruyendo aplicaciones Serverless
Construyendo aplicaciones ServerlessAmazon Web Services LATAM
735 vistas48 diapositivas
Comenzando con Arquitecturas sin servidores por
Comenzando con Arquitecturas sin servidoresComenzando con Arquitecturas sin servidores
Comenzando con Arquitecturas sin servidoresAmazon Web Services LATAM
331 vistas49 diapositivas
Comenzando con Arquitecturas sin servidores por
Comenzando con Arquitecturas sin servidoresComenzando con Arquitecturas sin servidores
Comenzando con Arquitecturas sin servidoresAmazon Web Services LATAM
417 vistas56 diapositivas
Comenzando con Arquitecturas sin servidores por
Comenzando con Arquitecturas sin servidoresComenzando con Arquitecturas sin servidores
Comenzando con Arquitecturas sin servidoresAmazon Web Services LATAM
202 vistas47 diapositivas
Clase 4 Electiva Profesional 3 AWS Lambda por
Clase 4 Electiva Profesional 3 AWS LambdaClase 4 Electiva Profesional 3 AWS Lambda
Clase 4 Electiva Profesional 3 AWS LambdaRichard Eliseo Mendoza Gafaro
136 vistas39 diapositivas

Similar a Comenzando con aplicaciones serverless en AWS(20)

Transformation Track AWS Cloud Experience Argentina - Despegando y Desarrolla... por Amazon Web Services LATAM
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...
Introduccion a Elastic Beanstalk AWS Roadshow Bogota Mexico por Hermann Pais
Introduccion a Elastic Beanstalk   AWS Roadshow Bogota MexicoIntroduccion a Elastic Beanstalk   AWS Roadshow Bogota Mexico
Introduccion a Elastic Beanstalk AWS Roadshow Bogota Mexico
Hermann Pais877 vistas
Meetup En mi local funciona - Serverless... ¡en local! con Serverless Framewo... por atSistemas
Meetup En mi local funciona - Serverless... ¡en local! con Serverless Framewo...Meetup En mi local funciona - Serverless... ¡en local! con Serverless Framewo...
Meetup En mi local funciona - Serverless... ¡en local! con Serverless Framewo...
atSistemas532 vistas
Presentación Damian Traverso | Amazon Web Services - eCommerce IT Camp 2017 por eCommerce Institute
Presentación Damian Traverso | Amazon Web Services - eCommerce IT Camp 2017Presentación Damian Traverso | Amazon Web Services - eCommerce IT Camp 2017
Presentación Damian Traverso | Amazon Web Services - eCommerce IT Camp 2017
eCommerce Institute224 vistas
Arquitecturas y estrategias para generar aplicaciones modernas en AWS - MXO20... por Amazon Web Services
Arquitecturas y estrategias para generar aplicaciones modernas en AWS - MXO20...Arquitecturas y estrategias para generar aplicaciones modernas en AWS - MXO20...
Arquitecturas y estrategias para generar aplicaciones modernas en AWS - MXO20...
Amazon Web Services917 vistas
[Evento] Microsoft Azure | Azure Compute: una mirada en 360° por Pablo Ariel Di Loreto
[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°
AWS Summits América Latina 2015- Sin servidores: Mobile backend como servicio... por Amazon Web Services LATAM
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... por Amazon Web Services
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...
Amazon Web Services928 vistas

Más de Amazon Web Services LATAM

AWS para terceiro setor - Sessão 2 - Armazenamento e Backup por
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 BackupAmazon Web Services LATAM
1K vistas21 diapositivas
AWS para terceiro setor - Sessão 3 - Protegendo seus dados. por
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.Amazon Web Services LATAM
142 vistas27 diapositivas
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup por
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 BackupAmazon Web Services LATAM
137 vistas21 diapositivas
AWS para terceiro setor - Sessão 3 - Protegendo seus dados. por
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.Amazon Web Services LATAM
125 vistas27 diapositivas
Automatice el proceso de entrega con CI/CD en AWS por
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 AWSAmazon Web Services LATAM
3.4K vistas40 diapositivas
Automatize seu processo de entrega de software com CI/CD na AWS por
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 AWSAmazon Web Services LATAM
334 vistas41 diapositivas

Más de Amazon Web Services LATAM(20)

Último

Tarea Curso Tecnologias para la enseñanza virtual.pptx por
Tarea Curso Tecnologias para la enseñanza virtual.pptxTarea Curso Tecnologias para la enseñanza virtual.pptx
Tarea Curso Tecnologias para la enseñanza virtual.pptxlesliealejandraContr
5 vistas11 diapositivas
SOrtiz_Origenes y evolución de internet.ppsx por
SOrtiz_Origenes y evolución de internet.ppsxSOrtiz_Origenes y evolución de internet.ppsx
SOrtiz_Origenes y evolución de internet.ppsxARIADNAYJIMENACRUZOR
6 vistas9 diapositivas
El Ciberespacio y sus Características.pptx por
El Ciberespacio y  sus Características.pptxEl Ciberespacio y  sus Características.pptx
El Ciberespacio y sus Características.pptxAnthlingPereira
14 vistas3 diapositivas
Dominios de internet.pdf por
Dominios de internet.pdfDominios de internet.pdf
Dominios de internet.pdfNahomiBanchen
10 vistas2 diapositivas
Presentación: El impacto y peligro de la piratería de software por
Presentación: El impacto y peligro de la piratería de softwarePresentación: El impacto y peligro de la piratería de software
Presentación: El impacto y peligro de la piratería de softwareEmanuelMuoz11
17 vistas66 diapositivas
Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ... por
Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...
Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...Francisco Javier Toscano Lopez
46 vistas29 diapositivas

Último(20)

El Ciberespacio y sus Características.pptx por AnthlingPereira
El Ciberespacio y  sus Características.pptxEl Ciberespacio y  sus Características.pptx
El Ciberespacio y sus Características.pptx
AnthlingPereira14 vistas
Presentación: El impacto y peligro de la piratería de software por EmanuelMuoz11
Presentación: El impacto y peligro de la piratería de softwarePresentación: El impacto y peligro de la piratería de software
Presentación: El impacto y peligro de la piratería de software
EmanuelMuoz1117 vistas
Tecnologías para la enseñanza virtual_cdc.pptx por CarmenerdelHuasco
Tecnologías para la enseñanza virtual_cdc.pptxTecnologías para la enseñanza virtual_cdc.pptx
Tecnologías para la enseñanza virtual_cdc.pptx
Probando aplicaciones basadas en LLMs.pdf por Federico Toledo
Probando aplicaciones basadas en LLMs.pdfProbando aplicaciones basadas en LLMs.pdf
Probando aplicaciones basadas en LLMs.pdf
Federico Toledo49 vistas
Tarea15.pptx por illanlir
Tarea15.pptxTarea15.pptx
Tarea15.pptx
illanlir10 vistas
Tecnologías para la enseñanza virtual por mpachecocodem
Tecnologías para la enseñanza virtual Tecnologías para la enseñanza virtual
Tecnologías para la enseñanza virtual
mpachecocodem7 vistas
fundamentos de electricidad electronica por Kevin619029
fundamentos de electricidad electronicafundamentos de electricidad electronica
fundamentos de electricidad electronica
Kevin6190295 vistas
MVelazco_Internet, Origenes y Evolucion.pptx por al223915
MVelazco_Internet, Origenes  y Evolucion.pptxMVelazco_Internet, Origenes  y Evolucion.pptx
MVelazco_Internet, Origenes y Evolucion.pptx
al2239155 vistas
Tecnologías para la enseñanza virtual.pptx por exprosaavedra
Tecnologías para la enseñanza virtual.pptxTecnologías para la enseñanza virtual.pptx
Tecnologías para la enseñanza virtual.pptx
exprosaavedra11 vistas
Fundamentos De Electricidad y Electrónica equipo 5.pdf por coloradxmaria
Fundamentos De Electricidad y Electrónica equipo 5.pdfFundamentos De Electricidad y Electrónica equipo 5.pdf
Fundamentos De Electricidad y Electrónica equipo 5.pdf
coloradxmaria14 vistas
TALLER DE ANÁLISIS DE ARTEFACTOS_.docx por DilanTabares
TALLER DE ANÁLISIS DE ARTEFACTOS_.docxTALLER DE ANÁLISIS DE ARTEFACTOS_.docx
TALLER DE ANÁLISIS DE ARTEFACTOS_.docx
DilanTabares5 vistas
Fundamentos de Electricidad y Electronica 9-3 (1).docx por Samuel709479
Fundamentos de Electricidad y Electronica 9-3 (1).docxFundamentos de Electricidad y Electronica 9-3 (1).docx
Fundamentos de Electricidad y Electronica 9-3 (1).docx
Samuel7094797 vistas

Comenzando con aplicaciones serverless en AWS

  • 1. © 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Ivan Salazar, Enterprise Solutions Architect Noviembre, 2016 Comenzando con aplicaciones sin servidores en AWS
  • 2. Agenda § Antecedente § AWS Lambda § Amazon API Gateway § Demo § Serverless Architecture Patterns § Serverless Best Practices
  • 3. Antecedente Cómo es que los patrones de arquitecturas “Serverless” con AWS Lambda son la siguiente evolución del diseño de aplicaciones
  • 5. La arquitectura orientada a sercivios (SOA) Capa de presentación Capa lógica Capa de datos
  • 6. La arquitectura de microservicios
  • 7. Las herramientas para ayudar son VASTAS § 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.
  • 8. 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.
  • 9. Pero…. muchas de estas herramientas e innovaciones están acopladas a una dependencia común…
  • 10. 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?
  • 11. 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
  • 13. Servicio de cómputo, detonado por eventos y sin servidores Lambda = microservicios sin servidores
  • 14. 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
  • 15. La función Lambda § Su código (Java, NodeJS, Python) § 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
  • 16. 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)
  • 17. 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).
  • 18. 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
  • 20. Diferentes formas de abstraer servicios § SaaS § PaaS § MBaaS § *aaS § Application Engines/Platforms
  • 21. ¿Qué hace a Lambda único? § Abstracción a nivel código/función (arbitraria, flexible, familiar) § El modelo de seguridad (IAM, VPC) § El model de precio § La comunidad § Integración con los servicios de AWS • Escala • Eventos
  • 22. Muchas opciones sin servidores Storage DatabaseNetwork Compute Content DeliveryMessaging and QueuesSecurity Gateways User Management Monitoring & Logging Internet of Things Machine Learning Streaming Analytics
  • 23. Ejemplo de arquitectura sin servidores
  • 24. Procesamiento de video Serverless Laptop Encoders HLS S3 Playback VOD Stream mobile client CloudFront Streaming Live stream mobile client CloudFro nt S3 Ingest 480p Transcod e HQ Copy 360p Transcod e Audio- only Transcod e Thumbnai l QOS Analytics Funciones Lambda en cascada http://www.slideshare.net/AmazonWebServices/arc308-the-serverless-company-using-aws-lambda
  • 25. “Pero… para poder utilizar Lambda, necesito diseñar aplicaciones basadas en eventos?” – (usted)
  • 28. Un servicio totalmente administrado para APIs Crear Configurar Publicar Mantener Monitorear Seguro
  • 29. Demo AWS Lambda Function web browser Amazon S3 Contenido dinámico Serverless Webform Amazon API Gateway HTML estático Amazon DynamoDB
  • 33. Motor de analíticos en tiempo real
  • 35. Mejores prácticas para AWS Lambda 1. Limite el tamaño de la función – especialmente para Java (iniciar JVM toma tiempo) 2. Node – recuerde la ejecución es asíncrona. 3. No asuma el reuso de contenedores de funciones – pero aprovéchelo cuando suceda. 1. No olvide el espacio en disco (500MB /tmp directorio a cada función) 2. Use aliases para liberar funciones. 3. Use el servicio de logs incluido (incluye detalles del contexto del servicio) 4. Cree metricas personalizadas (operativas, y de negocio)
  • 36. Mejores prácticas de Amazon API Gateway 1. Use plantillas request/response. 2. Tome control de los códigos de respuesta HTTP 3. Use Swagger import/export para compartir entre cuentas 1. Use integración con templates 2. Combine con Cognito para administrar el control de acceso de usuarios finales. 3. Use variables de ambientes (inserte los valores de configuración del API en las funciones para logs y comportamiento)
  • 37. Mejores prácticas adicionales 1. Use estrategias de nombrado consumibles (nombres de funciones Lambda, roles IAM, nombres de API, ambientes de API, etc.) 2. Use convenciones de nombres y versiones para automatizar 3. Externalice la autenticación a roles de IAM en medida de lo posible 1. El menor privilegio y roles separados de IAM 2. Externalice la configuración - DynamoDB es muy útil 3. Contacte a soporte antes de eventos a gran escala conocidos 4. Sea consciente del throttling del servicio, contacte a soporte si sucede.
  • 39. Construya algo! Amazon API Gateway AWS Lambda Amazon DynamoDB