9. ¿Qué es Serverless? 9
Serverless es acerca de no-mantenimiento
Serverless no se trata de una tecnología
específica
Serverless es acerca de (micro) funcionalidad
Serverless es acerca de sencillez pero no
necesariamente más sencillo
10. ¿Qué es Serverless? 10
Serverless es sobre repensar el código
Serverless se trata de no tener una manera
fija de hacer las cosas
11. Serverless Manifesto 1 / 2 11
“Función” es la unidad de medida y despliegue
En este modelo de programación no se consideran
máquinas físicas ni virtuales ni tampoco contenedores
El almacenamiento permanente se ubica en otro lugar o
servicio
Dado que la capacidad se ajusta a las peticiones no se
puede sobre- o sub- provisionar recursos
12. Serverless Manifesto 2 / 2 12
No se paga por recursos inactivos, no hay servidores ni
contenedores “en frío”
La tolerancia a fallas está implícita porque las funciones
se ejecutan en cualquier parte
BYOC - Bring Your Own Code
Métricas y Bitácoras son un derecho universal
14. ¿Qué es Serverless? 14
Serverless es un estilo de arquitectura de
aplicaciones que elimina la necesidad de
desplegar nuestros propios servidores en la
nube y los reemplaza con el uso generalizado
de los recursos de cómputo.
15. Retos para la adopción de Serverless 15
Cargas de Trabajo
Desarrollo
Monitoreo
Cultura y organización
Dependencia de un proveedor
Escalamiento masivo - ¿Cuenta masiva?
Modelo de Seguridad
20. Referencias - Libros 20
https://leanpub.com/serverless
http://shop.oreilly.com/product/0636920033158.do
21. Referencias - Videos 21
George, Fred [GOTO Conferences](2015,Ago,12) Challenges in
implementing MicroServices
https://youtu.be/yPf5MfOZPY0
Newman, Sam [Devoxx] (2015,Nov,11) Principles of Microservices
https://youtu.be/PFQnNFe27kU
Cockcroft, Adrian [Rackspace Developers] (2015,Ene,19) The State of
the Art in Microservices
https://youtu.be/pwpxq9-uw_0
Meshenberg, Ruslan [GOTO Conferences] (2016,Sep,2) Microservices at
Netflix Scale: Principles, Tradeoffs & Lessons Learned
https://youtu.be/57UK46qfBLY
En lugar de construir un monolito cada vez más grande, hay que dividir la aplicación en los servicios interconectados más pequeños.
Hoy en día un cambio realizado en una pequeña parte de la aplicación requiere reconstruir y desplegar el monolito completo.
Estos servicios están construidos alrededor de las capacidades de negocio.
Se ocupan de sus propios controles de seguridad, enrutamiento, el flujo de trabajo empresarial y validación, y la transformación de mensajes, en lugar de delegar esas preocupaciones a la infraestructura de integración.
Cada microservicio tiene su propio repositorio de datos si lo requiere
Esta desnormalización puede conducir a una cierta cantidad de replicación de datos, lo que obliga a que el sistema sea eventualmente consistente.
Si la aplicación monolito falla, a menudo la falla es completa y el sistema deja de estar disponible.
Uno de los fundamentos de la arquitectura de microservicios es ser tolerante a cambios en la medida posible, incluso para aquellos que no hemos anticipado.
Máquina Virtual como unidad de escalamiento
Crea la abstracción de hardware
“Yo quiero configurar mis equipos, almacenamiento, conectividad y sistema operativo”
Aplicaciones como unidad de escalamiento
Crea la abstracción del Sistema Operativo
“Yo quiero configurar aplicaciones y controlar la escalabilidad”
Función es la unidad de escalamiento
Crea la abstracción del ambiente de ejecución
“Yo quiero que mi código se ejecute cuando sea requerido”
Herramientas inmaduras
Obie Fernandez –
Sam Newman -
Adrian Cockcroft is known for helping lead Netflix’s migration to a large scale, highly available public-cloud architecture and the open sourcing of the cloud-native NetflixOSS platform.
Ruslan Meshenberg – Director of Platform Engineering at Netflix
Fred George – Es Fred George!