Al crear un nuevo producto, de repente te enfrentas a innumerables desafíos y decisiones. Lamentablemente, no existe una fórmula mágica para tomar las decisiones correctas, ya sea que recién esté comenzando o sea un emprendedor experimentado. Habiendo recorrido este camino varias veces como equipo, entendemos la emoción y la preocupación que puede generar.
Somos un pequeño equipo que lanzó recientemente Globalping , una plataforma de prueba de red global. Este proyecto es especial porque es nuestro segundo intento después de que una startup con una idea de producto similar no alcanzara el resultado deseado. Con Globalping, estamos adoptando un enfoque diferente para alcanzar nuestros objetivos y nuestra visión del producto.
En esta publicación de blog, compartiré ideas y aprendizajes de nuestras experiencias con la startup y cómo influyen en nuestro enfoque en Globalping. En particular, escribiré sobre por qué construimos una plataforma de código abierto basada en JavaScript y cómo estas opciones han transformado el proyecto.
Retrocedamos unos años, cuando fundamos una startup llamada PerfOps. La idea era construir una plataforma B2B SaaS para optimizar aplicaciones basadas en Internet. Utilizó datos de RUM (Real User Monitoring) para recopilar métricas de rendimiento en proveedores de CDN y habilitar la funcionalidad de equilibrio de carga Multi-CDN.
Como beneficio adicional, también permitió a los usuarios ejecutar solicitudes de medición de red como traceroute y excavar desde diferentes ubicaciones en todo el mundo.
Como muchas empresas emergentes, necesitábamos financiación. La suerte estuvo de nuestro lado cuando recibimos el respaldo de VC, lo que nos permitió formar un equipo y alquilar cientos de VM (máquinas virtuales) para construir una red global para pruebas de red bajo demanda. Como resultado, podríamos desarrollar nuevas tecnologías para analizar miles de millones de puntos de datos RUM y utilizarlos en el equilibrio de carga basado en DNS en tiempo real.
Si bien esta empresa no funcionó como se había previsto, la experiencia adquirida fue invaluable y da forma al camino de Globalping en la actualidad.
Algunas conclusiones:
Pero incluso después del desafortunado destino de la startup, todavía vimos el potencial y la necesidad de realizar pruebas de red y monitoreo del rendimiento precisos, abiertos y confiables. Y así nació Globalping, una segunda oportunidad para hacer las cosas diferentes y aprovechar las experiencias para crear un mejor servicio para nuestros usuarios y para nosotros mismos. Ahora, permítanos compartir con usted cómo lo hacemos.
Creemos que fue una progresión natural hacer de Globalping un proyecto de código abierto. Por una vez, ya estamos familiarizados con el concepto. Hemos estado ejecutando jsDelivr durante aproximadamente 10 años, un servicio multi-CDN gratuito, de código abierto que atiende más de 230 mil millones de solicitudes mensuales.
Así que ya conocíamos los pros y los contras del código abierto, qué hacer y qué evitar; cuanto más pensábamos en ello, más sentido tenía que Globalping debía ser de código abierto.
Las principales razones para hacer que Globalping fuera de código abierto fueron:
Naturalmente, el código abierto también tiene sus desafíos. El desarrollo de productos requiere desarrolladores, diseñadores, especialistas en marketing y expertos en relaciones con desarrolladores. Y aunque contamos con el apoyo de expertos en tecnología de nuestra comunidad, seguimos trabajando con un equipo central que recibe una compensación por su trabajo.
En lugar de depender de la financiación de capital de riesgo, ahora estamos creando asociaciones con empresas con ideas afines y buscando apoyo de patrocinadores de GitHub, cuyas donaciones nos mantienen funcionando.
La siguiente decisión importante fue la tecnología con la que queríamos construir Globalping. Elegimos JavaScript con confianza, basándonos en nuestra experiencia en la operación de aplicaciones JavaScript a gran escala y en tiempo real.
Los beneficios de nuestra familiaridad con el idioma ya han dado sus frutos, permitiéndonos crear nuevas funciones más rápido y encontrar y corregir errores más fácilmente que con idiomas menos familiares.
Además, la popularidad de JavaScript entre los desarrolladores web y de aplicaciones de todo el mundo lo convirtió en una opción obvia para nosotros. El lenguaje tiene un ecosistema rico y sólido de herramientas, bibliotecas y paquetes que se alinean con nuestros objetivos de desarrollo. Al utilizar otros proyectos de código abierto, podemos aprovechar el conocimiento y los esfuerzos de la comunidad, evitando reinventar la rueda.
Dado que JavaScript tiene una vasta comunidad, hay muchos contribuyentes potenciales a Globalping. Y debido a que el código JavaScript es en su mayor parte sencillo de leer, es más fácil para los recién llegados navegar y comprender el código fuente.
Como resultado, los desarrolladores pueden contribuir más rápido, lo que mantiene alta la motivación e impulsa el proyecto.
En última instancia, mientras nuestro equipo central trabaja continuamente en Globalping, agradecemos cualquier contribución a la plataforma. Al elegir JavaScript, podemos mantener un entorno abierto y colaborativo que invita a cualquier persona interesada a hacer de Globalping una plataforma de prueba de red útil y fácil de usar.
Finalmente, nos gustaría presentarle brevemente la plataforma Globalping y, con suerte, despertar su curiosidad para probarla y mejorar la resolución de problemas y las pruebas de red en sus equipos.
Obtenga acceso rápido a los resultados de las mediciones: hemos desarrollado una variedad de integraciones para satisfacer las necesidades de diferentes usuarios, ya sean profesionales de la red o novatos. Si se siente más cómodo con su terminal, utilice nuestra herramienta CLI . Nuestro bot de GitHub y la aplicación Slack son excelentes ayudas para los equipos que trabajan juntos en problemas de red.
Finalmente, también puedes utilizar Globalping en una interfaz gráfica sencilla y fácil de usar en nuestro sitio web para ejecutar pruebas cuando no tengas acceso a tu configuración habitual, por ejemplo.
Escriba comandos de manera consistente en todas las integraciones: dado que no queremos que aprenda todo desde cero cada vez que cambie de integraciones, hemos implementado una estructura de comandos uniforme. En general, todos los comandos de Globalping siguen el mismo formato:
globalping [command type] [target] from [location] [flags]
Entonces, por ejemplo, para ejecutar ping a jsdelivr.com desde Viena y Berlín usando dos sondas (definidas con el indicador de límite), escriba el siguiente comando:
globalping ping jsdelivr.com from "Vienna, Berlin" --limit 2
Y así es como podría verse el resultado:
Crea tus propias herramientas con nuestra API: ¿Quieres crear tu propia herramienta utilizando la plataforma Globalping? No hay problema: ¡puedes usar nuestra API REST (con límites generosos) para crear lo que quieras!
Sea parte de la red: Globalping se basa en una red de sondas distribuidas globalmente impulsadas por nuestra comunidad. Nos complace dar la bienvenida a cualquiera que configure una sonda en Docker en su hogar, oficina o servidores para ayudar a brindar resultados confiables a todos los usuarios de forma gratuita.
Hoy, estamos felices de ver cómo Globalping evoluciona y crece, moldeado por nuestras experiencias y aprendizajes pasados. Con el tiempo, esperamos que Globalping se convierta en la plataforma de referencia para todo lo relacionado con el rendimiento, la latencia y el tiempo de actividad de Internet.
Continuaremos perfeccionando las funciones y brindando una excelente experiencia de usuario para que cualquier persona interesada pueda usar la plataforma.