SlideShare una empresa de Scribd logo
1 de 39
Descargar para leer sin conexión
INTRODUCCION A LAMBDA
Mg. Richard E. Mendoza G:
Docente
MICROSERVICIOS
LAS HERRAMIENTAS PARA AYUDAR SON VASTAS
§ Servidores Web
§ Librerías de código
§ Servicios Web/Frameworks deAplicación
§ Herramientas de administración de
configuraciones
§ Plataformas de administración deAPIs
§ 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.
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
§ 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
Totalmente administrado Escalamiento continuo
§ Automatizado
§ Escala hacia arriba/abajo
Funciones Lambda son funciones de código
que implementan un microservicio.
LAMBDA ¿QUÉ SON?
Servicio de cómputo, detonado por eventos y sin servidores
Lambda = microservicios sin servidores
SERVERLESS
Enla implementación deAWS, se
les llama “serverless” porque no
tienes que administrar
servidores parausarlas*
*Sin embargo,si se usan servidores,
que administra AWS sin que tu
pienses enello.
Lambdaescala automáticamente:Esdecir,situ microservicio comienza a
utilizarse más,sele brindarán másrecursos para que corra correctamente.
LAMBDAAUTOESCALA
Lambda te permite usar otras funciones lambda
dentro del código, por lo que puedes hacer
referencia a nuevos procesos.
LAMBDA USA OTRAS FUNCIONES LAMBDA
COSTO
Tienes 1 millón de llamadas gratis a tus funciones lambda
por mes.
● Esto no expira en ningún momento, sea una cuenta
nueva o vieja deAWS.
Si tienes 1000 usuarios activos de una app web o
móvil, son 1000 llamadas de las funciones por cada
uno.
Esdecir, 1000 llamadas afunciones en 30 dias son:
33llamadas por día.
¿QUÉESUNMILLÓNDE LLAMADAS?
LENGUAJESSOPORTADOS
● Node.js (JavaScript)
● Python
● Java (Java 8compatible)
● C# (.NETCore)
● Go
¿QUÉES LAMBDA?
No existe un servidor como vimos en EC2. Es
decir, solo está el código en lambdayAWS se
encargadeejecutarlo cuandonecesites.
Puedes programar funciones lambda en
NodeJS (javascript), Python, Java (Java
8),C# (.Net Core) y Go.
Serverless
Lenguajes
soportados
Imagina lambda como un lugar donde
puedes ejecutar funciones de tu código.
¿Qué son?
Puedes correr tu aplicación hasta
300 segundos, y tienes un /tmp
limitado a512MB
Está limitada a 1000 ejecuciones
concurrentes (aun mismo tiempo) –
no tiene límite en ejecuciones
secuenciales (una detrás de otra).
¿QUÉ ES LAMBDA?
Límitesde
ejecucióny
espacio
Ejecución
paralela
Mínima de 128 MB, máxima 3000MB
con incrementos de 64MB
Memoria
¿QUÉ ES LAMBDA?
AWS está monitoreando constantemente la
ejecución de tus funciones y se encarga de que
siempre tengaelmejorperformance.
Tu código, aun estando en una
infraestructura compartida, corre en un
ambiente virtual exclusivo, aislado de
todos las demás ejecuciones de lambda.
Performance
Código aislado
Al ser una infraestructura compartida,
no tienes que preocuparte de
seguridad: AWS maneja todo.
Seguridad
AWS te regala 1 millón
de peticiones lambda
gratis en el primer año
de tucuenta.
HECHOS
CREANDO UNA FUNCIÓN LAMBDACON PYTHON
10 import os
def lambda_handler(event, context):
what_to_print =
os.environ.get("what_to_print")
how_many_times =
int(os.environ.get("how_many_times"))
# make sure what_to_print and
how_many_times values exist
if what_to_print and how_many_times > 0:
for i in range(0, how_many_times):
# formatted string literals are new in
Python 3.6
print(f"what_to_print: {what_to_print}.")
return what_to_print
return None
funcion_lambda.py
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
• …y Amazon API Gateway (más adelante)
EL SERVICIO AWSLAMBDA
§ 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
CREAR UNA FUNCION
10
CREAR UNA FUNCION DESDE CERO
10
EDITAR VARIABLES DE ENTORNO Y ETIQUETAS
10
CREAR UN EVENTO DE PRUEBA
10
PROBAR EL EVENTO
10
MUCHAS OPCIONES SIN SERVIDORES
Storage DatabaseNetwork
Compute Content DeliveryMessaging and QueuesSecurity
Gateways
User Management Monitoring & Logging
Internet of Things
Machine Learning
StreamingAnalytics
EJEMPLO 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
360p
Transcod
e
Audio-
only
Transcod
e
Thumbnai
l
QOS
Analytics
Funciones Lambda en cascada
HQ Copy
http://www.slideshare.net/AmazonWebServices/arc308-the-serverless-company-using-aws-lambda
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
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 APIGATEWAY
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 enlas
funciones para logs y
comportamiento)
1. Use plantillas
request/response.
2. Tome control de los códigos
de respuesta HTTP
3. Use Swagger import/export
para compartir entre cuentas
MEJORES PRÁCTICAS ADICIONALES
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.
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
Formando líderes para la construcción
de un nuevo país en paz

