La ilusión serverless
- Serverless se ha consolidado como una tendencia central en la tecnología cloud.
- Este paradigma permite que los desarrolladores se concentren en la lógica de negocio sin la carga de administrar servidores.
- Modelo de pago: pagas solo por lo que usas y la carga operativa se reduce prácticamente a cero.
- Han aparecido muchas bases de datos serverless, y compiten líderes establecidos como Elastic, Confluent y Pinecone junto con nuevos entrantes como Neon, WarpStream, Upstash y Turbopuffer.
Problemas de las bases de datos serverless actuales
- Muchas bases de datos serverless no son verdaderamente serverless.
- La mayoría de estos servicios se basan en una arquitectura cloud native, que es un diseño innovador para la era de los grupos de servidores.
- Operan clústeres de servidores y, mediante software complejo y la intervención humana, pronostican la carga y gestionan la capacidad.
- Esta ilusión termina causando problemas reales a los usuarios.
Efectos de una arquitectura ineficiente
- La desalineación arquitectónica no es un detalle técnico menor; provoca problemas reales para los usuarios.
- Los usuarios terminan pagando por costos de servidores ociosos, y los clústeres de servidores se mantienen en ejecución para cumplir con objetivos diversos.
- Problemas de escalabilidad: agregar nuevos servidores al clúster tarda varios minutos, por lo que no se pueden manejar picos de tráfico de manera instantánea.
- Elección limitada: al requerir gestión de infraestructura por cada región cloud, las opciones de región para los usuarios quedan restringidas.
Un modelo insostenible
- Las bases de datos serverless basadas en una arquitectura de clústeres de servidores no son sostenibles.
- Los proveedores deben invertir una suma considerable para operar esos clústeres de servidores, y eso puede traducirse en cambios de precios.
- Los usuarios ligeros terminan pagando tarifas desproporcionadas para sostener el sistema, y los usuarios exitosos enfrentan aumentos de precio inesperados.
La necesidad de una arquitectura serverless nativa
- En los inicios de la computación en la nube, la mayoría de las bases de datos de “cloud” eran bases de datos legacy.
- La arquitectura serverless nativa delega toda la gestión de infraestructura al proveedor cloud y utiliza funciones sin estado y servicios serverless en lugar de clústeres de servidores.
- Este enfoque trata la infraestructura cloud como una supercomputadora gigante, lo que habilita escalabilidad inmediata y un modelo de pago auténtico por solicitud.
- Prueba de Litmus: para verificar si una base de datos es verdaderamente serverless nativa, hay que validar que puedas desplegarla en una cuenta cloud sin aprovisionar un clúster de Kubernetes o una VM.
Presentación de LambdaDB
- LambdaDB es un nuevo motor de búsqueda construido como serverless nativo.
- Este sistema funciona como un conjunto de funciones y recursos serverless, separando por completo la lógica de base de datos de la infraestructura.
- Las solicitudes de los usuarios pasan por una puerta de enlace regional y se enrutan a Funciones de Control (Control Functions) o Funciones de Datos (Data Functions) según el tipo de solicitud.
- Funciones enterprise: LambdaDB incluye recuperación de punto en el tiempo y clonación sin copias (zero-copy cloning), sin requerir gestión de infraestructura.
Cómo funciona LambdaDB
- Arquitectura de LambdaDB: todos sus componentes se construyen con servicios cloud serverless.
- El gateway valida la clave API de la solicitud del usuario y enruta la petición a una función de control o a una función de datos.
- Las funciones de control manejan operaciones CRUD y solicitudes de administración de datos, mientras que las funciones de datos realizan las escrituras y lecturas reales.
- Ruta de escritura: la Writer Function registra la solicitud, la guarda en un búfer de escritura serverless persistente y luego responde al cliente.
La paradoja de la eficiencia de costos
- LambdaDB reduce los costos de cómputo frente a bases de datos basadas en clústeres de servidores.
- Aunque el precio unitario de Lambda sea mayor que el de una instancia EC2, el costo se reduce gracias a la redundancia necesaria para garantizar alta disponibilidad y tolerancia a fallas.
- Desperdicio de capacidad fija: la utilización promedio de cómputo en una empresa suele ser solo de 10% a 20%, por lo que el cómputo serverless puede ahorrar entre 50% y 90% de costos.
Rendimiento y escalabilidad
- Rendimiento y escalabilidad: LambdaDB validó su desempeño con una prueba que ingirió millones de vectores de 960 dimensiones.
- Latencia de escritura: con 10 upserts por segundo, la latencia mediana fue de 43 ms y se mantiene en un rango similar incluso cuando el tráfico se incrementa 100 veces.
- Latencia de consulta: la latencia de consulta se mantiene estable bajo distintas cargas, con un percentil 99 entre 172 ms y 210 ms.
- Esfuerzo de optimización: se optimiza de forma continua para mejorar la latencia de las funciones de consulta y, en paralelo, también mejora la infraestructura serverless.
Beneficios para clientes
- Reducción de costos: LambdaDB es más de 10 veces más barato al no tener servidores ociosos.
- Escalabilidad instantánea e ilimitada: LambdaDB puede escalar a miles de funciones paralelas en milisegundos.
- Inicio y escalado simple: permite construir aplicaciones de IA robustas y, a medida que el sistema crece, la arquitectura sigue siendo simple y eficiente en costos.
- Funciones enterprise: ofrece funcionalidades como recuperación de punto en el tiempo y clonación sin copias, sin complejidad ni costos extra.
Planes futuros y visión
- LambdaDB ya maneja cientos de millones de documentos y procesa millones de solicitudes cada día.
- Plan a largo plazo: planea soportar otros modelos de datos (relacional, stream, clave-valor, grafo, entre otros).
Aún no hay comentarios.