Las tareas específicas exigen soluciones específicas. Eso es lo que suelen buscar los proyectos de cadenas de bloques cuando se ponen en contacto con nosotros. Este caso es un ejemplo brillante de la evolución de la solicitud de un cliente durante la fase de investigación y de la cooperación de los equipos para hacer frente a desafíos complejos.
En este artículo, descubrirás cómo gestiona Dysnix las tareas del cliente, desde el acuerdo hasta las etapas de soporte, y qué beneficios esperados y adicionales generamos para nuestros clientes.
Nansen.ai es una plataforma de análisis de cadenas de bloques que ayuda a los operadores y a los proyectos de cadenas de bloques al destacarles e informarles sobre los cambios y tendencias esenciales que se producen en la cadena de bloques (especialmente en el sector de las criptomonedas). Se encargan de procesar los petabytes de datos comerciales que circulan en sus sistemas a diario para proporcionar la información más valiosa a sus clientes las 24 horas del día, los 7 días de la semana.
Los requisitos de Nansen a la hora de buscar proveedores de soluciones eran extremadamente altos debido al conocimiento tecnológico de la propia empresa. Eligieron a Dysnix por su experiencia, que puede complementar de manera significativa a su equipo interno, por su facilidad para compartir conocimientos y por su enfoque ingenioso para la resolución de problemas técnicos.
Como señal de un proyecto prometedor, Nansen se puso en contacto con nosotros con un objetivo principal que parecía más bien: «Creemos que necesitamos esto y aquello. ¿Qué opinas al respecto?» Tras una breve conversación sobre el tema, ambas partes comprendieron que Dysnix podía profundizar aún más en el problema y resolverlo de la manera más optimizada.
Así que todos se entusiasmaron con los futuros milagros técnicos y de comunicación que se manifestarían.
Solo se necesitaron dos llamadas para establecer todas las conexiones entre las empresas y acordar los puntos clave de la cooperación. La pandemia de COVID nos mostró cómo cualquier tema y desafío puede discutirse y resolverse con éxito, sin importar qué tan lejos estén sus colegas. Así que no perdimos demasiado tiempo antes del desarrollo.
Por parte de Dysnix, seleccionamos cuidadosamente a dos ingenieros, un arquitecto de nube y un ingeniero sénior de DevOps, con experiencia en blockchain. Por parte de Nansen, prepararon todos los requisitos y solo asignaron a unos pocos especialistas para que se comunicaran con nuestro equipo. Nuestro cliente nos delegó el 100% del trabajo y confió completamente en nosotros.
Dysnix estaba listo para lanzarse.
En la última declaración, Nansen.ai contrató a Dysnix para desarrollar, implementar y respaldar una infraestructura confiable, autónoma y segura para las necesidades específicas de la plataforma de análisis de blockchain. Un alto nivel de seguridad era un punto esencial de la solicitud.
Nansen necesitaba un despliegue a prueba de fallos y altamente seguro para el nodo validador de la cadena de bloques Ronin con almacenamiento seguro de claves privadas.
El nodo validador Ronin que Nansen planeaba obtener no podía satisfacer sus necesidades. Era un nodo validador típico que estaba estrechamente conectado a toda la red y no tenía todas las características necesarias. La tarea de Dysnix consistía en implementar un entorno de cadena de bloques de este tipo que añadiera nuevas funciones al validador Ronin sin ningún cambio en la funcionalidad del nodo en sí.
El equipo de Dysnix planificó una solución con el siguiente aspecto:
Antes de analizar más detenidamente la solución que ofrecieron los ingenieros de Dysnix, analicemos el nivel más alto de requisitos establecidos.
La solución cumple con las siguientes expectativas y requisitos del cliente:
Pero nos ofrecimos ir aún más lejos y añadir otras mejoras desde el principio:
Nuestra oferta se basa en los altos estándares de trabajo de los ingenieros de Dysnix y su dedicación a los proyectos. Como se puede imaginar, Nansen no podría estar en desacuerdo con la oferta que preparamos para ellos.
Tras acordar la primera parte de la cooperación, Dysnix creó una SoW de alto nivel con una visión desde un helicóptero de los objetivos y los futuros logros de la cooperación. Durante la fase de I+D y tras dos o tres sesiones de aclaración, en las que Nansen reveló más datos sobre el equipo con el que trabajaría Dysnix y otros detalles, nuestros ingenieros tomaron la decisión final de acuerdo con la arquitectura y el detallado detalle del SoW.
Con esta versión de SoW, Dysnix describió las tareas de bajo nivel en su sistema de seguimiento y las priorizó en la hoja de ruta. Los ingenieros estimaron que todo el proceso de desarrollo duraba entre 100 y 120 horas de trabajo. Se ajusta perfectamente a las necesidades de Nansen.
Además, habíamos discutido que la SoW podía cambiarse durante el proceso de desarrollo y, como habíamos previsto, ocurrió de hecho durante las etapas de desarrollo. Sin embargo, no afectó demasiado al resultado final. Por el contrario, obtuvimos resultados aún mejores de los que estar orgullosos.
Como no había puntos que discutir más, nos preparamos para la invasión en sí y trabajamos arduamente en el proyecto. El flujo de trabajo con el equipo interno de Nansen se resolvió de forma natural: si una de las partes necesitaba una respuesta, formulaba preguntas directas y recibía todas las explicaciones de inmediato.
Los ingenieros que participaron en el proyecto participaron estrechamente en el trabajo del equipo interno. Además, hicieron todo lo posible para que su actividad fuera transparente y comprensible para todas las partes interesadas involucradas. El equipo de Dysnix es famoso por facilitar el ambiente de trabajo gracias a tres puntos principales:
Durante la fase de desarrollo activo, el ingeniero sénior de DevOps realizó demostraciones y el arquitecto de nube llevó a cabo una implementación interna de I+D y PoC para comprender mejor y ajustar el SoW.
Nuestros ingenieros comenzaron a desarrollar la documentación para el equipo interno de Nansen desde la fase de preparación hasta que todo quedó limpio durante la producción. Gracias al enfoque cooperativo de los compañeros de la empresa, pudimos preparar nuestro trabajo rápidamente, teniendo en cuenta los límites de las responsabilidades de cada parte.
Configuramos nuestro entorno de desarrollo para mapear la solución que planeábamos implementar. Hemos creado Gráficos de timón para ello y preparó todo lo necesario para probar la conectividad con el validador.
Además, nuestros ingenieros controlaron todos los ajustes de configuración y los preparativos de la infraestructura gracias al IaC Enfoque (Infraestructura como código). Este es uno de los procesos (o metodologías, si lo prefiere) más importantes que aplicamos para que nuestra infraestructura sea fácil de editar y hacer que todos los cambios o nuevas funciones puedan implementarse en horas, no en semanas.
Nuestros ingenieros lo prepararon todo para creación de copias de seguridad e instantáneas para mantener toda la información guardada y protegida de forma segura. Es fundamental configurar estas cosas desde el principio y tenerlas a mano, ya que la cadena de bloques de Ronin no te proporcionará ninguna instantánea. Así que más vale prevenir que curar para nuestros clientes.
Nos concentramos en la tarea principal del proyecto: hacer que el nodo validador Ronin esté aislado pero funcionando. Para alcanzar ese objetivo, decidimos implementar la capa de los denominados nodos centinelas, que desempeñarían dos funciones diferentes en nuestra infraestructura:
Por lo tanto, con esta capa de nodos centinelas, implementamos el esquema unidireccional en el que el nodo validador Ronin puede obtener información sobre lo que sucede en la cadena de bloques a través de una conexión p2p con los nodos centinelas. Sin embargo, nada puede conectar un nodo validador directamente desde Internet.
Esta solución es lo suficientemente rápida y rentable. Funciona bien con la infraestructura de cadena de bloques existente sin demoras ni respuestas más largas. Te proponemos pasar al siguiente nivel de implementación: preparar el entorno para el validador y conectarlo con los nodos centinelas.
Tras algunas consultas y durante las sesiones en directo con nuestros ingenieros, Nansen configuró el entorno de los nodos de validación por su parte. Nuestro equipo apoyó y controló el despliegue de dos nodos validadores (el segundo sirvió como nodo de respaldo) en Google Kubernetes Engine y aplicó las mejores prácticas de implementación segura. Recomendamos duplicar el nodo de los validadores para garantizar la funcionalidad de la A a la Z en cualquier circunstancia.
¡Parecía que la misión se había completado! Los nodos validadores se aislaron, los nodos centinelas funcionaron como un reloj y se comprobó el sistema. Faltaba solo un paso para la producción. Aun así, los ingenieros de Dysnix siguieron trabajando en el iAC y en Deployment como implementación del código para garantizar:
Gracias a estas bases de código, podíamos migrar al entorno de producción sin problemas y durante un tiempo mínimo. Y todo salió según lo planeado.
Pero mientras nos ocupábamos de implementar la solución principal en producción, Nansen nos preparó otra tarea emocionante que no podíamos negarnos a realizar...
La dirección de Nansen quedó tan satisfecha con los resultados intermedios que decidió dar en el clavo mientras hacía calor. Recibimos otra solicitud de implementación que no estaba relacionada directamente con la tarea principal.
Los nodos de archivo Ronin entraron en nuestra lista. Como Nansen es una empresa de análisis de cadenas de bloques, necesita un acceso rápido y completo a todos los datos de la cadena de bloques que no puedan almacenarse en ningún otro lugar que no sea en los nodos de archivo de la cadena de bloques.
Sabemos que un nodo de archivo Ronin típico tiene algunas limitaciones desagradables, por ejemplo, normalmente se necesitan alrededor de seis horas para analizar los datos de análisis de la cadena de bloques durante un día. Eso es demasiado lento para Nansen. Es obvio que necesitamos algún tipo de «esteroides» para que funcionen más rápido y sin interrupciones, con un alto nivel de confiabilidad y seguridad, tal como lo desea el cliente. Así que el equipo de Dysnix tuvo que «repasar» un poco los nodos de archivo.
Así que para completar esta tarea y obtener una calificación A+, hemos decidido jugar con ella de forma un poco diferente, sin ningún tipo de magia:
Hemos conseguido reduzca el tiempo de actualización diaria del nodo de archivo Ronin de seis horas a 15 minutos. El equipo de Nansen quedó muy impresionado con estos resultados y les ayudaron a impulsar todo su servicio, no solo la infraestructura que hemos creado para ellos.
Se completó la etapa principal de desarrollo y procedimos a las acciones de cierre del proyecto.
Se necesitaron alrededor de dos semanas para completar todas las actividades de repaso, aclarar todo lo relacionado con la producción y mejorar la documentación de solución de problemas para el equipo interno de Nansen. Recogimos los documentos de trabajo que preparamos al principio de nuestra cooperación y comprobamos si todo funcionaba según lo previsto.
Además, tuvimos una serie de sesiones de resolución de problemas en vivo en las que mostramos cómo tratar diferentes problemas relacionados con la configuración de carga o del entorno para alcanzar la máxima productividad. Paralelamente, editamos nuestra documentación para que fuera precisa de acuerdo con las actualizaciones más recientes.
Para resumir:
Una vez finalizada esta etapa, estrechamos la mano de Nansen y pasamos a la fase de cooperación «pasiva»: el apoyo.
Tras casi un año de trabajo, el equipo de Dysnix sigue apoyando el proyecto.
Mantenemos el nivel de calidad establecido para Nansen, comprobando los indicadores más importantes de la salud del medio ambiente. Además, seguimos trabajando en pequeñas mejoras que estarán disponibles sobre la marcha.
Para apoyar a nuestros clientes de manera eficiente, creamos sistemas de monitoreo, verificación del estado, alertas y actualizaciones que no pierden nada de vista.
La plataforma más agradable y querida que utilizan los ingenieros de Dysnix para la supervisión es Grafana. En primer lugar, se seleccionan los principales indicadores para rastrear los objetivos y los KPI de la funcionalidad del entorno. Luego, combinamos toda la información rastreada en el conjunto de datos y colocamos los indicadores necesarios en la pantalla del controlador.
Revisamos los volúmenes de solicitudes, las conexiones establecidas, las recargas, el uso de la memoria y la CPU y otros indicadores.
Este y los siguientes paneles también están disponibles para nuestro cliente, pero rara vez se comprueban. Un ingeniero de Dysnix puede controlar y mantener este sistema sin perder demasiado tiempo.
También incluimos estos datos en los informes mensuales de Nansen. Es fundamental tener almacenados los datos sobre el estado del sistema, ya que, si se produce un problema, nuestros ingenieros pueden rastrear la situación hasta su estado normal y restaurarlo todo como si no hubiera pasado nada.
Como la seguridad sigue siendo la exigencia más importante de Nansen, prestamos especial atención a este asunto. Gracias a las comprobaciones periódicas que realizamos en el sistema, nos aseguramos de que es tan seguro como el primer día que lo completamos.
Realizar actualizaciones puntuales es un proceso semiautomático que llevamos a cabo para todos los clientes que reciben soporte. Debemos asegurarnos de que todo funcione con rapidez y mantener el sistema actualizado. Por lo tanto, el cliente aprecia que el sistema que creamos hace mucho tiempo siga siendo eficiente y mejore con el tiempo.
Este es el verdadero objetivo del soporte de Dysnix, ¿verdad?
Las soluciones implementadas por Dysnix han potenciado las principales ventajas competitivas de Nansen. Como el campo principal del negocio del cliente está relacionado con el análisis de la cadena de bloques, hemos conseguido influir en la velocidad y la seguridad de los procesos internos. La mejora de la infraestructura siempre genera beneficios visibles para la experiencia del cliente final e incluso reduce los costos.
Los principales beneficios que aportamos se pueden resumir en las siguientes categorías:
Los valores esperados y planificados son los resultados directos de la SoW completada a gran escala. Tales como:
En cuanto a los beneficios inesperados y los efectos secundarios, podemos decir que no se puede ignorar su valor. Estos puntos no formaban parte del objetivo principal de nuestro equipo, pero estamos acostumbrados a hacer todo lo posible para maximizar los beneficios para nuestros clientes.
Desde el punto de vista técnico, las tareas de Nansen no eran demasiado complicadas. La mayoría de nuestros procesos se ejecutaron en diferentes variaciones en otros proyectos. Pero de todos modos, teníamos que ser extremadamente cautelosos para mantener todo con un tiempo de actividad del 99,99% y seguro de forma fiable. Gracias a nuestro hábito de modelar situaciones, planificar y pensar en situaciones hipotéticas, podemos prevenir los problemas y las catástrofes antes de que aparezcan. Las cosas que están bien establecidas funcionan bien, como dicen.
El segundo tema que nos mantuvo con los ojos abiertos todo el tiempo fue el cambio de planes de nuestro cliente. Es una situación absolutamente normal cuando los planes cambian de dirección 180 grados al final del día, después de unas cuantas rondas de entrevistas, una docena de horas de trabajo con el equipo interno y de hacer uno o dos experimentos. La flexibilidad de nuestro equipo contribuye a la adaptabilidad y a la profunda personalización de las soluciones que ofrecemos. Es por eso que no nos asustan las nuevas ideas de nuestros clientes, que están listos para probarlas con nuestras herramientas y habilidades.
La breve guía sobre cómo obtener nuestra ayuda se encuentra aquí:
Estamos abiertos a nuevas oportunidades, proyectos desafiantes e investigaciones extremas. Nuestros ingenieros estarán encantados de investigar las infraestructuras más problemáticas y hacerlas funcionar a la perfección. Sabemos cómo gestionar nuestro trabajo en las circunstancias más difíciles, por lo que nuestros clientes no tienen motivos para dudar de nuestros resultados. Y estamos orgullosos de ello.
Las cosas deberían funcionar de manera eficiente y generar ganancias.