Más contenido relacionado

La actualidad más candente

AWS Summit Bogotá Track Básico: Bases de datos en AWS
AWS Summit Bogotá Track Básico: Bases de datos en AWSAWS Summit Bogotá Track Básico: Bases de datos en AWS
AWS Summit Bogotá Track Básico: Bases de datos en AWSAmazon Web Services
 
Comenzando con Aplicaciones Enterprise en AWS
Comenzando con Aplicaciones Enterprise en AWSComenzando con Aplicaciones Enterprise en AWS
Comenzando con Aplicaciones Enterprise en AWSAmazon Web Services LATAM
 
Patrones avanzados de implementación de microservicios con Amazon ECS
Patrones avanzados de implementación de microservicios con Amazon ECSPatrones avanzados de implementación de microservicios con Amazon ECS
Patrones avanzados de implementación de microservicios con Amazon ECSAmazon Web Services LATAM
 
Creando su primera aplicación de Big Data en AWS
Creando su primera aplicación de Big Data en AWSCreando su primera aplicación de Big Data en AWS
Creando su primera aplicación de Big Data en AWSAmazon Web Services LATAM
 
Técnicas para implementación de Continuous Delivery en AWS
Técnicas para implementación de Continuous Delivery en AWSTécnicas para implementación de Continuous Delivery en AWS
Técnicas para implementación de Continuous Delivery en AWSAmazon Web Services LATAM
 
Migración de datos a la nube: 6 estrategias para llevar datos a AWS
Migración de datos a la nube: 6 estrategias para llevar datos a AWSMigración de datos a la nube: 6 estrategias para llevar datos a AWS
Migración de datos a la nube: 6 estrategias para llevar datos a AWSAmazon Web Services LATAM
 
DevOps en AWS: acelarando el desarrollo de software con Developer Tools
DevOps en AWS: acelarando el desarrollo de software con Developer ToolsDevOps en AWS: acelarando el desarrollo de software con Developer Tools
DevOps en AWS: acelarando el desarrollo de software con Developer ToolsAmazon Web Services LATAM
 

La actualidad más candente (20)

Construyendo aplicaciones para IoT con AWS
Construyendo aplicaciones para IoT con AWSConstruyendo aplicaciones para IoT con AWS
Construyendo aplicaciones para IoT con AWS
 
Construyendo APIs Seguras y Escalables
Construyendo APIs Seguras y Escalables Construyendo APIs Seguras y Escalables
Construyendo APIs Seguras y Escalables
 
Analizando el TCO para migrar a AWS
Analizando el TCO para migrar a AWSAnalizando el TCO para migrar a AWS
Analizando el TCO para migrar a AWS
 
Comenzando con Docker en AWS
Comenzando con Docker en AWSComenzando con Docker en AWS
Comenzando con Docker en AWS
 
