SlideShare una empresa de Scribd logo
1 de 25
Serverless Wars
Comparing the FaaS
Sergio Navarro Pino @snavarropino
Developer @Analyticalways
https://serginet.com
Carlos Mendible @cmendibl3
Cloud Architect Manager @AccentureSpain
https://carlos.mendible.com/
What is serverless?
“Serverless computing is a cloud-computing execution model in which the cloud provider
dynamically manages the allocation of machine resources. Pricing is based on the actual
amount of resources consumed by an application, rather than on pre-purchased units of
capacity” [Wikipedia]
Un poco de historia
Mencionado por primera vez por Ken Fromm en el artículo de 2012 Why The Future Of
Software And Apps Is Serverless
Allí encontramos una cita clave:
“The phrase “serverless” doesn’t mean servers are no longer involved. It simply means that
developers no longer have to think that much about them”
What is serverless?
¿Que aporta?
• Abstracción de los Servidores (de la infraestructura en general)
• Capacidad de Reaccionar a Eventos y escalar de forma instantánea (Soluciones
basadas en eventos)
• Modalidad de cobro basado en el tiempo de ejecución y los recursos utilizados (CPU /
Memoria / Red). Pago por uso “puro”
Esto implica que solo ejecutas código cuando realmente lo necesitas
• Failover automático / Trans
Serverless vs PaaS
¿Eso no es PaaS?
• Serverless es el PaaS que siempre has
querido!!!
• Si tu PaaS puede levantar instancias
en 20 ms y de forma eficiente entonces
lo puedes llamar serverless.
• PaaS no está diseñado para levantar y
tirar aplicaciones enteras en respuesta
a eventos mientras que las
arquitecturas Serverless te permiten
exactamente eso.
Function as a Service
Serverless vs PaaS
¿Qué decisiones debemos tomar para implementar nuestro código?
En PaaS eliges planes / tiers, que te darán una capacidad y un precio fijos.
En serverless en principio no debes tomar decisiones de dimensionamiento (¿seguro?) y
todo es pago por uso.
Cómo nos van a cobrar, ¿sobre qué conceptos?
https://cloud.google.com/products/calculator
Serverless use cases
IoT (Weather stations):
thousands of weather stations are sending in intervals weather-related data for processing. It is
much easier to scale on Faas than on Paas or any other solutions
Data processing (Image Manipulation):
If you upload an image in high-resolution size, your Function will generate multiple required sizes for
different needs
Web Applications (Dashboards):
When displaying reporting and statistical data, aggregated from multiple sources.
Chatbots (Event-Driven Architecture for Chatbots):
Data processing time must be faster than usual backend because, on a chat screen, people expect
more immediate responses than on the web and mobile applications.
Retos Serverless
• Monitoring
Monitoring and security occur at the application level
• Service communication
Serverless applications can overwhelm downstream resources
• Service discovery
PaaS experience helps
• Application Architecture
You need a true DevOps approach
Google Cloud Functions
• Solo se soporta desarrollo con Javascript
• Activadores (Triggers)
• HTTP
• Cloud Storage
• Cloud Pub/Sub
• Firebase
• Tiempo max de ejecución: 540sec (9 min)
Environment basado en
Docker + Node
Google Cloud Functions
Tiers disponibles (diferente precio)
Google Cloud Functions
https://cloud.google.com/functions/docs/writing/
A cloud function is a module!
For dependencies, there is only good news as you can use the powers of npm and
package.json
Conceptos avanzados
• “Cold” function
Amazon Lambda
• Soporta JavaScript, Java, C# y Python
• Activadores (Triggers)
• HTTP via API Gateway
• S3 (Storage)
• SNS (Notifications)
• SES (Email)
• DynamoDB (NoSQL)
• Kinesis (Data Streams)
• CloudWatch (Monitoring)
• Cognito (User Sign Up & Sign In)
• CodeCommit (Source Control)
• Tiempo max de ejecución: 300sec (5 min)
• Soporta C#, JavaScript, F#, Python, Batch, PHP, PowerShell
• Activadores (Triggers)
• HTTPTrigger
• Blob
• EventHub
• Generic WebHook
• GitHub WebHook
• Queue
• ServiceBus Queue
• Service Bus Topic
• Timer triggers
• Event Grid
• Tiempo max de ejecución: 600sec (10 min)
• Lo creas o no se pueden ejecutar en un contenedor Docker y on-premise con Azure
Functions Runtime
Azure Functions
Conceptos avanzados
“Durable” function: Permite escribir funciones con estado en un entorno sin servidor.
Diferentes patrones:
Azure Durable Functions
Serverless Wars
La prueba:
25, 50 y 150 users simultaneos
lanzando 500 peticiones cada uno
La red:
FHHT 100 Mb simetricos
Serverless Wars
Throughput
(req/sec)
Serverless Wars
Tiempo medio (ms)
de respuesta
(menor es mejor)
Serverless Wars
Tiempo mínimo
(ms) de respuesta
(menor es mejor)
Serverless Wars
Tiempo
máximo de
respuesta
Serverless Wars
¿Azure a la cola?
No nos podíamos quedar de manos cruzadas...
● Por defecto Azure Functions se ejecuta en
Windows
● Ejecutando el código en un contenedor Linux
logramos igualar un poco la guerra.
● Difícil escalar de forma infinita por la falta de plan
por consumo (Por ahora)
Serverless Wars: Azure strikes back
Throughput
(req/sec)
Serverless Wars: Azure strikes back
Tiempo medio (ms)
de respuesta
(menor es mejor)
"Yo... he visto cosas que vosotros no creeríais: Atacar naves en llamas más allá de Orión.
He visto rayos C brillar en la oscuridad cerca de la Puerta de Tannhäuser.
Todos esos momentos se perderán... en el tiempo... como lágrimas en la lluvia. Es hora de morir"
- Roy Batty

