Ao construir um novo produto, de repente você enfrenta inúmeros desafios e decisões. Infelizmente, não existe uma fórmula mágica para fazer as escolhas certas, quer você esteja apenas começando ou seja um empresário experiente. Tendo trilhado esse caminho diversas vezes em equipe, entendemos a emoção e a preocupação que isso pode trazer.
Somos uma pequena equipe que lançou recentemente a Globalping , uma plataforma global de testes de rede. Este projeto é especial porque é a nossa segunda tentativa depois que uma startup com uma ideia de produto semelhante não alcançou o resultado desejado. Com a Globalping, estamos adotando uma abordagem diferente para alcançar nossos objetivos e visão para o produto.
Nesta postagem do blog, compartilharei insights e aprendizados de nossas experiências com a startup e como elas influenciam nossa abordagem na Globalping. Em particular, escreverei sobre por que construímos uma plataforma de código aberto baseada em JavaScript e como essas escolhas transformaram o projeto.
Vamos voltar alguns anos, quando fundamos uma startup chamada PerfOps. A ideia era construir uma plataforma SaaS B2B para otimizar aplicações baseadas na Internet. Ele usou dados RUM (Real User Monitoring) para coletar métricas de desempenho em provedores de CDN e habilitar a funcionalidade de balanceamento de carga Multi-CDN.
Como bônus, também permitiu que os usuários executassem solicitações de medição de rede, como traceroute e escavação, em diferentes locais do mundo.
Como muitas startups, precisávamos de financiamento. A sorte estava do nosso lado quando recebemos apoio de VC, o que nos permitiu formar uma equipe e alugar centenas de VMs (máquinas virtuais) para construir uma rede global para testes de rede sob demanda. Como resultado, poderíamos desenvolver novas tecnologias para analisar bilhões de pontos de dados RUM e utilizá-los no balanceamento de carga baseado em DNS em tempo real.
Embora este empreendimento não tenha funcionado como previsto, a experiência adquirida foi inestimável e molda o caminho da Globalping hoje.
Algumas lições:
Mas mesmo após o infeliz destino da startup, ainda vimos o potencial e a necessidade de testes de rede e monitoramento de desempenho precisos, abertos e confiáveis. E assim nasceu a Globalping, uma segunda oportunidade para fazer as coisas de forma diferente e aproveitar experiências para criar um serviço melhor para os nossos utilizadores e para nós próprios. Agora, deixe-nos compartilhar com você como fazemos isso.
Acreditamos que foi uma progressão natural tornar o Globalping um projeto de código aberto. Pela primeira vez, já estamos familiarizados com o conceito. Executamos o jsDelivr há cerca de 10 anos, um serviço gratuito, de código aberto e multi-CDN que atende mais de 230 bilhões de solicitações mensais.
Portanto, já sabíamos os prós e os contras do código aberto, o que fazer e o que evitar – quanto mais pensávamos sobre isso, mais fazia sentido que o Globalping fosse de código aberto.
As principais razões para tornar o Globalping open source foram:
Naturalmente, o código aberto também tem os seus desafios. O desenvolvimento de produtos requer desenvolvedores, designers, profissionais de marketing e especialistas em relações com desenvolvedores. E embora tenhamos o apoio de especialistas em tecnologia da nossa comunidade, ainda trabalhamos com uma equipe principal que é remunerada pelo seu trabalho.
Em vez de depender de financiamento de capital de risco, agora estamos construindo parcerias com empresas com ideias semelhantes e buscando apoio de patrocinadores do GitHub, cujas doações nos mantêm funcionando.
A próxima decisão importante foi a tecnologia com a qual queríamos construir o Globalping. Escolhemos o JavaScript com confiança, contando com nossa experiência na operação de aplicativos JavaScript em grande escala e em tempo real.
Os benefícios da nossa familiaridade com a linguagem já valeram a pena, permitindo-nos construir novos recursos com mais rapidez e encontrar e corrigir bugs com mais facilidade do que com linguagens menos familiares.
Além disso, a popularidade do JavaScript entre desenvolvedores de aplicativos e web em todo o mundo tornou-o uma escolha óbvia para nós. A linguagem possui um ecossistema rico e robusto de ferramentas, bibliotecas e pacotes que se alinham aos nossos objetivos de desenvolvimento. Ao utilizar outros projetos de código aberto, podemos aproveitar o conhecimento e os esforços da comunidade, evitando reinventar a roda.
Como o próprio JavaScript tem uma vasta comunidade, existem muitos contribuidores potenciais para o Globalping. E como o código JavaScript é bastante simples de ler, é mais fácil para os recém-chegados navegar e compreender o código-fonte.
Como resultado, os desenvolvedores podem contribuir mais rapidamente, o que mantém a motivação elevada e impulsiona o projeto.
Em última análise, embora a nossa equipa principal trabalhe continuamente no Globalping, qualquer contribuição para a plataforma será bem-vinda . Ao escolher o JavaScript, podemos manter um ambiente aberto e colaborativo que convida qualquer pessoa interessada em tornar o Globalping uma plataforma de testes de rede útil e fácil de usar.
Por fim, gostaríamos de apresentar brevemente a plataforma Globalping e esperamos despertar sua curiosidade em testá-la para melhorar a solução de problemas e os testes de rede em suas equipes!
Obtenha acesso rápido aos resultados de medição: desenvolvemos uma variedade de integrações para atender às necessidades de diferentes usuários, sejam eles profissionais de rede ou novatos. Se você se sentir mais confortável com seu terminal, use nossa ferramenta CLI . Nosso bot GitHub e aplicativo Slack são ótimos auxiliares para equipes que trabalham juntas em problemas de rede.
Por fim, você também pode utilizar o Globalping em uma interface gráfica simples e amigável em nosso site para realizar testes quando não tiver acesso à sua configuração habitual, por exemplo.
Escreva comandos de forma consistente em todas as integrações: como não queremos que você aprenda tudo do zero sempre que mudar de integração, implementamos uma estrutura de comando uniforme. Em geral, todos os comandos Globalping seguem o mesmo formato:
globalping [command type] [target] from [location] [flags]
Assim, por exemplo, para executar ping para jsdelivr.com de Viena e Berlim usando dois testes (definidos com o sinalizador limit), você escreve o seguinte comando:
globalping ping jsdelivr.com from "Vienna, Berlin" --limit 2
E é assim que o resultado poderia ser:
Crie suas próprias ferramentas com nossa API: Quer construir sua própria ferramenta usando a plataforma Globalping? Não tem problema – você pode usar nossa API REST (com limites generosos) para criar o que quiser!
Torne-se parte da rede: Globalping depende de uma rede distribuída globalmente de sondas alimentadas por nossa comunidade. Temos o prazer de dar as boas-vindas a qualquer pessoa que configure uma investigação no Docker em sua casa, escritório ou servidores para ajudar a fornecer resultados confiáveis a todos os usuários gratuitamente.
Hoje, estamos felizes em ver como a Globalping evolui e cresce, moldada pelas nossas experiências e aprendizados passados. Eventualmente, esperamos que o Globalping se torne a plataforma ideal para qualquer coisa relacionada ao desempenho, latência e tempo de atividade da Internet.
Continuaremos refinando os recursos e oferecendo uma ótima experiência ao usuário para que qualquer pessoa interessada possa usar a plataforma.