Comenzando a usar el Continuous Delivery
 Comenzando a usar el Continuous Delivery Comenzando a usar el Continuous Delivery
Comenzando a usar el Continuous Delivery
 
Comenzando con Arquitecturas sin servidores
Comenzando con Arquitecturas sin servidoresComenzando con Arquitecturas sin servidores
Comenzando con Arquitecturas sin servidores
 
AWS Summit Bogotá Track Básico: Bases de datos en AWS
AWS Summit Bogotá Track Básico: Bases de datos en AWSAWS Summit Bogotá Track Básico: Bases de datos en AWS
AWS Summit Bogotá Track Básico: Bases de datos en AWS
 
Mi experiencia con Amazon AWS EC2 y S3
Mi experiencia con Amazon AWS EC2 y S3Mi experiencia con Amazon AWS EC2 y S3
Mi experiencia con Amazon AWS EC2 y S3
 
Comenzando con Aplicaciones Enterprise en AWS
Comenzando con Aplicaciones Enterprise en AWSComenzando con Aplicaciones Enterprise en AWS
Comenzando con Aplicaciones Enterprise en AWS
 
Patrones avanzados de implementación de microservicios con Amazon ECS
Patrones avanzados de implementación de microservicios con Amazon ECSPatrones avanzados de implementación de microservicios con Amazon ECS
Patrones avanzados de implementación de microservicios con Amazon ECS
 
Creando su primera aplicación de Big Data en AWS
Creando su primera aplicación de Big Data en AWSCreando su primera aplicación de Big Data en AWS
Creando su primera aplicación de Big Data en AWS
 
Mejores prácticas de IAM
Mejores prácticas de IAMMejores prácticas de IAM
Mejores prácticas de IAM
 
Analizando el TCO para migrar a AWS
Analizando el TCO para migrar a AWSAnalizando el TCO para migrar a AWS
Analizando el TCO para migrar a AWS
 
DevOps en AWS
DevOps en AWSDevOps en AWS
DevOps en AWS
 
Técnicas para implementación de Continuous Delivery en AWS
Técnicas para implementación de Continuous Delivery en AWSTécnicas para implementación de Continuous Delivery en AWS
Técnicas para implementación de Continuous Delivery en AWS
 
Migración de datos a la nube: 6 estrategias para llevar datos a AWS
Migración de datos a la nube: 6 estrategias para llevar datos a AWSMigración de datos a la nube: 6 estrategias para llevar datos a AWS
Migración de datos a la nube: 6 estrategias para llevar datos a AWS
 
Clase Maestra EC2
Clase Maestra EC2Clase Maestra EC2
Clase Maestra EC2
 
Introduccion a Docker
Introduccion a DockerIntroduccion a Docker
Introduccion a Docker
 
DevOps en AWS: acelarando el desarrollo de software con Developer Tools
DevOps en AWS: acelarando el desarrollo de software con Developer ToolsDevOps en AWS: acelarando el desarrollo de software con Developer Tools
DevOps en AWS: acelarando el desarrollo de software con Developer Tools
 
Como reducir costos en AWS
Como reducir costos en AWSComo reducir costos en AWS
Como reducir costos en AWS
 

Similar a Clase 4 Electiva Profesional 3 AWS Lambda

Presentación Damian Traverso | Amazon Web Services - eCommerce IT Camp 2017
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 2017eCommerce Institute
 
Serverless application repository
Serverless application repositoryServerless application repository
Serverless application repositoryPaola Velazquez
 
Arquitectura Serverless con AWS Lambda y MongoDB Atlas
Arquitectura Serverless con AWS Lambda y MongoDB AtlasArquitectura Serverless con AWS Lambda y MongoDB Atlas
Arquitectura Serverless con AWS Lambda y MongoDB AtlasMongoDB
 
Escalando para sus primeros 10 millones de usuarios
Escalando para sus primeros 10 millones de usuariosEscalando para sus primeros 10 millones de usuarios
Escalando para sus primeros 10 millones de usuariosAmazon 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...
Transformation Track AWS Cloud Experience Argentina - Despegando y Desarrolla...Amazon Web Services LATAM
 
