Profit.co escala la gestión de búsquedas y logs con Elasticsearch para ofrecer experiencias de usuario excepcionales
Profit.co crea un software de gestión de OKR que ayuda a los líderes a ejecutar y medir el progreso. Con marcas que van desde nuevas empresas hasta Fortune 500, la plataforma de Profit.co proporciona una vista singular para gestionar los objetivos, los recursos y el rendimiento del negocio para que sus clientes puedan lograr los resultados deseados.
¿Cómo ayudó Profit.co a aumentar la productividad de sus clientes y ofrecer características para impulsar el compromiso? La empresa necesitaba una solución de búsqueda de texto completo que pudiera escalar. Es por eso que Profit.co eligió Elasticsearch, el potente motor detrás de las soluciones y los productos de Elastic. Profit.co pudo mejorar drásticamente su experiencia de búsqueda. Después del éxito inicial con la búsqueda, el equipo de Profit.co también trasladó su gestión centralizada de logs a Elasticsearch.
Hoy en día, Profit.co utiliza Elasticsearch para crear experiencias de búsqueda positivas y optimizar la gestión de logs, optimizando continuamente el rendimiento para satisfacer las necesidades del usuario final. Conoce más sobre cómo Elastic resolvió los desafíos de Profit.co.
Elasticsearch es un producto increíble. Algunos otros equipos de mi profesión utilizan productos como MongoDB, etc. Pero la forma en que está construida la Elastic Platform (el soporte de API, las características y el soporte para integraciones) es realmente emocionante.
Bastin Gerald, CEO de Profit.co
Postgres no estaba progresando
Al principio, Profit.co utilizó una variedad de soluciones. Según Kumar Devarakonda, vicepresidente y jefe de ingeniería de Profit.co, "Comenzamos con MySQL y luego pasamos a Postgres, porque tenía algunas características adicionales en comparación con MySQL".
Pero Postgres tuvo dificultades para escalar. Los usuarios de Profit.co necesitan buscar en múltiples campos, obtener resultados más rápido y ordenarlos según su relevancia. Para ayudar a sus usuarios, Profit.co se dio cuenta de que necesitaba una solución de búsqueda de texto completo. Devarakonda explica: "Solíamos tener Postgres combinado en cada tabla donde queríamos realizar consultas. Cuando almacenamos el objeto, solíamos captar todos los campos de nuestros datos de todos los campos y luego almacenarlos en esa única columna. Pero era muy lento. Tampoco dio resultados precisos, como la relevancia de la puntuación".
Mientras el equipo de Profit.co buscaba, descubrió que la mayoría de las soluciones eran muy lentas y carecían de la precisión que requerían los clientes de Profit.co. Mientras exploraba soluciones, el equipo encontró a Elasticsearch y, en 2014, decidió cambiarse.
"Elastic nos ha ayudado en términos de escalabilidad de la aplicación", según Devarakonda. Fue una transición lenta a Elastic. Y continúa: "Comenzamos con las búsquedas de texto y solíamos mantener el almacenamiento dual en Postgres y Elasticsearch. Almacenamos el registro en Postgres y también lo utilizamos para enviar los datos a Elasticsearch".
Entonces Devarakonda se dio cuenta: "¿Por qué necesitamos mantener el almacenamiento dual? ¿Por qué no podemos ir directamente a Elasticsearch?" Al almacenar todo en Elasticsearch, Profit.co pudo ganar velocidad y optimizar la experiencia no solo para los usuarios finales, sino también para los equipos internos.
Necesidad de velocidad
La velocidad fue la razón principal para el cambio. Pero Devarakonda afirma: "Comenzamos a buscar una solución que pudiera proporcionar relevancia en la puntuación". Y continúa: "Sin Elastic, obviamente habríamos seguido teniendo clientes frustrados que siempre buscaban la información. Y no habrían obtenido información precisa".
La lentitud con Postgres había afectado todos los recursos en el futuro. Los usuarios estaban esperando. Los equipos de ingeniería también experimentaron retrasos al intentar implementar cambios. Pero con Elastic, las velocidades mejoraron. Una búsqueda tardaría más de 10 segundos en una base de datos tradicional. Cuando los equipos usaron Elastic, las búsquedas complejas (búsquedas en múltiples campos) tuvieron una respuesta inferior a 100 milisegundos.
Incapacidad para escalar
Junto con las experiencias de búsqueda mejoradas, el cambio a Elastic también ayudó a Profit.co a escalar. Según Devarakonda, "Teníamos dificultades con el límite en el número de conexiones con Postgres. La capacidad de Elastic para escalar horizontalmente permite que se conecte cualquier cantidad de clientes, según la disponibilidad de recursos de la infraestructura, en lugar de una cantidad predeterminada de conexiones".
Ahora, Profit.co puede tener múltiples clusteres sin preocuparse por separar a los usuarios en clusteres. Elastic también brinda soporte para los campos anidados. Profit.co puede almacenar cualquier dato en el documento, incluso un documento grande. Y para los equipos de Devarakonda, "no tenemos que analizar los datos antes de almacenarlos". Esto ahorra un valioso tiempo de desarrollo para que los equipos puedan centrarse en tareas de mayor valor.
¿Por qué Elastic?
Además de la velocidad y la escala, ¿por qué Profit.co eligió Elastic? Devarakonda necesitaba cierta funcionalidad que pudiera ayudar a sus equipos a sobresalir. "La consulta en campos anidados también es una de las razones por las que elegimos Elastic. Además del soporte para integraciones, es la razón por la que finalmente optamos por Elastic".
Para los miembros del equipo, fue un cambio simple. "Elastic es fácil de aprender desde la perspectiva del desarrollador. La incorporación es muy rápida", explica Devarakonda. Además, Elastic es lo suficientemente seguro no solo para cumplir con las expectativas, sino también para superarlas. Elastic le brinda a Devarakonda controles estrictos sobre la codificación, a diferencia del SQL normal. Y continúa: "No necesitamos escribir ninguna consulta personalizada. Todo está disponible como una API, lo que genera menos errores durante la codificación". Menos errores significa mejores características y una experiencia de usuario más positiva.
Gestión centralizada de logs
Una vez que Profit.co comenzó a utilizar Elastic para la búsqueda, el equipo se dio cuenta de los beneficios adicionales que podría tener para su organización. Elastic + Google Cloud les ayudó a optimizar sus capacidades de monitoreo de logs. "Tener un sistema de logging centralizado es algo que buscábamos antes de migrar a Google Cloud". Devarakonda continúa: "Con Elastic, podíamos hacer la verificación fácilmente con un script automatizado y encontrar los archivos de logs necesarios para la depuración, etc.".
El director ejecutivo y fundador de Profit.co, Bastin Gerald, también vio un valor inmenso. "Todo lo que sale y entra se registra en esa base de datos en un cluster de Elastic separado que utilizamos para la verificación". Ahora los equipos pueden usar Elastic para identificar la pérdida de datos, la prevención y más en aproximadamente 2 millones de solicitudes por día. El uso de Elasticsearch también permite a los equipos de Profit.co ahorrar aproximadamente el 90 % del costo total. Los logs ingestados de todos los nodos de aplicaciones y microservicios contribuyen a solo 5 GB de almacenamiento por día.
Gerald explica: "En términos de monitorear las solicitudes y respuestas que salen de nosotros y llegan a nosotros, las registramos todas en un cluster separado. Si el rendimiento de un cliente en particular es malo o el tamaño de los datos es grande, estas son las solicitudes de clasificación que analizamos". Ser capaz de obtener una visión general del rendimiento ayuda a abordar las inquietudes de los clientes antes de que se conviertan en un problema mayor.
El futuro de Profit.co
Profit.co actualmente brinda soporte a alrededor de 500 clientes. A medida que su base de clientes continúa expandiéndose, Elastic crecerá con ella.
Nos encanta Elastic. Digo, hemos estado usando Elasticsearch durante los últimos ocho años. Personalmente, en términos de nuestro producto, desarrollo e implementación, Elastic es una parte integral de nosotros.
Bastin Gerald, CEO de Profit.co
Conoce más sobre Elasticsearch y despliégalo en tu cloud preferido en minutos. Puedes probar Elasticsearch de forma gratuita durante 14 días. Regístrate ahora.