Más contenido relacionado

La actualidad más candente

Virtualizacion
VirtualizacionVirtualizacion
Virtualizacion
Loni29
 

La actualidad más candente (20)

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
 
Cómo crear un ciclo completo de BD, AKS y Frontend en 60 minutos o le devolv...
Cómo crear un ciclo completo de BD, AKS y Frontend en 60 minutos o le devolv...Cómo crear un ciclo completo de BD, AKS y Frontend en 60 minutos o le devolv...
Cómo crear un ciclo completo de BD, AKS y Frontend en 60 minutos o le devolv...
 
Construyendo aplicaciones de Big Data en AWS
Construyendo aplicaciones de Big Data en AWSConstruyendo aplicaciones de Big Data en AWS
Construyendo aplicaciones de Big Data en AWS
 
Comenzando con Docker en AWS
Comenzando con Docker en AWSComenzando con Docker en AWS
Comenzando con Docker en AWS
 
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
 
Arquitectando la seguridad de punta a punta a nivel corporativo
Arquitectando la seguridad de punta a punta a nivel corporativoArquitectando la seguridad de punta a punta a nivel corporativo
Arquitectando la seguridad de punta a punta a nivel corporativo
 
Comenzando con Arquitecturas sin servidores
Comenzando con Arquitecturas sin servidoresComenzando con Arquitecturas sin servidores
Comenzando con Arquitecturas sin servidores
 
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
 
Construyendo aplicaciones de Big Data en AWS
Construyendo aplicaciones de Big Data en AWSConstruyendo aplicaciones de Big Data en AWS
Construyendo aplicaciones de Big Data en AWS
 
AWS Lambda + Serverless Framework
AWS Lambda + Serverless FrameworkAWS Lambda + Serverless Framework
AWS Lambda + Serverless Framework
 
Comenzando con Arquitecturas sin servidores
Comenzando con Arquitecturas sin servidoresComenzando con Arquitecturas sin servidores
Comenzando con Arquitecturas sin servidores
 
Cómputo y Almacenamiento en la nube
Cómputo y Almacenamiento en la nubeCómputo y Almacenamiento en la nube
Cómputo y Almacenamiento en la nube
 