Micro vs Nano (servicios)
Micro vs Nano (servicios)Micro vs Nano (servicios)
Micro vs Nano (servicios)Pedro J. Molina
 
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...Amazon Web Services LATAM
 
WhyFLOSS - Como evitar caer cautivo de las Nubes Propietarias
WhyFLOSS - Como evitar caer cautivo de las Nubes PropietariasWhyFLOSS - Como evitar caer cautivo de las Nubes Propietarias
WhyFLOSS - Como evitar caer cautivo de las Nubes PropietariasAbiquo, Inc.
 
Comenzando con los servicios móviles en AWS
Comenzando con los servicios móviles en AWSComenzando con los servicios móviles en AWS
Comenzando con los servicios móviles en AWSAmazon Web Services LATAM
 
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á...Amazon Web Services LATAM
 
AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...
AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...
AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...Amazon Web Services
 
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á...Amazon Web Services LATAM
 
Los beneficios de migrar sus cargas de trabajo de big data a AWS
Los beneficios de migrar sus cargas de trabajo de big data a AWSLos beneficios de migrar sus cargas de trabajo de big data a AWS
Los beneficios de migrar sus cargas de trabajo de big data a AWSAmazon Web Services LATAM
 
Meetup AWS User Group chile - Diciembre 2018
Meetup AWS User Group chile - Diciembre 2018Meetup AWS User Group chile - Diciembre 2018
Meetup AWS User Group chile - Diciembre 2018Gonzalo Vásquez
 

Similar a Clase 4 Electiva Profesional 3 AWS Lambda (20)

Presentación Damian Traverso | Amazon Web Services - eCommerce IT Camp 2017
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
 
Serverless application repository
Serverless application repositoryServerless application repository
Serverless application repository
 
Arquitectura Serverless con AWS Lambda y MongoDB Atlas
Arquitectura Serverless con AWS Lambda y MongoDB AtlasArquitectura Serverless con AWS Lambda y MongoDB Atlas
Arquitectura Serverless con AWS Lambda y MongoDB Atlas
 
Escalando para sus primeros 10 millones de usuarios
Escalando para sus primeros 10 millones de usuariosEscalando para sus primeros 10 millones de usuarios
Escalando para sus primeros 10 millones de usuarios
 
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...
 
Micro vs Nano (servicios)
Micro vs Nano (servicios)Micro vs Nano (servicios)
Micro vs Nano (servicios)
 
Construyedo Aplicaciones Serverless
Construyedo Aplicaciones ServerlessConstruyedo Aplicaciones Serverless
Construyedo Aplicaciones Serverless
 
Sobrevolando AWS
Sobrevolando AWSSobrevolando AWS
Sobrevolando AWS
 
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...
 
Servicios de Bases de Datos de AWS
Servicios de Bases de Datos de AWSServicios de Bases de Datos de AWS
Servicios de Bases de Datos de AWS
 
WhyFLOSS - Como evitar caer cautivo de las Nubes Propietarias
WhyFLOSS - Como evitar caer cautivo de las Nubes PropietariasWhyFLOSS - Como evitar caer cautivo de las Nubes Propietarias
WhyFLOSS - Como evitar caer cautivo de las Nubes Propietarias
 
Construyendo aplicaciones Serverless
Construyendo aplicaciones ServerlessConstruyendo aplicaciones Serverless
Construyendo aplicaciones Serverless
 
Comenzando con los servicios móviles en AWS
Comenzando con los servicios móviles en AWSComenzando con los servicios móviles en AWS
Comenzando con los servicios móviles en AWS
 
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á...
 
AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...
AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...
AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...
 
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á...
 
Los beneficios de migrar sus cargas de trabajo de big data a AWS
Los beneficios de migrar sus cargas de trabajo de big data a AWSLos beneficios de migrar sus cargas de trabajo de big data a AWS
Los beneficios de migrar sus cargas de trabajo de big data a AWS
 
Comenzando con Arquitecturas sin servidores
Comenzando con Arquitecturas sin servidoresComenzando con Arquitecturas sin servidores
Comenzando con Arquitecturas sin servidores
 
