Componentes clave en arquitecturas serverless

Clase 15 de 27Curso de Introducción a la Nube

Resumen

¿Cuáles son los componentes típicos de una arquitectura serverless?

Sumergirse en el mundo serverless es fundamental para cualquier arquitecto de software moderno. Este enfoque permite desarrollar aplicaciones más ágiles y eficientes al eliminar la necesidad de gestionar servidores. Los componentes serverless son clave, y entenderlos puede ayudarte a diseñar soluciones innovadoras adaptadas a tus necesidades.

¿Cuál es el papel de los streams en una arquitectura serverless?

Los streams son una pieza esencial en arquitecturas serverless, especialmente cuando lidiamos con aplicaciones en tiempo real. Estos funcionan como una secuencia de eventos o datos procesados casi inmediatamente después de ser generados. Por ejemplo, en un servicio como Platzi Wallet, cuando un usuario realiza un pago, este evento se captura y envía a un stream. El stream es capaz de manejar cientos de millones de eventos simultáneamente y puede dirigir estos datos, por ejemplo, a un dashboard que ofrezca visualizaciones en tiempo real a equipos de trabajo.

¿Qué función tienen las colas?

Las colas son indispensables para desacoplar componentes y gestionar el trabajo diferido dentro de una arquitectura serverless. Imagínate cuando una gran cantidad de usuarios solicita certificados al mismo tiempo en Platzi Wallet. Sin una cola, el servicio podría colapsar. Al implementar una cola, las solicitudes se procesan en orden de llegada, evitando la saturación del sistema y asegurando que cada usuario reciba su respuesta sin interrumpir el funcionamiento de la aplicación.

¿Cómo se utilizan los buckets en un entorno serverless?

Un bucket, en un contexto serverless, es un servicio de almacenamiento diseñado para guardar y acceder a objetos como archivos e imágenes. En el mundo de Platzi Wallet, las fotos de perfil de los usuarios se almacenan como objetos en un bucket. El costo del servicio se determina según la cantidad de información almacenada y las peticiones recibidas para acceder a estos objetos.

¿Qué son las APIs y su importancia?

Las APIs, o Application Programming Interfaces, actúan como la puerta de entrada de una aplicación y permiten que dos componentes de software se comuniquen utilizando protocolos y definiciones. En plataformas en la nube, encontrarás APIs REST, HTTPS, WebSocket, y GraphQL, que generalmente son serverless, lo que elimina la necesidad de gestionar un servidor para estas operaciones. Estas APIs facilitan la interoperabilidad y permiten que la aplicación interactúe con otros servicios de manera eficiente.

¿Qué es un data store y cómo se implementa?

Los data stores están diseñados para el almacenamiento de datos, y en sistemas serverless suelen referir a bases de datos no relacionales que pueden utilizarse para gestionar información, como en el caso de Platzi Wallet. Pueden ser bases de datos de llave-valor, en memoria, basadas en grafos o documentales, proporcionando flexibilidad y escalabilidad al gestionar diversas formas de datos.

¿Por qué son cruciales los servicios de identidad?

El acceso seguro y el control de permisos son vitales en cualquier aplicación. Los servicios de identidad manejan la autenticación (identificar quién es el usuario) y autorización (qué puede hacer este usuario). Esto asegura que solo los usuarios adecuados tengan acceso a funciones específicas en la aplicación, protegiendo tanto la información sensible como la integridad operativa.

¿Cuáles son las funcionalidades de un motor de consultas?

Los motores de consultas, como Presto, permiten ejecutar querys SQL en diferentes fuentes de datos, desde el almacenamiento de objetos hasta bases de datos relacionales y no relacionales. Esta capacidad de centralizar queries y procesos es extremadamente útil para extraer información relevante de varias fuentes sin la necesidad de mover masivamente los datos, cobrando usualmente por la cantidad de datos escaneados.

¿Cómo funcionan los balanceadores de carga?

Los balanceadores de carga distribuyen eficientemente el tráfico entre múltiples recursos para evitar la sobrecarga de un único servidor. En el caso de Platzi Wallet, un balanceador de aplicación opera en la capa 7 del modelo OSI, manejando solicitudes HTTP/HTTPS, mientras que un balanceador de red se focaliza en tráfico IP, UDP y TCP en las capas 3 y 4. Al equilibrar las peticiones, aseguran la disponibilidad continua y el óptimo desempeño del servicio.

El mundo serverless ofrece una serie de componentes clave que permiten construir aplicaciones robustas sin tener que preocuparse por la gestión del backend. Desde streams que facilitan el procesamiento en tiempo real, hasta servicios de identidad que garantizan la seguridad, el comprender y utilizar estos elementos puede transformar radicalmente la manera en que desarrollamos y gestionamos servicios digitales en la actualidad.