Estoy totalmente de acuerdo, respuestas geniales. Me encantan estos tres puntos de apoyarse en los gigantes, simplificar y estandarizar, realmente resuenan conmigo. Pero tenemos un par de preguntas de Discord, voy a responder algunas de ellas. Una de Qabs dice, ¿algunas de estas herramientas son de código abierto y tienes algún documento sobre la configuración de la arquitectura de plugins? Gracias por preguntar. Esta pregunta la recibimos mucho, ¿vas a hacer de código abierto esto? La respuesta que puedo darte es que ha habido discusiones internas, pero no hay planes actuales de hacer de código abierto este framework. Sin embargo, como he mostrado aquí en esta charla, la configuración de una plataforma como esta no es demasiado difícil de hacer. Y no dudes en ponerte en contacto ya sea en Discord o en Twitter, podemos conectarnos contigo o programar una charla para ver cómo podemos generar más ideas.
Genial. Quiero decir, aquellos de ustedes que los siguen en Twitter, tal vez lo hagan de código abierto si suficiente gente apoya la idea. Tenemos otra pregunta de Vasili que dice, eso es muchos plugins, ¿cómo deciden los desarrolladores qué merece ser un plugin? Bueno, eso es lo genial de cómo el equipo ha diseñado el sistema de plugins. El sistema de plugins es cualquier cosa que resuelva tu problema, ¿verdad? Como a cierto tamaño, realmente no puedes decir desde arriba, usa este plugin, no uses ese plugin, usa este. Quiero decir, probablemente puedas, si hay problemas de seguridad o cosas específicas que debes cumplir, ¿verdad? Pero al final, cada desarrollador en, lo que yo llamo, el borde, están ahí construyendo y resolviendo problemas en su área de negocio, ¿verdad? Entonces ellos serán los que mejor sepan qué herramientas necesitan, ¿verdad? Tenemos desarrolladores que adoptaron React Query o algo así, ¿verdad? Y eso pudo haber resuelto un gran problema para ellos en su área de la organización. Nadie les dirá, oye, en realidad, deberías estar usando este plugin en su lugar, ¿verdad? Es un proceso muy orgánico. Otro ejemplo de esto es, recuerdo que uno de nuestros ingenieros de productos desarrolladores trajo MirageJS porque resolvió el problema que tenían localmente, y eso realmente resolvió, ya sabes, otros equipos también se dieron cuenta y dijeron, oye, esto es genial. Esto resuelve algo con lo que también nos hemos encontrado. Como tienes que entender que, en una organización de cierto tamaño, es difícil para los desarrolladores encontrarse entre sí, ¿verdad? Y estás asintiendo con la cabeza porque seguro que también te has sentido así. Y cuando me uní por primera vez, la mayor parte de mi carrera, he trabajado en empresas de tal vez 200 personas o menos, tal vez un equipo de ingeniería de 50 personas, todos se conocen entre sí, ¿verdad? Pero ahora estoy en una empresa con más de mil ingenieros. Es muy difícil saber qué está haciendo todo el mundo todo el tiempo, ¿verdad? Por eso es tan importante tener estas herramientas y la capacidad de ampliar tu arquitectura, pero hacerlo de manera segura y permitir que se pueda escalar. Definitivamente. Me encanta esa parte de encontrar personas. La cantidad de veces que he buscado en hilos de Slack tratando de encontrar al responsable de algo. Trae recuerdos oscuros. Otra pregunta que tenemos de Bear Man dice, ¿hay algún dolor de cabeza o has desarrollado alguna regla general en cuanto a la versión de tus plugins internos en los microservicios? Gracias por hacer esa pregunta. Obviamente, no todo es color de rosa, ¿verdad? El desafío, creo, con la versión, ¿verdad?, es que son problemas universales de versionado, ¿verdad? Cuando unes cosas, cuando dices, como, oye, este plugin debe funcionar con esta versión, vas a tener algunas incompatibilidades porque algunas personas no siempre estarán en las últimas versiones, ¿verdad? Habrá algunos problemas de depuración, ¿verdad?, cuando nuestro equipo de plataforma tenga que ayudar a otro equipo y se dé cuenta de que en realidad están usando una versión anterior que tenía este error específico, ya sabes, y llevó mucho tiempo encontrar ese error, ¿verdad? Y por eso hemos desarrollado esta historia de migración. Queremos que sea lo más fácil y sin fricciones posible mover tu sistema a la última versión, ¿verdad?, eso debería ser lo más fácil de hacer, ejecutar algunos comandos y boom, ya estás ahí. En la práctica, obviamente es más difícil. Cada aplicación va a tener alguna parte extraña de su superficie que requerirá un poco de trabajo manual, y por eso diría que muchos de nuestros problemas también están relacionados con la compatibilidad cruzada de sistemas. Tendrás plugins que dependen de otros plugins, y a veces esos plugins tienen ciertas suposiciones sobre cómo funciona el mundo que tienes que resolver, ya sabes, y por eso también fijamos las versiones de todos los plugins juntos, para que podamos garantizar y poner un sello de aprobación de que esta versión está garantizada para funcionar en otras versiones de la misma plataforma.
Comments