Comenzando con Docker en AWS
Comenzando con Docker en AWSComenzando con Docker en AWS
Comenzando con Docker en AWS
 
Extendiendo su centro de datos a la nube de AWS
Extendiendo su centro de datos a la nube de AWSExtendiendo su centro de datos a la nube de AWS
Extendiendo su centro de datos a la nube de AWS
 
Servicios de migración de datos a profundidad
Servicios de migración de datos a profundidadServicios de migración de datos a profundidad
Servicios de migración de datos a profundidad
 
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á...
 
Optimizacion de costos a gran escala
Optimizacion de costos a gran escalaOptimizacion de costos a gran escala
Optimizacion de costos a gran escala
 
Optimización de costos con los diferentes modelos de compra de servicios en l...
Optimización de costos con los diferentes modelos de compra de servicios en l...Optimización de costos con los diferentes modelos de compra de servicios en l...
Optimización de costos con los diferentes modelos de compra de servicios en l...
 
Virtualizacion
VirtualizacionVirtualizacion
Virtualizacion
 
Bases de Datos en Kubernetes
Bases de Datos en KubernetesBases de Datos en Kubernetes
Bases de Datos en Kubernetes
 

Similar a Serverless Wars

Similar a Serverless Wars (20)

Aplicaciones móviles super-escalables
Aplicaciones móviles super-escalablesAplicaciones móviles super-escalables
Aplicaciones móviles super-escalables
 
Windows Azure, Lo mejor del PDC
Windows Azure, Lo mejor del PDCWindows Azure, Lo mejor del PDC
Windows Azure, Lo mejor del PDC
 
Azure Realtime analytics: Análisis de datos en tiempo real
Azure Realtime analytics: Análisis de datos en tiempo realAzure Realtime analytics: Análisis de datos en tiempo real
Azure Realtime analytics: Análisis de datos en tiempo real
 
Descubriendo windows azure
Descubriendo windows azureDescubriendo windows azure
Descubriendo windows azure
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
Azure Bootcamp 2017 - Azure functions
Azure Bootcamp 2017 - Azure functionsAzure Bootcamp 2017 - Azure functions
Azure Bootcamp 2017 - Azure functions
 
SUSE Expert Days 2017 HPE
SUSE Expert Days 2017 HPESUSE Expert Days 2017 HPE
SUSE Expert Days 2017 HPE
 
Entorno de datos Microsoft Cloud
Entorno de datos Microsoft CloudEntorno de datos Microsoft Cloud
Entorno de datos Microsoft Cloud
 
Santiago de Chile - Seguridad Continua en Cloud Computing
Santiago de Chile - Seguridad Continua en Cloud ComputingSantiago de Chile - Seguridad Continua en Cloud Computing
Santiago de Chile - Seguridad Continua en Cloud Computing
 
Nuevas tendencias
Nuevas tendenciasNuevas tendencias
Nuevas tendencias
 
Plataforma de computacion en la nube
Plataforma de computacion en la nubePlataforma de computacion en la nube
Plataforma de computacion en la nube
 
Microservicios con .NET
Microservicios con .NETMicroservicios con .NET
Microservicios con .NET
 
The azure platform TechDay2010
The azure platform TechDay2010The azure platform TechDay2010
The azure platform TechDay2010
 
ASP.NET MVC Workshop Día 3
ASP.NET MVC Workshop Día 3ASP.NET MVC Workshop Día 3
ASP.NET MVC Workshop Día 3
 
Aprende a crear y desplegar una aplicación de python que use APIs de BlueVia
Aprende a crear y desplegar una aplicación de python que use APIs de BlueViaAprende a crear y desplegar una aplicación de python que use APIs de BlueVia
Aprende a crear y desplegar una aplicación de python que use APIs de BlueVia
 
Azure Functions
Azure FunctionsAzure Functions
Azure Functions
 
