SlideShare una empresa de Scribd logo
¡Bienvenidos!
Agenda:
• 19:00 – 19:05 - Apertura
• 19:05 – 20:00 - Serverless... ¡en local! con Serverless Framework
en AWS
• 20:00 – 21:00 - Bebida y picoteo para conocernos
https://enmilocalfunciona.io
Comenzamos el blog en 2016
Y poco a poco hemos ido creciendo:
¡Gracias a todos los que lo hacéis posible!
Más de 100 posts de
más de 60 compañeros y
ex-compañeros
¡Gracias a ti por tu
asistencia y visitas!
Serverless... ¡en local!
con Serverless
Framework en AWS
¿Y por dónde empiezo?
https://enmilocalfunciona.io/aprendiendo-serverless-framework-parte-1-introduccion/
https://enmilocalfunciona.io/aprendiendo-serverless-framework-parte-2-instalacion/
Próximamente muchos más…
Índice
1. Introducción
2. Entornos de Ejecución
3. Desarrollo “Serverless”
4. Laboratorio
5. Preguntas
1. Introducción
En un mundo ideal ¿Serverless significa? … SIN Servidor
Un paso más en la evolución
Sistemas
monolíticos
Sistemas
distribuidos
Microservicios
Serverless
Mundo Síncrono
• Enfoque Request-Driven
Mundo Asíncrono
• Enfoque Message-Driven
• Enfoque Event-Driven
Patrones : Orquestador vs. Coreográfico
Photo by Manuel Nägeli on Unsplash Photo by Michael Afonso on Unsplash
• Requiere un coordinador central
• El coordinador central “da las órdenes” (centralización)
• Facilita la implementación
• Enfoque síncrono (aunque también puede ser asíncrono)
• NO requiere un coordinador central
• Normalmente existe un plan aunque cada uno es responsable
de dar y recibir órdenes (distribuido)
• Mayor dificultad de implementación -> requiere mecanismo
de mensajería
• Enfoque asíncrono
¿Cuál es la siguiente gran revolución?
Teoría : No hay balas de plata
“No sólo no hay balas de plata a la vista, sino que la
misma naturaleza del software impide que las haya”
Frederick P. Brooks (1987)
Cada cierto tiempo aparece una gran solución a todos los
problemas
Open Source Frameworks Agile
Cloud Contenedores Microservicios
Blockchain Serverless …
Aplicaciones Twelve-Factor
Metodología para construir aplicaciones
con ejecución como un servicio
• https://12factor.net/
• https://12factor.net/es/
• Applying the Twelve-Factor App
Methodology to Serverless
Applications
2. Entornos de Ejecución
Clásico / Mascota
Cloud / Ganado
Infraestructura como Código / IaC
Serverless
Entorno de ejecución “Clásico” / “Mascota”
Photo by Alicia Jones on Unsplash
Tipo Características
Máquina Tamaño presupuestado
Entornos diferentes
PRO “cuidados especiales”
Software base
Redimensionamiento
Carga y rendimiento
Problemas escalado
Problemas Seguridad
Despliegues lentos
Problemas cambio SW
Problemas cambio HW
Personal
Problemas de tiempos respuesta
Problemas por cortes
Máquina virtual Inmutabilidad de entornos
Mejora de despliegues
Multi-tenancy
Redimensionamiento dinámico
Aislamiento
Entorno completo totalmente configurable y
exportable (Test)
Despliegues más dinámicos, menos
comprometidos y menos intrusivos
Problemas de gestión de recursos SO
Host
Tiempos de respuesta en función recursos consumidos en SO Host
Más tolerancia a problemas por cortes
Contenedor Inmutabilidad de entornos
TEST = PRO
Mejora de despliegues
High Multi-tenancy
Ligero (pocos recursos)
Principio Responsabilidad única
Reproducible en local
Despliegues muy rápidos => Mejora
autoescalado bajo demanda
Tiempos de respuesta en función recursos consumidos en SO Host y
gestión de contenedores y orquestración
Más tolerancia que MV a problemas por cortes
Servidor físico con una asignación específica de sus recursos, una definición
concreta de los lenguajes/versiones a utilizar donde se ejecutan las diferentes
aplicaciones
● Separación entre entornos -> DEV, INT, UAT, QA, PRE y PRO
● Surge una serie de problemas en base a su elección
Entorno de ejecución “Cloud” / “Ganado”
Servidor físico proporcionado por un proveedor (Azure, Aws, Google, etc.) asignación
específica o dinámica de sus recursos, una definición concreta de los lenguajes/versiones
a utilizar donde se ejecutan las diferentes aplicaciones
● Dependencia del modelos de servicios a la hora de realizar la distribución de SW
● Surge una serie de problemas en base a su elección
Modelo Descripción
IaaS Infraestructura como servicio : Modelo basado en que un proveedor se encarga de la distribución de la infraestructura necesaria -> También se denomina HaaS (Hardware as a Service)
Objetivo : externalizar el servidor (espacio disco, tiempo computación y/o base de datos)
Facilita : escalabilidad, elasticidad, disponibilidad, seguridad, automatización, mantenibilidad, etc.
Pago por configuración y por uso
PaaS Plataforma como servicio : Modelo basado en que un proveedor se encarga de proporcionar TODO lo necesario para soportar un ciclo de vida completo de puesta en marcha de aplicaciones y servidores
Objetivo : externalizar la aplicación (base de datos, SSOO, servidor de aplicaciones)
Pago por licenciamiento, configuración y por uso
SaaS Software como servicio : Modelo basado en que un proveedor se encarga de proporcionar mantenimiento, soporte y operación a un cliente durante un periodo de contratación de servicio
Objetivo : externalizar el uso
Pago por volumen de usuarios, módulos utilizados, plan de soporte, acceso por dispositivo
XaaS Todo como servicio : Modelo basado en proporcionar todo para pago por “uso” : BI, Seguridad, Desktop, Backup, Email, ...
Photo by Samuel González Izquierdo on Unsplash
Entorno de ejecución “Infraestructura como Código” / “IaC”
Evolución “natural” del entorno de ejecución “Cloud”
● Foco en la mejora de la creación y mantenimiento de entornos
● Surge una serie de problemas en base a su elección
● Características :
● Creación de infraestructura versionable, reproducible,
consistente e independiente del entorno
● Entornos limpios y sin estados anterior
● Automatización del proceso manual mediante una explotación
programáticos sobre los entornos de ejecución : clásico y cloud
● Facilita la creación / destrucción de entornos como ciclo de
integración / entrega continua
● Uso de herramientas específicas
Modelo Cloud FaaS (Function as a Service)
Modelo de distribución de SW donde el proveedor facilita todo lo necesario para que únicamente los desarrolladores se
limiten a codificar el comportamiento de una función (pieza de lógica de negocio)
● Minimización del desarrollo a la mínima expresión : la función -> Cumplimiento “PSR”
● Toda la infraestructura está delegada -> escalabilidad, pago por tiempo de ejecución, etc.
● Una función consume menos recursos que un microservicios -> problema de mantenerlo levantado
● El lenguaje de implementación depende del proveedor
● Funciones SIN estado -> si se quiere estado hay que utilizar apoyarse en otros servicios
● Funcionalidad específica como : scheduled task / jobs, procesar peticiones web, procesar mensajes de colas, ejecución manual , etc.
● Requiere un puerta de enlace “API” o API Gateway
Servicio de ejecución de funciones proporcionado por diferentes proveedores : AWS Lambda, Google Cloud Functions,
Azure Functions , Iron.io, Webtask.io etc.
Diferencias con BaaS (Backend as a Service)
Combinación con otros servicios externos (servicios de computación sin servidores) -> “Juntar Piezas”
○ Autenticación (Auth0, Amazon Cognito)
○ Productos API (Api Gateway,etc)
○ Sistemas de mensajería (SQS, SNS,etc)
○ Streaming de datos (Kinesis, etc)
○ ...
Funcionalidades complejas -> requieren más de una función -> Patrón Orquestador vs Patrón Coreográfico
Entorno de ejecución “Serverless”
Servicio proporcionado por un proveedor (Azure, Aws, Google, etc.)
donde se facilita un servidor (físicos o cloud), la asignación dinámica
de sus recursos, una definición concreta de los lenguajes/versiones a
utilizar y una única función de entrada como contrato
● No hay aprovisionamiento, gestión y mantenimiento de servidores
● Funcionamiento basado en el uso y reaprovechamiento de contenedores
● Se factura por tiempo de ejecución y por su configuración
● Escalado continuo debido al uso
● Disponibilidad y tolerancia a fallos por defecto
● Un evento invoca a esta función que genera el “ambiente” y una vez
ejecutado el “ambiente” desaparece -> arranque “frío” / “caliente” ->
latencia
● Buen comportamiento frente a cargas de trabajo relacionadas con
eventos entrantes
Photo by eberhard grossgasteiger on Unsplash
Símil Entorno de ejecución “Serverless”
3. Desarrollo “Serverless”
Enfoque Arquitectónico “Serverless”
Cualquier desarrollo se despliega en un “entornos de ejecución Serverless” proporcionados por los diferentes
proveedores (Azure, Aws, Google, etc.) donde solamente hay que introducir el código para poder ejecutarlo
● Cloud-First
● Less Ops -> Abstracción de la infraestructura -> Desaparecen los servidores para el desarrollador -> NO mantenimiento
● Agnóstico del proveedor
● Uso On-Demand
● Pay-for-Use o Pay-for-execution-time (si no se usa se apaga)
● El código que se ejecuta se corresponde con una función -> Depende del criterio del desarrollador
● Tiene similitudes con la Arq. de Microservicios
● Focalización en la construcción y mantenimiento de aplicaciones -> Productividad
● Requiere un cambio cultural no solo técnico
● Fuente de invocación : API , otro FaaS o bien evento del proveedor / otros productos
Tipos de Arranque “Serverless”
Casi “todos” los proveedores serverless usan contenedores para generar
los entornos de ejecución
● Se requieren varios “segundos” o algunos “minutos”
● Depende de : proveedor, límites de lenguajes, tiempo / limites de
ejecución , tamaño de la función, etc.
● Los lenguajes interpretados suelen tener mejores tiempos de arranque y
consumo de recursos -> Depende del uso
Mejor para comunicación síncrona que asíncrona
Evitar arranques “Cold Start” -> Mantener las funciones “calientes”
● Los microservicios mantienen el servidor activo todo el tiempo
● Problema 1: ¿qué se entiende por microservicio?
● Problema 2: ¿se puede comparar con una función?
¿Y dónde lo puedo utilizar?
PoCs y pilotos
Extensión backend
aplicaciones
(web/mobile/IoT)
APIs Microservicios
Orientación a
eventos -> EDA
(Event Driven
Architectures)
Uso de servicios
externos
Webhooks ETL
Tareas
programadas
Procesamiento de
datos
CDC (Change Data
Capture)
Pipelines CI / CD ...
Ventajas vs. Inconvenientes
● Evitar tener que mantener infraestructuras de servidores
(actualizaciones, ssh, backups, etc.) -> Ahorro costes
● Despliegue independiente y automatizado
● Facilita la IC
● Definición de funciones “pequeñas” -> única responsabilidad
● Definición de funciones desacopladas y a poder ser SIN estado
● Heterogeneidad de lenguajes
● Pago por uso
● “Cuando algo no se necesita entonces se apaga” -> ajuste costes
● Facilita la integración con otros servicios del proveedor (log,
monitorización,etc)
● Escalado particular (“grano fino”) horizontal con enfoque “elástico”
● -> Cuidado con los tiempos de arranque
● Desarrollo en la nube pública -> Aspectos de seguridad
● Desarrollo casi siempre acoplado al proveedor -> vendor lock-in
● Limitaciones -> enfoque de “caja negra”
● Entorno cerrado -> no se pueden realizar muchas personalizaciones u
optimizaciones
● Lenguajes y versiones proporcionados por el proveedor
● Tiempo máximo de ejecución de una función
● Tamaño máximo de la función y del uso de memoria
● Latencia inicial : arranque frío / caliente
● Pérdida del control cuando el nº de funciones crece mucho
● Detección de la trazabilidad de las peticiones
● Dificulta el despliegue cuando se trabaja con varias funciones
● Dificulta la monitorización -> requiere herramientas extra
● Inmadurez de herramientas a la hora de automatizar despliegues
● Dificultad de las organizaciones para romper el monolito
● Mejor para aplicaciones con una vida útil “corta”
4. Laboratorio
AWS Lambda
https://aws.amazon.com/es/lambda/
AWS (Amazon Web Service) es uno de los negocios de Amazon
● Objetivo facilitar a las empresas /desarrolladores construir SW avanzado y escalable
haciendo uso de los servicios web
● Conceptos : instancia , monitorización , zona de disponibilidad, regiones, autoescalado,
elasticidad, pago por uso, etc.
● Servicios : Elastic Compute Cloud (EC2), Elastic Block Storage (EBS), Simple Storage Service
(S3), Almacenamiento [Glacier], Base de datos [DynamoDB, RDS, Simple DB], Aplicación
[CloudFront, SQS] y Otros [SNS, SES,Cloud Formation, etc] -> Cada día aparecen nuevos
AWS Lambda : Serverless FaaS orientado para Event-driven y proporcionado por AWS
● Diferentes lenguajes : Node.j, Python, C#, Go, Ruby, Java, etc
● Origen en 2014
● Requiere para su uso Amazon API Gateway
● Aplicar buenas prácticas : https://docs.aws.amazon.com/es_es/lambda/latest/dg/best-
practices.html
● Ejecuciones bajo petición de usuario , otro lambda o bien una alarma / métrica
● TRUCO : Especializar al máximo cada lambda -> Patrón “PSR”
Ejemplo Lambda
exports.myHandler = function (event, context,
callback) {
console.log('Hello World!')
callback(null, 'OK’)
}
Framework Serverless
https://serverless.com/
Herramienta por línea de comandos que permite trabajar con múltiples proveedores y que
permite automatizar una serie de tareas a través de comandos
• Se comunica directamente con el CLI de los proveedores
• Homogeniza el uso en los proyectos
• Soporta diferentes lenguajes
• Production-Ready
• Buena documentación y ejemplos -> https://github.com/serverless/examples
• Facilita el trabajo en modo Offline
• Extensibilidad de funciones con el uso de plugins
• Requiere tener instalado Node.js …
Local Stack
https://github.com/localstack/localstack
Herramienta que permite emular/mockear los servicios cloud de AWS en
local
● Originalmente era un proyecto de Atlassian
● Facilita poder probar antes de subir el código a PRO
● Para cada servicio establece un puerto para su uso
● La comunicación con cada uno de los servicios se realiza con el AWS CLI
● …
Plugins de Serverless
https://github.com/serverless/plugins
Se puede ampliar la funcionalidad de Serverless con plugins ya existentes o bien custom
Ejemplo Práctico Node.js
https://github.com/vjmadrid/enmilocalfunciona-aprendiendo-serverless/tree/master/meetup-bcn-mayo-2019
https://github.com/vjmadrid/enmilocalfunciona-aprendiendo-serverless
• Ejercicio Práctico : demo-nodejs-dynamodb-serverless
• Otros recursos
Resultado del Ejemplo Práctico Node.js
Ejemplo Práctico Python
https://gitlab.com/ruben-gil/serverless-framework-meetup/tree/solved
Nota : Tiene otra casuística
PREGUNTAS
Meetup En mi local funciona - Serverless... ¡en local! con Serverless Framework en AWS
Meetup En mi local funciona - Serverless... ¡en local! con Serverless Framework en AWS

Más contenido relacionado

La actualidad más candente

Apex nuevas caracteristicas
Apex nuevas caracteristicasApex nuevas caracteristicas
Apex nuevas caracteristicas
Daniel Bozzolo
 
La nube. Cloud computting
La nube. Cloud computtingLa nube. Cloud computting
La nube. Cloud computting
Joan Sebastián Ramírez Pérez
 
Usando plsq
Usando plsqUsando plsq
Usando plsq
Daniel Bozzolo
 
Comenzando a usar el Continuous Delivery
 Comenzando a usar el Continuous Delivery Comenzando a usar el Continuous Delivery
Comenzando a usar el Continuous Delivery
Amazon Web Services LATAM
 
Alta disponibilidad SQL Server 2012
Alta disponibilidad SQL Server 2012Alta disponibilidad SQL Server 2012
Alta disponibilidad SQL Server 2012
Eduardo Castro
 
Windows Azure, Lo mejor del PDC
Windows Azure, Lo mejor del PDCWindows Azure, Lo mejor del PDC
Windows Azure, Lo mejor del PDC
Juan Pablo
 
Microservicios
MicroserviciosMicroservicios
Dev ops best practices - spanish v4
Dev ops best practices - spanish v4Dev ops best practices - spanish v4
Dev ops best practices - spanish v4Vemn1
 
Windows Server2008 R2 Overview
Windows Server2008 R2 OverviewWindows Server2008 R2 Overview
Windows Server2008 R2 Overview
Pablo Campos
 
Desarrollo en oracle a bajo costo apex
Desarrollo en oracle a bajo costo   apexDesarrollo en oracle a bajo costo   apex
Desarrollo en oracle a bajo costo apex
Daniel Bozzolo
 
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!
AWS Marketplace: Busque, obtenga y despliegue software empresarial en minutos!
Amazon Web Services LATAM
 
Destino la Nube 2012 - ALM para Azure
Destino la Nube 2012 - ALM para AzureDestino la Nube 2012 - ALM para Azure
Destino la Nube 2012 - ALM para Azure
Jose Luis Soria
 
Webinar: Mejores prácticas de Seguridad de la Información
Webinar: Mejores prácticas de Seguridad de la InformaciónWebinar: Mejores prácticas de Seguridad de la Información
Webinar: Mejores prácticas de Seguridad de la Información
Amazon Web Services LATAM
 
Microservicios con ASP.NET Core
Microservicios con ASP.NET CoreMicroservicios con ASP.NET Core
Microservicios con ASP.NET Core
Eduardo Campañó
 
Microsoft Summit 2016 - Migrando IaaS Clásico a Azure Resource Manager ARM
Microsoft Summit 2016 - Migrando IaaS Clásico a Azure Resource Manager ARMMicrosoft Summit 2016 - Migrando IaaS Clásico a Azure Resource Manager ARM
Microsoft Summit 2016 - Migrando IaaS Clásico a Azure Resource Manager ARM
Alejandro Almeida
 
5. rollbase
5. rollbase5. rollbase
5. rollbase
Quantum Data System
 
Windows server 2012 jose luis
Windows server 2012 jose luisWindows server 2012 jose luis
Windows server 2012 jose luisyanez1814
 
[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°
Pablo Ariel Di Loreto
 
Web matrix razor_aspnetmvc_finalv2_techdays2010
Web matrix razor_aspnetmvc_finalv2_techdays2010Web matrix razor_aspnetmvc_finalv2_techdays2010
Web matrix razor_aspnetmvc_finalv2_techdays2010Gonzalo C.
 

La actualidad más candente (20)

Apex nuevas caracteristicas
Apex nuevas caracteristicasApex nuevas caracteristicas
Apex nuevas caracteristicas
 
La nube. Cloud computting
La nube. Cloud computtingLa nube. Cloud computting
La nube. Cloud computting
 
Usando plsq
Usando plsqUsando plsq
Usando plsq
 
Comenzando a usar el Continuous Delivery
 Comenzando a usar el Continuous Delivery Comenzando a usar el Continuous Delivery
Comenzando a usar el Continuous Delivery
 
Alta disponibilidad SQL Server 2012
Alta disponibilidad SQL Server 2012Alta disponibilidad SQL Server 2012
Alta disponibilidad SQL Server 2012
 
Windows Azure, Lo mejor del PDC
Windows Azure, Lo mejor del PDCWindows Azure, Lo mejor del PDC
Windows Azure, Lo mejor del PDC
 
Microservicios
MicroserviciosMicroservicios
Microservicios
 
Dev ops best practices - spanish v4
Dev ops best practices - spanish v4Dev ops best practices - spanish v4
Dev ops best practices - spanish v4
 
Windows Server2008 R2 Overview
Windows Server2008 R2 OverviewWindows Server2008 R2 Overview
Windows Server2008 R2 Overview
 
Progress Rollbase
Progress RollbaseProgress Rollbase
Progress Rollbase
 
Desarrollo en oracle a bajo costo apex
Desarrollo en oracle a bajo costo   apexDesarrollo en oracle a bajo costo   apex
Desarrollo en oracle a bajo costo apex
 
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!
AWS Marketplace: Busque, obtenga y despliegue software empresarial en minutos!
 
Destino la Nube 2012 - ALM para Azure
Destino la Nube 2012 - ALM para AzureDestino la Nube 2012 - ALM para Azure
Destino la Nube 2012 - ALM para Azure
 
Webinar: Mejores prácticas de Seguridad de la Información
Webinar: Mejores prácticas de Seguridad de la InformaciónWebinar: Mejores prácticas de Seguridad de la Información
Webinar: Mejores prácticas de Seguridad de la Información
 
Microservicios con ASP.NET Core
Microservicios con ASP.NET CoreMicroservicios con ASP.NET Core
Microservicios con ASP.NET Core
 
Microsoft Summit 2016 - Migrando IaaS Clásico a Azure Resource Manager ARM
Microsoft Summit 2016 - Migrando IaaS Clásico a Azure Resource Manager ARMMicrosoft Summit 2016 - Migrando IaaS Clásico a Azure Resource Manager ARM
Microsoft Summit 2016 - Migrando IaaS Clásico a Azure Resource Manager ARM
 
5. rollbase
5. rollbase5. rollbase
5. rollbase
 
Windows server 2012 jose luis
Windows server 2012 jose luisWindows server 2012 jose luis
Windows server 2012 jose luis
 
[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°
 
Web matrix razor_aspnetmvc_finalv2_techdays2010
Web matrix razor_aspnetmvc_finalv2_techdays2010Web matrix razor_aspnetmvc_finalv2_techdays2010
Web matrix razor_aspnetmvc_finalv2_techdays2010
 

Similar a Meetup En mi local funciona - Serverless... ¡en local! con Serverless Framework en AWS

Comenzando con aplicaciones serverless en AWS
Comenzando con aplicaciones serverless en AWSComenzando con aplicaciones serverless en AWS
Comenzando con aplicaciones serverless en AWS
Amazon Web Services LATAM
 
Seguridad en arquitecturas serverless y entornos cloud
Seguridad en arquitecturas serverless y entornos cloudSeguridad en arquitecturas serverless y entornos cloud
Seguridad en arquitecturas serverless y entornos cloud
Jose Manuel Ortega Candel
 
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
Guillermo Javier Bellmann
 
Descubriendo windows azure
Descubriendo windows azureDescubriendo windows azure
Descubriendo windows azure
Javier Suárez Ruiz
 
Futuro de Desarrollo en SharePoint
Futuro de Desarrollo en SharePointFuturo de Desarrollo en SharePoint
Futuro de Desarrollo en SharePoint
Haaron Gonzalez
 
Serverless: La evolucion de la arquitectura a la nube
Serverless: La evolucion de la arquitectura a la nubeServerless: La evolucion de la arquitectura a la nube
Serverless: La evolucion de la arquitectura a la nube
Quito Lambda
 
Azure 360º para Desarrolaldores
Azure 360º para DesarrolaldoresAzure 360º para Desarrolaldores
Azure 360º para Desarrolaldores
Germán Küber
 
azure-logic elementos de seleccion cuando utilizarlos
azure-logic elementos de seleccion cuando utilizarlosazure-logic elementos de seleccion cuando utilizarlos
azure-logic elementos de seleccion cuando utilizarlos
carlos_eduardo_84
 
Serverless Wars
Serverless WarsServerless Wars
Serverless Wars
Carlos Mendible
 
The azure platform TechDay2010
The azure platform TechDay2010The azure platform TechDay2010
The azure platform TechDay2010
Juan Pablo
 
SQL Azure Administración, Desempeño y Mantenimiento
SQL Azure Administración, Desempeño y MantenimientoSQL Azure Administración, Desempeño y Mantenimiento
SQL Azure Administración, Desempeño y Mantenimiento
Eduardo Castro
 
Despliegue de aplicaciones OS en entornos Cloud Computing con Bitnami- OpenEx...
Despliegue de aplicaciones OS en entornos Cloud Computing con Bitnami- OpenEx...Despliegue de aplicaciones OS en entornos Cloud Computing con Bitnami- OpenEx...
Despliegue de aplicaciones OS en entornos Cloud Computing con Bitnami- OpenEx...
OpenExpoES
 
Expert Day 2013 - ¿Y Las Bases de Datos en Azure?
Expert Day 2013 - ¿Y Las Bases de Datos en Azure?Expert Day 2013 - ¿Y Las Bases de Datos en Azure?
Expert Day 2013 - ¿Y Las Bases de Datos en Azure?
John Bulla
 
Comenzando con Arquitecturas sin servidores
Comenzando con Arquitecturas sin servidoresComenzando con Arquitecturas sin servidores
Comenzando con Arquitecturas sin servidores
Amazon Web Services LATAM
 
Serverless application repository
Serverless application repositoryServerless application repository
Serverless application repository
Paola Velazquez
 
Windows azure: Introducción a la Nube y HoL de Azure MICTT
Windows azure: Introducción a la Nube y HoL de Azure MICTTWindows azure: Introducción a la Nube y HoL de Azure MICTT
Windows azure: Introducción a la Nube y HoL de Azure MICTT
MICTT Palma
 
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
Amazon Web Services LATAM
 
WorkShop SQL Azure
WorkShop SQL AzureWorkShop SQL Azure
WorkShop SQL Azure
John Bulla
 
Azure Bootcamp 2017 - Azure functions
Azure Bootcamp 2017 - Azure functionsAzure Bootcamp 2017 - Azure functions
Azure Bootcamp 2017 - Azure functions
Diego Bersano
 

Similar a Meetup En mi local funciona - Serverless... ¡en local! con Serverless Framework en AWS (20)

Comenzando con aplicaciones serverless en AWS
Comenzando con aplicaciones serverless en AWSComenzando con aplicaciones serverless en AWS
Comenzando con aplicaciones serverless en AWS
 
Seguridad en arquitecturas serverless y entornos cloud
Seguridad en arquitecturas serverless y entornos cloudSeguridad en arquitecturas serverless y entornos cloud
Seguridad en arquitecturas serverless y entornos cloud
 
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
 
Descubriendo windows azure
Descubriendo windows azureDescubriendo windows azure
Descubriendo windows azure
 
Futuro de Desarrollo en SharePoint
Futuro de Desarrollo en SharePointFuturo de Desarrollo en SharePoint
Futuro de Desarrollo en SharePoint
 
Serverless: La evolucion de la arquitectura a la nube
Serverless: La evolucion de la arquitectura a la nubeServerless: La evolucion de la arquitectura a la nube
Serverless: La evolucion de la arquitectura a la nube
 
Azure 360º para Desarrolaldores
Azure 360º para DesarrolaldoresAzure 360º para Desarrolaldores
Azure 360º para Desarrolaldores
 
azure-logic elementos de seleccion cuando utilizarlos
azure-logic elementos de seleccion cuando utilizarlosazure-logic elementos de seleccion cuando utilizarlos
azure-logic elementos de seleccion cuando utilizarlos
 
Serverless Wars
Serverless WarsServerless Wars
Serverless Wars
 
The azure platform TechDay2010
The azure platform TechDay2010The azure platform TechDay2010
The azure platform TechDay2010
 
SQL Azure Administración, Desempeño y Mantenimiento
SQL Azure Administración, Desempeño y MantenimientoSQL Azure Administración, Desempeño y Mantenimiento
SQL Azure Administración, Desempeño y Mantenimiento
 
Despliegue de aplicaciones OS en entornos Cloud Computing con Bitnami- OpenEx...
Despliegue de aplicaciones OS en entornos Cloud Computing con Bitnami- OpenEx...Despliegue de aplicaciones OS en entornos Cloud Computing con Bitnami- OpenEx...
Despliegue de aplicaciones OS en entornos Cloud Computing con Bitnami- OpenEx...
 
Expert Day 2013 - ¿Y Las Bases de Datos en Azure?
Expert Day 2013 - ¿Y Las Bases de Datos en Azure?Expert Day 2013 - ¿Y Las Bases de Datos en Azure?
Expert Day 2013 - ¿Y Las Bases de Datos en Azure?
 
Comenzando con Arquitecturas sin servidores
Comenzando con Arquitecturas sin servidoresComenzando con Arquitecturas sin servidores
Comenzando con Arquitecturas sin servidores
 
Serverless application repository
Serverless application repositoryServerless application repository
Serverless application repository
 
Windows azure: Introducción a la Nube y HoL de Azure MICTT
Windows azure: Introducción a la Nube y HoL de Azure MICTTWindows azure: Introducción a la Nube y HoL de Azure MICTT
Windows azure: Introducción a la Nube y HoL de Azure MICTT
 
Azure
AzureAzure
Azure
 
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
 
WorkShop SQL Azure
WorkShop SQL AzureWorkShop SQL Azure
WorkShop SQL Azure
 
Azure Bootcamp 2017 - Azure functions
Azure Bootcamp 2017 - Azure functionsAzure Bootcamp 2017 - Azure functions
Azure Bootcamp 2017 - Azure functions
 

Más de atSistemas

Agile itsm con atlassian
Agile itsm con atlassianAgile itsm con atlassian
Agile itsm con atlassian
atSistemas
 
Bizz Chat metamorfosis digital
Bizz Chat metamorfosis digital Bizz Chat metamorfosis digital
Bizz Chat metamorfosis digital
atSistemas
 
Webinar 5 net5-2021
Webinar 5 net5-2021Webinar 5 net5-2021
Webinar 5 net5-2021
atSistemas
 
Webinar Speed Up Academy: Acelera la incorporación de talento.
Webinar Speed Up Academy: Acelera la incorporación de talento.Webinar Speed Up Academy: Acelera la incorporación de talento.
Webinar Speed Up Academy: Acelera la incorporación de talento.
atSistemas
 
Webinar: Descubre los diferentes servicios Cloud Native en Azure
Webinar: Descubre los diferentes servicios Cloud Native en AzureWebinar: Descubre los diferentes servicios Cloud Native en Azure
Webinar: Descubre los diferentes servicios Cloud Native en Azure
atSistemas
 
El futuro del trabajo en equipo
El futuro del trabajo en equipoEl futuro del trabajo en equipo
El futuro del trabajo en equipo
atSistemas
 
La tecnología al servicio de la agilidad empresarial
La tecnología al servicio de la agilidad empresarialLa tecnología al servicio de la agilidad empresarial
La tecnología al servicio de la agilidad empresarial
atSistemas
 
Transformación Agile
Transformación AgileTransformación Agile
Transformación Agile
atSistemas
 
Transformación cultural
Transformación culturalTransformación cultural
Transformación cultural
atSistemas
 
Technical considerations for Blockchain networks with AWS
Technical considerations for Blockchain networks with AWSTechnical considerations for Blockchain networks with AWS
Technical considerations for Blockchain networks with AWS
atSistemas
 
Blockchain Spain II Edición - Ángel Miguel Martínez
Blockchain Spain II Edición - Ángel Miguel MartínezBlockchain Spain II Edición - Ángel Miguel Martínez
Blockchain Spain II Edición - Ángel Miguel Martínez
atSistemas
 
Blockchain Spain - Néstor Gándara
Blockchain Spain - Néstor GándaraBlockchain Spain - Néstor Gándara
Blockchain Spain - Néstor Gándara
atSistemas
 
Blockchain Spain - Juan Luis Gozalo
Blockchain Spain - Juan Luis GozaloBlockchain Spain - Juan Luis Gozalo
Blockchain Spain - Juan Luis Gozalo
atSistemas
 
Blockchain Spain - Ramón Abruña
Blockchain Spain - Ramón AbruñaBlockchain Spain - Ramón Abruña
Blockchain Spain - Ramón Abruña
atSistemas
 
Blockchain Spain - Santiago Chamat
Blockchain Spain - Santiago ChamatBlockchain Spain - Santiago Chamat
Blockchain Spain - Santiago Chamat
atSistemas
 
Blockchain Spain - Antonio Gómez
Blockchain Spain - Antonio GómezBlockchain Spain - Antonio Gómez
Blockchain Spain - Antonio Gómez
atSistemas
 
Blockchain Spain - Miguel Ángel Rojas
Blockchain Spain - Miguel Ángel RojasBlockchain Spain - Miguel Ángel Rojas
Blockchain Spain - Miguel Ángel Rojas
atSistemas
 
Blockchain Spain - Andrés Sánchez
Blockchain Spain - Andrés SánchezBlockchain Spain - Andrés Sánchez
Blockchain Spain - Andrés Sánchez
atSistemas
 
Blockchain Spain II Edición - Autoridad Portuaria de Cartagena, Ilboc, Repsol
Blockchain Spain II Edición - Autoridad Portuaria de Cartagena, Ilboc, RepsolBlockchain Spain II Edición - Autoridad Portuaria de Cartagena, Ilboc, Repsol
Blockchain Spain II Edición - Autoridad Portuaria de Cartagena, Ilboc, Repsol
atSistemas
 
Blockchain Spain II Edición - Juan Manuel Martínez
Blockchain Spain II Edición - Juan Manuel MartínezBlockchain Spain II Edición - Juan Manuel Martínez
Blockchain Spain II Edición - Juan Manuel Martínez
atSistemas
 

Más de atSistemas (20)

Agile itsm con atlassian
Agile itsm con atlassianAgile itsm con atlassian
Agile itsm con atlassian
 
Bizz Chat metamorfosis digital
Bizz Chat metamorfosis digital Bizz Chat metamorfosis digital
Bizz Chat metamorfosis digital
 
Webinar 5 net5-2021
Webinar 5 net5-2021Webinar 5 net5-2021
Webinar 5 net5-2021
 
Webinar Speed Up Academy: Acelera la incorporación de talento.
Webinar Speed Up Academy: Acelera la incorporación de talento.Webinar Speed Up Academy: Acelera la incorporación de talento.
Webinar Speed Up Academy: Acelera la incorporación de talento.
 
Webinar: Descubre los diferentes servicios Cloud Native en Azure
Webinar: Descubre los diferentes servicios Cloud Native en AzureWebinar: Descubre los diferentes servicios Cloud Native en Azure
Webinar: Descubre los diferentes servicios Cloud Native en Azure
 
El futuro del trabajo en equipo
El futuro del trabajo en equipoEl futuro del trabajo en equipo
El futuro del trabajo en equipo
 
La tecnología al servicio de la agilidad empresarial
La tecnología al servicio de la agilidad empresarialLa tecnología al servicio de la agilidad empresarial
La tecnología al servicio de la agilidad empresarial
 
Transformación Agile
Transformación AgileTransformación Agile
Transformación Agile
 
Transformación cultural
Transformación culturalTransformación cultural
Transformación cultural
 
Technical considerations for Blockchain networks with AWS
Technical considerations for Blockchain networks with AWSTechnical considerations for Blockchain networks with AWS
Technical considerations for Blockchain networks with AWS
 
Blockchain Spain II Edición - Ángel Miguel Martínez
Blockchain Spain II Edición - Ángel Miguel MartínezBlockchain Spain II Edición - Ángel Miguel Martínez
Blockchain Spain II Edición - Ángel Miguel Martínez
 
Blockchain Spain - Néstor Gándara
Blockchain Spain - Néstor GándaraBlockchain Spain - Néstor Gándara
Blockchain Spain - Néstor Gándara
 
Blockchain Spain - Juan Luis Gozalo
Blockchain Spain - Juan Luis GozaloBlockchain Spain - Juan Luis Gozalo
Blockchain Spain - Juan Luis Gozalo
 
Blockchain Spain - Ramón Abruña
Blockchain Spain - Ramón AbruñaBlockchain Spain - Ramón Abruña
Blockchain Spain - Ramón Abruña
 
Blockchain Spain - Santiago Chamat
Blockchain Spain - Santiago ChamatBlockchain Spain - Santiago Chamat
Blockchain Spain - Santiago Chamat
 
Blockchain Spain - Antonio Gómez
Blockchain Spain - Antonio GómezBlockchain Spain - Antonio Gómez
Blockchain Spain - Antonio Gómez
 
Blockchain Spain - Miguel Ángel Rojas
Blockchain Spain - Miguel Ángel RojasBlockchain Spain - Miguel Ángel Rojas
Blockchain Spain - Miguel Ángel Rojas
 
Blockchain Spain - Andrés Sánchez
Blockchain Spain - Andrés SánchezBlockchain Spain - Andrés Sánchez
Blockchain Spain - Andrés Sánchez
 
Blockchain Spain II Edición - Autoridad Portuaria de Cartagena, Ilboc, Repsol
Blockchain Spain II Edición - Autoridad Portuaria de Cartagena, Ilboc, RepsolBlockchain Spain II Edición - Autoridad Portuaria de Cartagena, Ilboc, Repsol
Blockchain Spain II Edición - Autoridad Portuaria de Cartagena, Ilboc, Repsol
 
Blockchain Spain II Edición - Juan Manuel Martínez
Blockchain Spain II Edición - Juan Manuel MartínezBlockchain Spain II Edición - Juan Manuel Martínez
Blockchain Spain II Edición - Juan Manuel Martínez
 

Último

leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
Leidyfuentes19
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
marianabz2403
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
DiegoCampos433849
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
jjfch3110
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
CrystalRomero18
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
cj3806354
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
Emilio Casbas
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
rafaelsalazar0615
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
cdraco
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
zoecaicedosalazar
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Telefónica
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
AlejandraCasallas7
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
Luis Enrique Zafra Haro
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
JulyMuoz18
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
ManuelCampos464987
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
thomasdcroz38
 
Robótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptxRobótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptx
44652726
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
ItsSofi
 

Último (20)

leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Robótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptxRobótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptx
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
 

Meetup En mi local funciona - Serverless... ¡en local! con Serverless Framework en AWS

  • 2. Agenda: • 19:00 – 19:05 - Apertura • 19:05 – 20:00 - Serverless... ¡en local! con Serverless Framework en AWS • 20:00 – 21:00 - Bebida y picoteo para conocernos
  • 4. Comenzamos el blog en 2016 Y poco a poco hemos ido creciendo:
  • 5. ¡Gracias a todos los que lo hacéis posible! Más de 100 posts de más de 60 compañeros y ex-compañeros ¡Gracias a ti por tu asistencia y visitas!
  • 6. Serverless... ¡en local! con Serverless Framework en AWS
  • 7. ¿Y por dónde empiezo? https://enmilocalfunciona.io/aprendiendo-serverless-framework-parte-1-introduccion/ https://enmilocalfunciona.io/aprendiendo-serverless-framework-parte-2-instalacion/ Próximamente muchos más…
  • 8. Índice 1. Introducción 2. Entornos de Ejecución 3. Desarrollo “Serverless” 4. Laboratorio 5. Preguntas
  • 10. En un mundo ideal ¿Serverless significa? … SIN Servidor
  • 11. Un paso más en la evolución Sistemas monolíticos Sistemas distribuidos Microservicios Serverless Mundo Síncrono • Enfoque Request-Driven Mundo Asíncrono • Enfoque Message-Driven • Enfoque Event-Driven
  • 12. Patrones : Orquestador vs. Coreográfico Photo by Manuel Nägeli on Unsplash Photo by Michael Afonso on Unsplash • Requiere un coordinador central • El coordinador central “da las órdenes” (centralización) • Facilita la implementación • Enfoque síncrono (aunque también puede ser asíncrono) • NO requiere un coordinador central • Normalmente existe un plan aunque cada uno es responsable de dar y recibir órdenes (distribuido) • Mayor dificultad de implementación -> requiere mecanismo de mensajería • Enfoque asíncrono
  • 13. ¿Cuál es la siguiente gran revolución? Teoría : No hay balas de plata “No sólo no hay balas de plata a la vista, sino que la misma naturaleza del software impide que las haya” Frederick P. Brooks (1987) Cada cierto tiempo aparece una gran solución a todos los problemas Open Source Frameworks Agile Cloud Contenedores Microservicios Blockchain Serverless …
  • 14. Aplicaciones Twelve-Factor Metodología para construir aplicaciones con ejecución como un servicio • https://12factor.net/ • https://12factor.net/es/ • Applying the Twelve-Factor App Methodology to Serverless Applications
  • 15. 2. Entornos de Ejecución Clásico / Mascota Cloud / Ganado Infraestructura como Código / IaC Serverless
  • 16. Entorno de ejecución “Clásico” / “Mascota” Photo by Alicia Jones on Unsplash Tipo Características Máquina Tamaño presupuestado Entornos diferentes PRO “cuidados especiales” Software base Redimensionamiento Carga y rendimiento Problemas escalado Problemas Seguridad Despliegues lentos Problemas cambio SW Problemas cambio HW Personal Problemas de tiempos respuesta Problemas por cortes Máquina virtual Inmutabilidad de entornos Mejora de despliegues Multi-tenancy Redimensionamiento dinámico Aislamiento Entorno completo totalmente configurable y exportable (Test) Despliegues más dinámicos, menos comprometidos y menos intrusivos Problemas de gestión de recursos SO Host Tiempos de respuesta en función recursos consumidos en SO Host Más tolerancia a problemas por cortes Contenedor Inmutabilidad de entornos TEST = PRO Mejora de despliegues High Multi-tenancy Ligero (pocos recursos) Principio Responsabilidad única Reproducible en local Despliegues muy rápidos => Mejora autoescalado bajo demanda Tiempos de respuesta en función recursos consumidos en SO Host y gestión de contenedores y orquestración Más tolerancia que MV a problemas por cortes Servidor físico con una asignación específica de sus recursos, una definición concreta de los lenguajes/versiones a utilizar donde se ejecutan las diferentes aplicaciones ● Separación entre entornos -> DEV, INT, UAT, QA, PRE y PRO ● Surge una serie de problemas en base a su elección
  • 17. Entorno de ejecución “Cloud” / “Ganado” Servidor físico proporcionado por un proveedor (Azure, Aws, Google, etc.) asignación específica o dinámica de sus recursos, una definición concreta de los lenguajes/versiones a utilizar donde se ejecutan las diferentes aplicaciones ● Dependencia del modelos de servicios a la hora de realizar la distribución de SW ● Surge una serie de problemas en base a su elección Modelo Descripción IaaS Infraestructura como servicio : Modelo basado en que un proveedor se encarga de la distribución de la infraestructura necesaria -> También se denomina HaaS (Hardware as a Service) Objetivo : externalizar el servidor (espacio disco, tiempo computación y/o base de datos) Facilita : escalabilidad, elasticidad, disponibilidad, seguridad, automatización, mantenibilidad, etc. Pago por configuración y por uso PaaS Plataforma como servicio : Modelo basado en que un proveedor se encarga de proporcionar TODO lo necesario para soportar un ciclo de vida completo de puesta en marcha de aplicaciones y servidores Objetivo : externalizar la aplicación (base de datos, SSOO, servidor de aplicaciones) Pago por licenciamiento, configuración y por uso SaaS Software como servicio : Modelo basado en que un proveedor se encarga de proporcionar mantenimiento, soporte y operación a un cliente durante un periodo de contratación de servicio Objetivo : externalizar el uso Pago por volumen de usuarios, módulos utilizados, plan de soporte, acceso por dispositivo XaaS Todo como servicio : Modelo basado en proporcionar todo para pago por “uso” : BI, Seguridad, Desktop, Backup, Email, ... Photo by Samuel González Izquierdo on Unsplash
  • 18. Entorno de ejecución “Infraestructura como Código” / “IaC” Evolución “natural” del entorno de ejecución “Cloud” ● Foco en la mejora de la creación y mantenimiento de entornos ● Surge una serie de problemas en base a su elección ● Características : ● Creación de infraestructura versionable, reproducible, consistente e independiente del entorno ● Entornos limpios y sin estados anterior ● Automatización del proceso manual mediante una explotación programáticos sobre los entornos de ejecución : clásico y cloud ● Facilita la creación / destrucción de entornos como ciclo de integración / entrega continua ● Uso de herramientas específicas
  • 19. Modelo Cloud FaaS (Function as a Service) Modelo de distribución de SW donde el proveedor facilita todo lo necesario para que únicamente los desarrolladores se limiten a codificar el comportamiento de una función (pieza de lógica de negocio) ● Minimización del desarrollo a la mínima expresión : la función -> Cumplimiento “PSR” ● Toda la infraestructura está delegada -> escalabilidad, pago por tiempo de ejecución, etc. ● Una función consume menos recursos que un microservicios -> problema de mantenerlo levantado ● El lenguaje de implementación depende del proveedor ● Funciones SIN estado -> si se quiere estado hay que utilizar apoyarse en otros servicios ● Funcionalidad específica como : scheduled task / jobs, procesar peticiones web, procesar mensajes de colas, ejecución manual , etc. ● Requiere un puerta de enlace “API” o API Gateway Servicio de ejecución de funciones proporcionado por diferentes proveedores : AWS Lambda, Google Cloud Functions, Azure Functions , Iron.io, Webtask.io etc. Diferencias con BaaS (Backend as a Service) Combinación con otros servicios externos (servicios de computación sin servidores) -> “Juntar Piezas” ○ Autenticación (Auth0, Amazon Cognito) ○ Productos API (Api Gateway,etc) ○ Sistemas de mensajería (SQS, SNS,etc) ○ Streaming de datos (Kinesis, etc) ○ ... Funcionalidades complejas -> requieren más de una función -> Patrón Orquestador vs Patrón Coreográfico
  • 20. Entorno de ejecución “Serverless” Servicio proporcionado por un proveedor (Azure, Aws, Google, etc.) donde se facilita un servidor (físicos o cloud), la asignación dinámica de sus recursos, una definición concreta de los lenguajes/versiones a utilizar y una única función de entrada como contrato ● No hay aprovisionamiento, gestión y mantenimiento de servidores ● Funcionamiento basado en el uso y reaprovechamiento de contenedores ● Se factura por tiempo de ejecución y por su configuración ● Escalado continuo debido al uso ● Disponibilidad y tolerancia a fallos por defecto ● Un evento invoca a esta función que genera el “ambiente” y una vez ejecutado el “ambiente” desaparece -> arranque “frío” / “caliente” -> latencia ● Buen comportamiento frente a cargas de trabajo relacionadas con eventos entrantes Photo by eberhard grossgasteiger on Unsplash
  • 21. Símil Entorno de ejecución “Serverless”
  • 23. Enfoque Arquitectónico “Serverless” Cualquier desarrollo se despliega en un “entornos de ejecución Serverless” proporcionados por los diferentes proveedores (Azure, Aws, Google, etc.) donde solamente hay que introducir el código para poder ejecutarlo ● Cloud-First ● Less Ops -> Abstracción de la infraestructura -> Desaparecen los servidores para el desarrollador -> NO mantenimiento ● Agnóstico del proveedor ● Uso On-Demand ● Pay-for-Use o Pay-for-execution-time (si no se usa se apaga) ● El código que se ejecuta se corresponde con una función -> Depende del criterio del desarrollador ● Tiene similitudes con la Arq. de Microservicios ● Focalización en la construcción y mantenimiento de aplicaciones -> Productividad ● Requiere un cambio cultural no solo técnico ● Fuente de invocación : API , otro FaaS o bien evento del proveedor / otros productos
  • 24. Tipos de Arranque “Serverless” Casi “todos” los proveedores serverless usan contenedores para generar los entornos de ejecución ● Se requieren varios “segundos” o algunos “minutos” ● Depende de : proveedor, límites de lenguajes, tiempo / limites de ejecución , tamaño de la función, etc. ● Los lenguajes interpretados suelen tener mejores tiempos de arranque y consumo de recursos -> Depende del uso Mejor para comunicación síncrona que asíncrona Evitar arranques “Cold Start” -> Mantener las funciones “calientes” ● Los microservicios mantienen el servidor activo todo el tiempo ● Problema 1: ¿qué se entiende por microservicio? ● Problema 2: ¿se puede comparar con una función?
  • 25. ¿Y dónde lo puedo utilizar? PoCs y pilotos Extensión backend aplicaciones (web/mobile/IoT) APIs Microservicios Orientación a eventos -> EDA (Event Driven Architectures) Uso de servicios externos Webhooks ETL Tareas programadas Procesamiento de datos CDC (Change Data Capture) Pipelines CI / CD ...
  • 26. Ventajas vs. Inconvenientes ● Evitar tener que mantener infraestructuras de servidores (actualizaciones, ssh, backups, etc.) -> Ahorro costes ● Despliegue independiente y automatizado ● Facilita la IC ● Definición de funciones “pequeñas” -> única responsabilidad ● Definición de funciones desacopladas y a poder ser SIN estado ● Heterogeneidad de lenguajes ● Pago por uso ● “Cuando algo no se necesita entonces se apaga” -> ajuste costes ● Facilita la integración con otros servicios del proveedor (log, monitorización,etc) ● Escalado particular (“grano fino”) horizontal con enfoque “elástico” ● -> Cuidado con los tiempos de arranque ● Desarrollo en la nube pública -> Aspectos de seguridad ● Desarrollo casi siempre acoplado al proveedor -> vendor lock-in ● Limitaciones -> enfoque de “caja negra” ● Entorno cerrado -> no se pueden realizar muchas personalizaciones u optimizaciones ● Lenguajes y versiones proporcionados por el proveedor ● Tiempo máximo de ejecución de una función ● Tamaño máximo de la función y del uso de memoria ● Latencia inicial : arranque frío / caliente ● Pérdida del control cuando el nº de funciones crece mucho ● Detección de la trazabilidad de las peticiones ● Dificulta el despliegue cuando se trabaja con varias funciones ● Dificulta la monitorización -> requiere herramientas extra ● Inmadurez de herramientas a la hora de automatizar despliegues ● Dificultad de las organizaciones para romper el monolito ● Mejor para aplicaciones con una vida útil “corta”
  • 28. AWS Lambda https://aws.amazon.com/es/lambda/ AWS (Amazon Web Service) es uno de los negocios de Amazon ● Objetivo facilitar a las empresas /desarrolladores construir SW avanzado y escalable haciendo uso de los servicios web ● Conceptos : instancia , monitorización , zona de disponibilidad, regiones, autoescalado, elasticidad, pago por uso, etc. ● Servicios : Elastic Compute Cloud (EC2), Elastic Block Storage (EBS), Simple Storage Service (S3), Almacenamiento [Glacier], Base de datos [DynamoDB, RDS, Simple DB], Aplicación [CloudFront, SQS] y Otros [SNS, SES,Cloud Formation, etc] -> Cada día aparecen nuevos AWS Lambda : Serverless FaaS orientado para Event-driven y proporcionado por AWS ● Diferentes lenguajes : Node.j, Python, C#, Go, Ruby, Java, etc ● Origen en 2014 ● Requiere para su uso Amazon API Gateway ● Aplicar buenas prácticas : https://docs.aws.amazon.com/es_es/lambda/latest/dg/best- practices.html ● Ejecuciones bajo petición de usuario , otro lambda o bien una alarma / métrica ● TRUCO : Especializar al máximo cada lambda -> Patrón “PSR” Ejemplo Lambda exports.myHandler = function (event, context, callback) { console.log('Hello World!') callback(null, 'OK’) }
  • 29. Framework Serverless https://serverless.com/ Herramienta por línea de comandos que permite trabajar con múltiples proveedores y que permite automatizar una serie de tareas a través de comandos • Se comunica directamente con el CLI de los proveedores • Homogeniza el uso en los proyectos • Soporta diferentes lenguajes • Production-Ready • Buena documentación y ejemplos -> https://github.com/serverless/examples • Facilita el trabajo en modo Offline • Extensibilidad de funciones con el uso de plugins • Requiere tener instalado Node.js …
  • 30. Local Stack https://github.com/localstack/localstack Herramienta que permite emular/mockear los servicios cloud de AWS en local ● Originalmente era un proyecto de Atlassian ● Facilita poder probar antes de subir el código a PRO ● Para cada servicio establece un puerto para su uso ● La comunicación con cada uno de los servicios se realiza con el AWS CLI ● …
  • 31. Plugins de Serverless https://github.com/serverless/plugins Se puede ampliar la funcionalidad de Serverless con plugins ya existentes o bien custom
  • 33. Resultado del Ejemplo Práctico Node.js