Meetup AWS User Group chile - Diciembre 2018
Meetup AWS User Group chile - Diciembre 2018Meetup AWS User Group chile - Diciembre 2018
Meetup AWS User Group chile - Diciembre 2018
 
Comenzando con Arquitecturas sin servidores
Comenzando con Arquitecturas sin servidoresComenzando con Arquitecturas sin servidores
Comenzando con Arquitecturas sin servidores
 

Más de Richard Eliseo Mendoza Gafaro

PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 3
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 3PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 3
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 3Richard Eliseo Mendoza Gafaro
 
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 2
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 2PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 2
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 2Richard Eliseo Mendoza Gafaro
 
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 4
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 4PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 4
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 4Richard Eliseo Mendoza Gafaro
 
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 1
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 1PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 1
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 1Richard Eliseo Mendoza Gafaro
 
PARCIAL 2 SISTEMAS OPERATIVOS - BD MYSQL EN ORACLE OCI
PARCIAL 2 SISTEMAS OPERATIVOS - BD MYSQL EN ORACLE OCIPARCIAL 2 SISTEMAS OPERATIVOS - BD MYSQL EN ORACLE OCI
PARCIAL 2 SISTEMAS OPERATIVOS - BD MYSQL EN ORACLE OCIRichard Eliseo Mendoza Gafaro
 

Más de Richard Eliseo Mendoza Gafaro (20)

CUESTIONARIO REDES TELEMATICAS CISCO, HPE Y HUAWEI
CUESTIONARIO REDES TELEMATICAS CISCO, HPE Y HUAWEICUESTIONARIO REDES TELEMATICAS CISCO, HPE Y HUAWEI
CUESTIONARIO REDES TELEMATICAS CISCO, HPE Y HUAWEI
 
Material_para_Estudiante_DMPC_V012022A_SP_1
Material_para_Estudiante_DMPC_V012022A_SP_1Material_para_Estudiante_DMPC_V012022A_SP_1
Material_para_Estudiante_DMPC_V012022A_SP_1
 
MANUAL DE ORACLE AUTONOMOUS DATABASE
MANUAL DE ORACLE AUTONOMOUS DATABASEMANUAL DE ORACLE AUTONOMOUS DATABASE
MANUAL DE ORACLE AUTONOMOUS DATABASE
 
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 3
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 3PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 3
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 3
 
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 2
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 2PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 2
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 2
 
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 4
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 4PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 4
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 4
 
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 1
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 1PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 1
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 1
 
PARCIAL 2 SISTEMAS OPERATIVOS - BD MYSQL EN ORACLE OCI
PARCIAL 2 SISTEMAS OPERATIVOS - BD MYSQL EN ORACLE OCIPARCIAL 2 SISTEMAS OPERATIVOS - BD MYSQL EN ORACLE OCI
PARCIAL 2 SISTEMAS OPERATIVOS - BD MYSQL EN ORACLE OCI
 
PARCIAL 2 DESARROLLO DE INTERFACES UI UX
PARCIAL 2 DESARROLLO DE INTERFACES UI UXPARCIAL 2 DESARROLLO DE INTERFACES UI UX
PARCIAL 2 DESARROLLO DE INTERFACES UI UX
 
Explicación cadena de valor
Explicación cadena de valorExplicación cadena de valor
Explicación cadena de valor
 
MANUAL DESPLIEGUE SERVIDOR WEB
MANUAL DESPLIEGUE SERVIDOR WEBMANUAL DESPLIEGUE SERVIDOR WEB
MANUAL DESPLIEGUE SERVIDOR WEB
 
MANUAL DE DESPLIEGUE BASE DE DATOS CON WORKBENCH
MANUAL DE DESPLIEGUE BASE DE DATOS CON WORKBENCHMANUAL DE DESPLIEGUE BASE DE DATOS CON WORKBENCH
MANUAL DE DESPLIEGUE BASE DE DATOS CON WORKBENCH
 