Meetup En mi local funciona - Serverless... ¡en local! con Serverless Framewo...
Meetup En mi local funciona - Serverless... ¡en local! con Serverless Framewo...Meetup En mi local funciona - Serverless... ¡en local! con Serverless Framewo...
Meetup En mi local funciona - Serverless... ¡en local! con Serverless Framewo...
 
Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo Cabello
Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo CabelloRealtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo Cabello
Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo Cabello
 
Plainconcepts .Net Core Event - Real Time Applications
Plainconcepts .Net Core Event - Real Time ApplicationsPlainconcepts .Net Core Event - Real Time Applications
Plainconcepts .Net Core Event - Real Time Applications
 
Offering Cloud Solutions
Offering Cloud Solutions Offering Cloud Solutions
Offering Cloud Solutions
 

Más de Carlos Mendible (7)

DECRYPTING THE WORLD THROUGH AZURE COGNITIVE SERVICES
DECRYPTING THE WORLD THROUGH AZURE COGNITIVE SERVICESDECRYPTING THE WORLD THROUGH AZURE COGNITIVE SERVICES
DECRYPTING THE WORLD THROUGH AZURE COGNITIVE SERVICES
 
The State of the Developer Ecosystem - .NET Conf Barcelona 2018
The State of the Developer Ecosystem - .NET Conf Barcelona 2018The State of the Developer Ecosystem - .NET Conf Barcelona 2018
The State of the Developer Ecosystem - .NET Conf Barcelona 2018
 
The State of the Developer Ecosystem - .NET Conf Madrid 2018
The State of the Developer Ecosystem - .NET Conf Madrid 2018The State of the Developer Ecosystem - .NET Conf Madrid 2018
The State of the Developer Ecosystem - .NET Conf Madrid 2018
 
PaaS to the Future
PaaS to the FuturePaaS to the Future
PaaS to the Future
 
AKS: Keep your Devs close and your OpsSec closer…
AKS: Keep your Devs close and your OpsSec closer…AKS: Keep your Devs close and your OpsSec closer…
AKS: Keep your Devs close and your OpsSec closer…
 
Azure Functions. Hasta la Vista Server...
Azure Functions. Hasta la Vista Server...Azure Functions. Hasta la Vista Server...
Azure Functions. Hasta la Vista Server...
 
Cloud Design Patterns
Cloud Design PatternsCloud Design Patterns
Cloud Design Patterns
 

Último

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

Último (11)

Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
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
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
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
 
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.
 
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
 
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
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 

