Arquitectura Serverless: Diseño y Escalabilidad de Funciones
Clase 26 de 27 • Curso de Introducción a la Nube
Contenido del curso
Cómo entender la nube
Introducción a Cloud Computing / Nube
- 7

Introducción a Cloud Computing: Conceptos y Beneficios de la Nube
08:22 min - 8

Ventajas de Usar Cloud Computing para Empresas y Desarrolladores
08:37 min - 9

Cambios al Implementar Platzi Wallet en la Nube
11:04 min - 10

Infraestructura Global en la Nube: Regiones y Zonas de Disponibilidad
10:34 min - 11

Modelos de Nube: Privada, Pública, Híbrida y Multinube
08:06 min
Conceptos de Cloud Computing / Nube
- 12

Conceptos y Beneficios de Cloud Native en Desarrollo de Aplicaciones
15:11 min - 13

Arquitectura Cloud Native: Construcción de Aplicaciones Escalables
11:09 min - 14

Arquitectura Serverless: Ventajas y Retos en Cloud Computing
14:49 min - 15

Componentes clave en arquitecturas serverless
12:58 min - 16

Patrón síncrono en arquitecturas serverless con Platzi Wallet
06:13 min - 17

Principales Proveedores de Servicios Cloud y Sus Ventajas
06:49 min
Multi-Nube
Modelos de servicio en Cloud Computing / Nube
Características de una arquitectura en Cloud Computing /Nube
Construyendo nuestra arquitectura
- 23

Diagramación de Arquitectura Agnóstica para Aplicaciones
16:59 min - 24

Arquitectura de Servidores para Escalabilidad y Alta Disponibilidad
13:30 min - 25

Arquitectura de Aplicaciones con Contenedores y Kubernetes
14:45 min - 26

Arquitectura Serverless: Diseño y Escalabilidad de Funciones
Viendo ahora - 27

Conceptos Clave de Arquitectura en la Nube
01:59 min
Explorando el mundo serverless en la arquitectura de aplicaciones
El paradigma serverless está remodelando la forma en que entendemos y construimos aplicaciones en la nube. Dejar de lado la gestión de servidores y enfocarse en componentes que se ejecutan en respuesta a eventos es una propuesta valiosa. Pero, ¿cómo luciría una arquitectura completamente inmersa en este modelo? Veamos cómo evolucionaría nuestra aplicación al adoptar esta tendencia y qué consideraciones tendríamos que tener en cuenta.
¿Qué es una arquitectura serverless y cuáles son sus componentes claves?
Una arquitectura serverless implica desvincularnos de la administración directa del hardware y enfocarnos en el código y las funciones que responden a eventos específicos. En este modelo, componentes como bases de datos, funciones (llamadas functions as a service o FaaS) y otros servicios administrados son usados para construir aplicaciones escalables y eficientes.
¿Cómo se integran las funciones en el diseño de una arquitectura serverless?
Integrar funciones en una arquitectura serverless se traduce en diseñar pequeños bloques de código que ejecutan tareas específicas. Estas funciones se activan a través de un API Gateway, que actúa como un director de orquesta, redirigiendo peticiones entrantes hacia la función correspondiente, ya sea para consultar saldos, procesar pagos, o cualquier otra operación definida por el camino de acceso o path.
¿Qué papel juega un CDN en una arquitectura serverless?
Un Content Delivery Network (CDN) puede jugar un rol innovador en una arquitectura serverless. Algunos CDNs permiten ejecutar funciones en el propio edge, lo que posibilita operaciones como transformaciones de solicitudes o redirecciones 301/302 directamente donde están siendo servidos los contenidos, otorgando mayor rapidez y eficiencia a las operaciones comunes.
¿Cuáles son las consideraciones al utilizar bases de datos en serverless?
Una arquitectura serverless favorece el uso de bases de datos no relacionales tipo llave-valor, que se adaptan de manera más efectiva a este enfoque. Sin embargo, si se requieren bases de datos relacionales, es crucial tener en cuenta el manejo de conexiones. Los Cloud Providers ofrecen proxies de base de datos que gestionan estas conexiones y aseguran la resiliencia y el correcto manejo de los datos en caídas o fallos.
¿Cómo manejar la concurrencia y escalabilidad de funciones serverless?
Uno de los aspectos cruciales de las funciones serverless es la gestión de la concurrencia, que determina el número de ejecuciones simultáneas permitidas. Al reservar una concurrencia para funciones cruciales, como las de pagos o consulta de saldos, se garantiza su disponibilidad y capacidad de respuesta. Este manejo adecuado de la concurrencia asegura una distribución de recursos eficiente entre todas las funciones de la aplicación.
¿Qué es y para qué sirve un orquestador de funciones?
Un orquestador de funciones es una herramienta que permite coordinar y dirigir el flujo de ejecución entre diferentes funciones. En el contexto serverless, es crucial ya que las aplicaciones suelen constar de múltiples microservicios que requieren trabajar en conjunto para realizar operaciones más complejas. Herramientas como AWS Step Functions o Apache Airflow son ejemplos de orquestadores que facilitan estas interacciones.
¿Cómo abordar la problemática del cold start en serverless?
El cold start es un fenómeno en el que el tiempo de arranque inicial de una función puede afectar la experiencia del usuario. Para mitigar esto, es posible diseñar una arquitectura híbrida que combine contenedores y funciones serverless, asignando operaciones críticas como pagos a contenedores que tienen tiempos de arranque más rápidos y predecibles.
¿Qué importancia tiene el CI/CD en serverless?
En serverless, el Continuous Integration y Delivery (CI/CD) es esencial para automatizar la entrega y despliegue de funciones. Tener un repositorio de código (repo) donde se almacenen y versionen las funciones permite un ciclo de vida de desarrollo y mantenimiento eficiente y seguro para cada componente de la aplicación.
Las arquitecturas serverless destacan por su escalabilidad, eficiencia y por la reducción en la gestión de infraestructura. No obstante, elegir esta modalidad requiere de una cuidadosa planificación y comprensión de sus desafíos específicos. Considerar las implicaciones de concurrencia, el arranque en frío de las funciones y la orquestación son solo algunas de las piezas clave que determinarán el éxito de tu enfoque serverless. ¿Estás preparado para dar el salto a esta tendencia de diseño arquitectónico? La decisión es tuya, pero los beneficios y consideraciones están claros en este emocionante viaje hacia la modernización de aplicaciones.