CUESTIONARIO INTRODUCCION A UNITY 3D v2
CUESTIONARIO INTRODUCCION A UNITY 3D v2CUESTIONARIO INTRODUCCION A UNITY 3D v2
CUESTIONARIO INTRODUCCION A UNITY 3D v2
 
CUESTIONARIO INTRODUCCION A UNITY 3D
CUESTIONARIO INTRODUCCION A UNITY 3DCUESTIONARIO INTRODUCCION A UNITY 3D
CUESTIONARIO INTRODUCCION A UNITY 3D
 
MANUAL DESPLIEGUE SERVIDOR BASE DE DATOS
MANUAL DESPLIEGUE SERVIDOR BASE DE DATOSMANUAL DESPLIEGUE SERVIDOR BASE DE DATOS
MANUAL DESPLIEGUE SERVIDOR BASE DE DATOS
 
INTRODUCCION A SISTEMAS OPERATIVOS
INTRODUCCION A SISTEMAS OPERATIVOSINTRODUCCION A SISTEMAS OPERATIVOS
INTRODUCCION A SISTEMAS OPERATIVOS
 
CLASE 2 ORACLE CLOUD
CLASE 2 ORACLE CLOUDCLASE 2 ORACLE CLOUD
CLASE 2 ORACLE CLOUD
 
CASOS DE ESTUDIO MODELADO DEL NEGOCIO
CASOS DE ESTUDIO MODELADO DEL NEGOCIOCASOS DE ESTUDIO MODELADO DEL NEGOCIO
CASOS DE ESTUDIO MODELADO DEL NEGOCIO
 
MATERIAL DE ESTUDIO CCNA
MATERIAL DE ESTUDIO CCNAMATERIAL DE ESTUDIO CCNA
MATERIAL DE ESTUDIO CCNA
 
PREGUNTAS TOGAF 9.2 RESPUESTAS
PREGUNTAS TOGAF 9.2 RESPUESTASPREGUNTAS TOGAF 9.2 RESPUESTAS
PREGUNTAS TOGAF 9.2 RESPUESTAS
 

Último

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 BasicosJhonJairoRodriguezCe
 
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 estossgonzalezp1
 
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.FlorenciaCattelani
 
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 XXIhmpuellon
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
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 eyvanamcerpam
 
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 ASPECTOSpptxJorgeParada26
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
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...JohnRamos830530
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 

Último (10)

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
 
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
 
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.
 
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
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
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
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
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...
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 

