En ocasiones, Coinbase tiene que manejar una alta volatilidad de tráfico de usuarios que a veces provoca bruscos cambios en el mercado de criptomonedas. Para abordar este problema, Coinbase ha implementado un sistema de escalado automático que utiliza modelos predictivos de aprendizaje automático, anticipando los picos de tráfico y evitando la saturación en sus sistemas.
Para el escalado
La compañía usa tres métodos de escalado, dependiendo de las circunstancias. El primero es el escalado horizontal, aunque es complicado por limitaciones técnicas y la necesidad de restaurar instancias desde copias de seguridad, lo cual es un proceso lento. Además, la arquitectura de un solo escritor por fragmento limita la capacidad de escalar las operaciones de escritura.
El otro método utilizado es la fragmentación, pero no puede incrementarse rápidamente en respuesta a picos de tráfico debido a su complejidad y tiempo requerido para la reconfiguración.
Por ello, el método preferido en Coinbase es el escalado vertical, aunque implica reiniciar nodos y una caída temporal de la capacidad. No obstante, permite reconectar discos a nuevas instancias más grandes de manera más eficiente.
Predicción y escalado proactivo
El método tradicional de escalado basado en la carga de CPU se mostró insuficiente para las necesidades de Coinbase. Por ello, la empresa adoptó un enfoque predictivo, utilizando modelos de aprendizaje automático para anticipar picos de tráfico con al menos 60 minutos de antelación, superando las limitaciones de los modelos de series temporales.
La compañía adoptó un modelo predictivo basado en la clasificación a largo plazo, que utiliza señales externas como las fluctuaciones de precios de criptomonedas. Este modelo predice con mayor precisión la necesidad de escalar recursos, permitiendo a la plataforma ajustarse de manera proactiva a los picos de tráfico, asegurando la eficiencia operativa.
Además, el sistema de escalado automático de Coinbase ajusta la capacidad en función de un «objetivo de escala» determinado por las predicciones del modelo. Si el tráfico previsto supera la capacidad actual, la infraestructura se expande; si no, se reduce para optimizar recursos. Un modelo adicional estima semanalmente la capacidad necesaria, garantizando que los recursos se utilicen de manera eficiente mediante pruebas de carga y análisis de métricas clave.