Создавая новый продукт, вы неожиданно сталкиваетесь с бесчисленными проблемами и решениями. К сожалению, не существует волшебной формулы, позволяющей сделать правильный выбор, независимо от того, новичок вы или опытный предприниматель. Пройдя этот путь несколько раз всей командой, мы понимаем волнение и беспокойство, которые это может вызвать.
Мы — небольшая команда, которая недавно запустила Globalping , глобальную платформу для тестирования сети. Этот проект особенный, потому что это наша вторая попытка после того, как стартап с похожей идеей продукта не достиг желаемого результата. В Globalping мы применяем другой подход для достижения наших целей и видения продукта.
В этом сообщении в блоге я поделюсь идеями и уроками из нашего опыта работы со стартапом и тем, как он влияет на наш подход в Globalping. В частности, я напишу о том, почему мы создали платформу с открытым исходным кодом на основе JavaScript и как этот выбор изменил проект.
Давайте вернемся на несколько лет назад, когда мы основали стартап под названием PerfOps. Идея заключалась в создании B2B SaaS-платформы для оптимизации интернет-приложений. Он использовал данные RUM (Real User Monitoring) для сбора показателей производительности поставщиков CDN и включения функции балансировки нагрузки Multi-CDN.
В качестве бонуса он также позволял пользователям запускать запросы на измерение сети, такие как трассировка, и копать данные из разных мест по всему миру.
Как и многим стартапам, нам требовалось финансирование. Удача была на нашей стороне, поскольку мы получили поддержку венчурного капитала, что позволило нам собрать команду и арендовать сотни виртуальных машин (виртуальных машин) для построения глобальной сети для тестирования сети по требованию. В результате мы смогли разработать новые технологии для анализа миллиардов точек данных RUM и использовать их для балансировки нагрузки на основе DNS в режиме реального времени.
Хотя это предприятие не сработало так, как предполагалось, полученный опыт оказался бесценным и определяет сегодняшний путь Globalping.
Некоторые выводы:
Но даже после печальной судьбы стартапа мы по-прежнему видели потенциал и необходимость точного, открытого и надежного сетевого тестирования и мониторинга производительности. Так родился Globalping, второй шанс сделать что-то по-другому и использовать опыт, чтобы создать лучший сервис для наших пользователей и нас самих. Теперь давайте поделимся с вами, как мы это делаем.
Мы считаем, что превращение Globalping в проект с открытым исходным кодом было естественным шагом. На этот раз мы уже знакомы с этой концепцией. Мы используем jsDelivr около 10 лет — бесплатный сервис с открытым исходным кодом и несколькими CDN, который обслуживает более 230 миллиардов ежемесячных запросов.
Итак, мы уже знали плюсы и минусы открытого исходного кода, что делать и чего следует избегать – чем больше мы об этом думали, тем больше становилось понятно, что Globalping должен быть открытым исходным кодом.
Основными причинами открытия исходного кода Globalping были:
Естественно, у открытого исходного кода есть и свои проблемы. Для разработки продукта требуются разработчики, дизайнеры, маркетологи и специалисты по связям с разработчиками. И хотя у нас есть поддержка технических экспертов из нашего сообщества, мы по-прежнему работаем с основной командой, которая получает вознаграждение за свою работу.
Вместо того, чтобы полагаться на венчурное финансирование, мы теперь строим партнерские отношения с компаниями-единомышленниками и ищем поддержки у спонсоров GitHub, чьи пожертвования помогают нам работать.
Следующим важным решением стала технология, с помощью которой мы хотели построить Globalping. Мы уверенно выбрали JavaScript, опираясь на свой опыт работы с крупномасштабными приложениями JavaScript, работающими в режиме реального времени.
Преимущества нашего знакомства с языком уже окупились: мы можем быстрее создавать новые функции, а также легче находить и исправлять ошибки, чем при использовании менее знакомых языков.
Кроме того, популярность JavaScript среди разработчиков приложений и веб-приложений по всему миру сделала для нас очевидным выбор. Язык имеет богатую и надежную экосистему инструментов, библиотек и пакетов, которые соответствуют нашим целям разработки. Используя другие проекты с открытым исходным кодом, мы можем использовать знания и усилия сообщества, избегая изобретения велосипеда.
Поскольку сам JavaScript имеет обширное сообщество, в Globalping есть много потенциальных участников. А поскольку код JavaScript в большинстве случаев прост для чтения, новичкам легче ориентироваться и понимать исходный код.
В результате разработчики могут вносить свой вклад быстрее, что сохраняет мотивацию и продвигает проект вперед.
В конечном счете, хотя наша основная команда постоянно работает над Globalping, мы приветствуем любой вклад в платформу. Выбрав JavaScript, мы можем поддерживать открытую среду для сотрудничества, которая приглашает всех, кто заинтересован в том, чтобы сделать Globalping полезной и удобной платформой для сетевого тестирования.
Наконец, мы хотели бы кратко познакомить вас с платформой Globalping и, надеюсь, пробудить у вас любопытство попробовать ее, чтобы улучшить устранение неполадок и сетевое тестирование в ваших командах!
Получите быстрый доступ к результатам измерений. Мы разработали множество интеграций для удовлетворения потребностей разных пользователей, будь то сетевые профессионалы или новички. Если вам удобнее работать с терминалом, воспользуйтесь нашим инструментом CLI . Наш бот GitHub и приложение Slack — отличные помощники для команд, совместно решающих сетевые проблемы.
Наконец, вы также можете использовать Globalping в простом и удобном графическом интерфейсе на нашем веб-сайте для запуска тестов, например, когда у вас нет доступа к обычным настройкам.
Записывайте команды единообразно для всех интеграций. Поскольку мы не хотим, чтобы вы изучали все с нуля каждый раз, когда переключаете интеграцию, мы внедрили единую структуру команд. В общем, все команды Globalping имеют один и тот же формат:
globalping [command type] [target] from [location] [flags]
Так, например, чтобы запустить ping до jsdelivr.com из Вены и Берлина с использованием двух зондов (определяемых флагом ограничения), вы пишете следующую команду:
globalping ping jsdelivr.com from "Vienna, Berlin" --limit 2
И вот как может выглядеть результат:
Создавайте свои собственные инструменты с помощью нашего API. Хотите создать свой собственный инструмент на платформе Globalping? Нет проблем — вы можете использовать наш REST API (с большими ограничениями), чтобы создавать все, что захотите!
Станьте частью сети: Globalping опирается на глобально распределенную сеть зондов, поддерживаемую нашим сообществом. Мы рады приветствовать всех, кто установит зонд в Docker у себя дома, в офисе или на серверах, чтобы бесплатно предоставлять надежные результаты всем пользователям.
Сегодня мы рады видеть, как Globalping развивается и растет под влиянием нашего прошлого опыта и знаний. Мы надеемся, что со временем Globalping станет основной платформой для всего, что связано с производительностью Интернета, задержкой и временем безотказной работы.
Мы продолжим совершенствовать функции и обеспечивать удобство для пользователей, чтобы любой желающий мог использовать платформу.