Clase 4 Electiva Profesional 3 AWS Lambda

  • 1. INTRODUCCION A LAMBDA Mg. Richard E. Mendoza G: Docente
  • 2.
  • 3.
  • 5. LAS HERRAMIENTAS PARA AYUDAR SON VASTAS § Servidores Web § Librerías de código § Servicios Web/Frameworks deAplicación § Herramientas de administración de configuraciones § Plataformas de administración deAPIs § Patrones de despliegue § Patrones de CI/CD § Contenedores § Etc. Etc. Etc.
  • 6. 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.
  • 7. 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?
  • 8. ARQUITECTURA PARA SER SERVERLESS § 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 Totalmente administrado Escalamiento continuo § Automatizado § Escala hacia arriba/abajo
  • 9. Funciones Lambda son funciones de código que implementan un microservicio. LAMBDA ¿QUÉ SON?
  • 10. Servicio de cómputo, detonado por eventos y sin servidores Lambda = microservicios sin servidores
  • 11. SERVERLESS Enla implementación deAWS, se les llama “serverless” porque no tienes que administrar servidores parausarlas* *Sin embargo,si se usan servidores, que administra AWS sin que tu pienses enello.
  • 12. Lambdaescala automáticamente:Esdecir,situ microservicio comienza a utilizarse más,sele brindarán másrecursos para que corra correctamente. LAMBDAAUTOESCALA
  • 13. Lambda te permite usar otras funciones lambda dentro del código, por lo que puedes hacer referencia a nuevos procesos. LAMBDA USA OTRAS FUNCIONES LAMBDA
  • 14. COSTO Tienes 1 millón de llamadas gratis a tus funciones lambda por mes. ● Esto no expira en ningún momento, sea una cuenta nueva o vieja deAWS.
  • 15. Si tienes 1000 usuarios activos de una app web o móvil, son 1000 llamadas de las funciones por cada uno. Esdecir, 1000 llamadas afunciones en 30 dias son: 33llamadas por día. ¿QUÉESUNMILLÓNDE LLAMADAS?
  • 16. LENGUAJESSOPORTADOS ● Node.js (JavaScript) ● Python ● Java (Java 8compatible) ● C# (.NETCore) ● Go
  • 17. ¿QUÉES LAMBDA? No existe un servidor como vimos en EC2. Es decir, solo está el código en lambdayAWS se encargadeejecutarlo cuandonecesites. Puedes programar funciones lambda en NodeJS (javascript), Python, Java (Java 8),C# (.Net Core) y Go. Serverless Lenguajes soportados Imagina lambda como un lugar donde puedes ejecutar funciones de tu código. ¿Qué son?
  • 18. Puedes correr tu aplicación hasta 300 segundos, y tienes un /tmp limitado a512MB Está limitada a 1000 ejecuciones concurrentes (aun mismo tiempo) – no tiene límite en ejecuciones secuenciales (una detrás de otra). ¿QUÉ ES LAMBDA? Límitesde ejecucióny espacio Ejecución paralela Mínima de 128 MB, máxima 3000MB con incrementos de 64MB Memoria
  • 19. ¿QUÉ ES LAMBDA? AWS está monitoreando constantemente la ejecución de tus funciones y se encarga de que siempre tengaelmejorperformance. Tu código, aun estando en una infraestructura compartida, corre en un ambiente virtual exclusivo, aislado de todos las demás ejecuciones de lambda. Performance Código aislado Al ser una infraestructura compartida, no tienes que preocuparte de seguridad: AWS maneja todo. Seguridad
  • 20. AWS te regala 1 millón de peticiones lambda gratis en el primer año de tucuenta. HECHOS
  • 21. CREANDO UNA FUNCIÓN LAMBDACON PYTHON 10 import os def lambda_handler(event, context): what_to_print = os.environ.get("what_to_print") how_many_times = int(os.environ.get("how_many_times")) # make sure what_to_print and how_many_times values exist if what_to_print and how_many_times > 0: for i in range(0, how_many_times): # formatted string literals are new in Python 3.6 print(f"what_to_print: {what_to_print}.") return what_to_print return None funcion_lambda.py
  • 22. 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
  • 23. 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
  • 24. 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 • …y Amazon API Gateway (más adelante)
  • 25. EL SERVICIO AWSLAMBDA § 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).
  • 26. 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
  • 28. CREAR UNA FUNCION DESDE CERO 10
  • 29. EDITAR VARIABLES DE ENTORNO Y ETIQUETAS 10
  • 30. CREAR UN EVENTO DE PRUEBA 10
  • 32. MUCHAS OPCIONES SIN SERVIDORES Storage DatabaseNetwork Compute Content DeliveryMessaging and QueuesSecurity Gateways User Management Monitoring & Logging Internet of Things Machine Learning StreamingAnalytics
  • 33. EJEMPLO 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 360p Transcod e Audio- only Transcod e Thumbnai l QOS Analytics Funciones Lambda en cascada HQ Copy http://www.slideshare.net/AmazonWebServices/arc308-the-serverless-company-using-aws-lambda
  • 34. DIFERENTES FORMAS DE ABSTRAER SERVICIOS § SaaS § PaaS § MBaaS § *aaS § Application Engines/Platforms
  • 35. ¿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
  • 36. 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)
  • 37. MEJORES PRÁCTICAS DE AMAZON APIGATEWAY 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 enlas funciones para logs y comportamiento) 1. Use plantillas request/response. 2. Tome control de los códigos de respuesta HTTP 3. Use Swagger import/export para compartir entre cuentas
  • 38. MEJORES PRÁCTICAS ADICIONALES 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. 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
  • 39. Formando líderes para la construcción de un nuevo país en paz