En nuestra perspectiva de datos para 2022, planteamos la pregunta de si las nubes de datos, o la computación en la nube en general, serán más fáciles este año. Nuestra pregunta estaba dirigida a la desconcertante variedad de servicios en la nube. Hay muchas opciones para el cliente, pero ¿demasiadas opciones podrían ser demasiado buenas?
Hay otro lado de la ecuación: elegir su huella de computación en la nube. Se supone que Serverless debe abordar eso. Usted se suscribe al servicio y el proveedor de la nube (o servicio) escalará automáticamente el clúster en función de los tipos de instancia predeterminados para el servicio. Una startup que acaba de ganar financiamiento semilla argumenta que la tecnología serverless se trata más de conveniencia que de eficiencia.
Sync Computing acaba de emerger del sigilo con una financiación inicial de 6,1 millones de dólares y ahora ofrece un servicio Autotuner basado en la nube que inspeccionará los registros de su carga de trabajo de Spark y recomendará la huella de instancia óptima. Sync Computing eligió Spark porque es popular y, por lo tanto, un primer objetivo lógico.
Seamos más específicos. Tiene en cuenta la nube específica en la que se han estado ejecutando las cargas de trabajo de Spark, teniendo en cuenta los tipos de instancias informáticas disponibles y las ofertas de precios relevantes.
La pregunta natural que se debe hacer es, ¿la computación sin servidor ya no soluciona este problema al permitir que el proveedor de servicios en la nube ejecute el ajuste de escala automático? La respuesta es, por supuesto, bastante subjetiva. Según CEP y el cofundador Jeff Chou, serverless se trata más de automatizando aprovisionamiento de nodos y ampliación o reducción en lugar de elegir los nodos correctos para el trabajo.
Pero hay otra parte de la respuesta que es objetiva: no todos los servicios de computación en la nube son sin servidor, y Spark, el objetivo inicial de Sync, en la mayoría de los casos actualmente solo se ofrece como un servicio aprovisionado. Hace unos meses, Google Cloud lanzó Spark sin servidor, mientras que Microsoft introdujo grupos de SQL sin servidor para Azure Synapse (que permite consultar tablas de Spark externas) y Databricks ofrece una vista previa pública.
Hemos criticado el problema de hacer malabarismos con las instancias de computación en la nube en el pasado. Por ejemplo, cuando contamos por última vez hace unos años, AWS tenía cinco categorías de instancias, 16 familias de instancias y 44 tipos de instancias; estamos seguros de que ese número es mayor ahora. Hace un par de años, AWS lanzó Optimizador de cómputo, que utiliza el aprendizaje automático para identificar patrones de carga de trabajo y configuraciones sugeridas. No hemos encontrado ofertas similares para otras nubes, al menos todavía.
Hay una interesante historia de fondo sobre cómo se le ocurrió a Sync Autotuner. Fue el resultado de aplicar el modelo Ising para optimizar el diseño de circuitos en un chip. Ising analiza los cambios de fase que ocurren dentro de un sistema, lo que puede aplicarse a cualquier cosa que tenga que ver con el cambio de estado: podría ser el estado térmico, o el cambio de fase de un material, o los cambios que ocurren en varias etapas de los cálculos. . Y ahí es donde entra en juego la optimización de la huella de computación en la nube para un problema específico; en este caso, se ejecuta la computación de Spark.
Con la compañía saliendo del sigilo, sus ofertas son un trabajo en progreso. Las piezas básicas de Autotuner están en su lugar: un cliente puede enviar registros de sus ejecuciones de cómputo Spark anteriores, y el algoritmo realizará optimizaciones ofreciendo una selección de opciones: optimizar por costo u optimizar por rendimiento; entonces el cliente vuelve. En muchos sentidos, es similar a las optimizaciones de consultas clásicas para SQL. Actualmente es compatible con EMR y Databricks en AWS. Un cliente de referencia, Duolingo, pudo reducir el tamaño de su grupo de trabajo en 4 veces y los costos de trabajo a la mitad.
En el futuro, Sync Compute tiene la intención de actualizar Autotuner a una API que pueda funcionar automáticamente; basado en las preferencias del cliente; cambiaría automáticamente el tamaño del clúster. Y luego, tiene la intención de extender esto a la programación y orquestación de trabajos. Así como hay optimizaciones para las instancias de cómputo, hay optimizaciones para programar una serie de trabajos, encadenando trabajos que requerirían la misma huella de cómputo.
Por supuesto, con todo lo relacionado con los datos, la computación no es la única variable; la forma de almacenamiento también influye. Pero en este punto, Sync Computing apunta a la computación. Y por ahora, apunta a trabajos de cómputo de Spark en AWS, pero no hay razón para que el enfoque no pueda extenderse a Azure o Google Cloud o aplicarse a otros motores de cómputo, como los que se usan para redes neuronales, aprendizaje profundo o HPC.
Es un comienzo.