Serverless Wars

  • 2. Sergio Navarro Pino @snavarropino Developer @Analyticalways https://serginet.com Carlos Mendible @cmendibl3 Cloud Architect Manager @AccentureSpain https://carlos.mendible.com/
  • 3. What is serverless? “Serverless computing is a cloud-computing execution model in which the cloud provider dynamically manages the allocation of machine resources. Pricing is based on the actual amount of resources consumed by an application, rather than on pre-purchased units of capacity” [Wikipedia] Un poco de historia Mencionado por primera vez por Ken Fromm en el artículo de 2012 Why The Future Of Software And Apps Is Serverless Allí encontramos una cita clave: “The phrase “serverless” doesn’t mean servers are no longer involved. It simply means that developers no longer have to think that much about them”
  • 4. What is serverless? ¿Que aporta? • Abstracción de los Servidores (de la infraestructura en general) • Capacidad de Reaccionar a Eventos y escalar de forma instantánea (Soluciones basadas en eventos) • Modalidad de cobro basado en el tiempo de ejecución y los recursos utilizados (CPU / Memoria / Red). Pago por uso “puro” Esto implica que solo ejecutas código cuando realmente lo necesitas • Failover automático / Trans
  • 5. Serverless vs PaaS ¿Eso no es PaaS? • Serverless es el PaaS que siempre has querido!!! • Si tu PaaS puede levantar instancias en 20 ms y de forma eficiente entonces lo puedes llamar serverless. • PaaS no está diseñado para levantar y tirar aplicaciones enteras en respuesta a eventos mientras que las arquitecturas Serverless te permiten exactamente eso. Function as a Service
  • 6. Serverless vs PaaS ¿Qué decisiones debemos tomar para implementar nuestro código? En PaaS eliges planes / tiers, que te darán una capacidad y un precio fijos. En serverless en principio no debes tomar decisiones de dimensionamiento (¿seguro?) y todo es pago por uso. Cómo nos van a cobrar, ¿sobre qué conceptos? https://cloud.google.com/products/calculator
  • 7. Serverless use cases IoT (Weather stations): thousands of weather stations are sending in intervals weather-related data for processing. It is much easier to scale on Faas than on Paas or any other solutions Data processing (Image Manipulation): If you upload an image in high-resolution size, your Function will generate multiple required sizes for different needs Web Applications (Dashboards): When displaying reporting and statistical data, aggregated from multiple sources. Chatbots (Event-Driven Architecture for Chatbots): Data processing time must be faster than usual backend because, on a chat screen, people expect more immediate responses than on the web and mobile applications.
  • 8. Retos Serverless • Monitoring Monitoring and security occur at the application level • Service communication Serverless applications can overwhelm downstream resources • Service discovery PaaS experience helps • Application Architecture You need a true DevOps approach
  • 9. Google Cloud Functions • Solo se soporta desarrollo con Javascript • Activadores (Triggers) • HTTP • Cloud Storage • Cloud Pub/Sub • Firebase • Tiempo max de ejecución: 540sec (9 min) Environment basado en Docker + Node
  • 10. Google Cloud Functions Tiers disponibles (diferente precio)
  • 11. Google Cloud Functions https://cloud.google.com/functions/docs/writing/ A cloud function is a module! For dependencies, there is only good news as you can use the powers of npm and package.json
  • 13. Amazon Lambda • Soporta JavaScript, Java, C# y Python • Activadores (Triggers) • HTTP via API Gateway • S3 (Storage) • SNS (Notifications) • SES (Email) • DynamoDB (NoSQL) • Kinesis (Data Streams) • CloudWatch (Monitoring) • Cognito (User Sign Up & Sign In) • CodeCommit (Source Control) • Tiempo max de ejecución: 300sec (5 min)
  • 14. • Soporta C#, JavaScript, F#, Python, Batch, PHP, PowerShell • Activadores (Triggers) • HTTPTrigger • Blob • EventHub • Generic WebHook • GitHub WebHook • Queue • ServiceBus Queue • Service Bus Topic • Timer triggers • Event Grid • Tiempo max de ejecución: 600sec (10 min) • Lo creas o no se pueden ejecutar en un contenedor Docker y on-premise con Azure Functions Runtime Azure Functions
  • 15. Conceptos avanzados “Durable” function: Permite escribir funciones con estado en un entorno sin servidor. Diferentes patrones:
  • 17. Serverless Wars La prueba: 25, 50 y 150 users simultaneos lanzando 500 peticiones cada uno La red: FHHT 100 Mb simetricos
  • 19. Serverless Wars Tiempo medio (ms) de respuesta (menor es mejor)
  • 20. Serverless Wars Tiempo mínimo (ms) de respuesta (menor es mejor)
  • 22. Serverless Wars ¿Azure a la cola? No nos podíamos quedar de manos cruzadas... ● Por defecto Azure Functions se ejecuta en Windows ● Ejecutando el código en un contenedor Linux logramos igualar un poco la guerra. ● Difícil escalar de forma infinita por la falta de plan por consumo (Por ahora)
  • 23. Serverless Wars: Azure strikes back Throughput (req/sec)
  • 24. Serverless Wars: Azure strikes back Tiempo medio (ms) de respuesta (menor es mejor)
  • 25. "Yo... he visto cosas que vosotros no creeríais: Atacar naves en llamas más allá de Orión. He visto rayos C brillar en la oscuridad cerca de la Puerta de Tannhäuser. Todos esos momentos se perderán... en el tiempo... como lágrimas en la lluvia. Es hora de morir" - Roy Batty