Khi xây dựng một sản phẩm mới, bạn bỗng nhiên phải đối mặt với vô số thách thức và quyết định. Đáng buồn thay, không có công thức kỳ diệu nào giúp bạn đưa ra những lựa chọn đúng đắn, cho dù bạn mới bắt đầu hay là một doanh nhân dày dạn kinh nghiệm. Đã đi trên con đường này nhiều lần với tư cách là một nhóm, chúng tôi hiểu sự phấn khích và lo lắng mà nó có thể mang lại.
Chúng tôi là một nhóm nhỏ vừa mới ra mắt Globalping , một nền tảng thử nghiệm mạng toàn cầu. Dự án này đặc biệt vì đây là nỗ lực thứ hai của chúng tôi sau khi một công ty khởi nghiệp có ý tưởng sản phẩm tương tự không đạt được kết quả mong muốn. Với Globalping, chúng tôi đang thực hiện một cách tiếp cận khác để đạt được mục tiêu và tầm nhìn của mình đối với sản phẩm.
Trong bài đăng trên blog này, tôi sẽ chia sẻ những hiểu biết sâu sắc và bài học từ kinh nghiệm của chúng tôi với công ty khởi nghiệp cũng như cách chúng ảnh hưởng đến cách tiếp cận của chúng tôi tại Globalping. Cụ thể, tôi sẽ viết về lý do tại sao chúng tôi xây dựng nền tảng nguồn mở dựa trên JavaScript và những lựa chọn này đã biến đổi dự án như thế nào.
Hãy quay lại vài năm trước khi chúng tôi thành lập một công ty khởi nghiệp có tên PerfOps. Ý tưởng là xây dựng nền tảng B2B SaaS để tối ưu hóa các ứng dụng dựa trên Internet. Nó đã sử dụng dữ liệu RUM (Giám sát người dùng thực) để thu thập số liệu hiệu suất trên các nhà cung cấp CDN và kích hoạt chức năng cân bằng tải Multi-CDN.
Như một phần thưởng, nó cũng cho phép người dùng chạy các yêu cầu đo lường mạng như theo dõi và đào từ các địa điểm khác nhau trên toàn thế giới.
Giống như nhiều công ty khởi nghiệp, chúng tôi cần nguồn vốn. May mắn đã đứng về phía chúng tôi khi chúng tôi nhận được sự hỗ trợ của VC, cho phép chúng tôi xây dựng một nhóm và thuê hàng trăm máy ảo (máy ảo) để xây dựng mạng lưới toàn cầu nhằm thử nghiệm mạng theo yêu cầu. Do đó, chúng tôi có thể phát triển các công nghệ mới để phân tích hàng tỷ điểm dữ liệu RUM và sử dụng chúng để cân bằng tải dựa trên DNS trong thời gian thực.
Mặc dù dự án kinh doanh này không thành công như mong đợi nhưng kinh nghiệm thu được là vô giá và định hình con đường của Globalping ngày nay.
Một số điều rút ra:
Nhưng ngay cả sau số phận không may của công ty khởi nghiệp, chúng tôi vẫn nhìn thấy tiềm năng và nhu cầu kiểm tra mạng cũng như giám sát hiệu suất một cách chính xác, mở và đáng tin cậy. Và thế là Globalping ra đời, cơ hội thứ hai để làm những điều khác biệt và rút kinh nghiệm để tạo ra dịch vụ tốt hơn cho người dùng và chính chúng tôi. Bây giờ hãy để chúng tôi chia sẻ với bạn cách chúng tôi làm điều đó.
Chúng tôi tin rằng việc biến Globalping trở thành một dự án nguồn mở là một bước tiến tự nhiên. Lần đầu tiên, chúng ta đã quen thuộc với khái niệm này. Chúng tôi đã chạy jsDelivr được khoảng 10 năm, một dịch vụ đa CDN, mã nguồn mở, miễn phí phục vụ hơn 230 tỷ yêu cầu hàng tháng.
Vì vậy, chúng tôi đã biết những ưu và nhược điểm của nguồn mở, những gì cần làm và những gì cần tránh - chúng tôi càng nghĩ về điều đó, chúng tôi càng thấy rằng Toàn cầu hóa phải là nguồn mở.
Những lý do chính để biến Globalping thành nguồn mở là:
Đương nhiên, nguồn mở cũng có những thách thức của nó. Phát triển sản phẩm đòi hỏi các nhà phát triển, nhà thiết kế, nhà tiếp thị và chuyên gia quan hệ nhà phát triển. Và mặc dù có sự hỗ trợ của các chuyên gia công nghệ trong cộng đồng, chúng tôi vẫn làm việc với một nhóm nòng cốt được trả thù lao cho công việc của họ.
Thay vì dựa vào nguồn tài trợ của VC, chúng tôi hiện đang xây dựng mối quan hệ đối tác với các công ty có cùng chí hướng và tìm kiếm sự hỗ trợ từ các nhà tài trợ GitHub, những khoản quyên góp của họ giúp chúng tôi tiếp tục hoạt động.
Quyết định quan trọng tiếp theo là công nghệ mà chúng tôi muốn sử dụng để xây dựng Globalping. Chúng tôi tự tin chọn JavaScript dựa trên kinh nghiệm vận hành các ứng dụng JavaScript thời gian thực, quy mô lớn.
Lợi ích của việc chúng ta quen thuộc với ngôn ngữ này đã được đền đáp, cho phép chúng ta xây dựng các tính năng mới nhanh hơn cũng như tìm và sửa lỗi dễ dàng hơn so với các ngôn ngữ ít quen thuộc hơn.
Ngoài ra, sự phổ biến của JavaScript đối với các nhà phát triển ứng dụng và web trên toàn thế giới đã khiến nó trở thành một lựa chọn hiển nhiên đối với chúng tôi. Ngôn ngữ này có một hệ sinh thái phong phú và mạnh mẽ gồm các công cụ, thư viện và gói phù hợp với mục tiêu phát triển của chúng tôi. Bằng cách sử dụng các dự án nguồn mở khác, chúng tôi có thể tận dụng kiến thức và nỗ lực của cộng đồng, tránh phải phát minh lại cái bánh xe.
Vì bản thân JavaScript có một cộng đồng rộng lớn nên có rất nhiều người đóng góp tiềm năng cho Globalping. Và vì mã JavaScript hầu hết dễ đọc nên người mới sử dụng sẽ dễ dàng điều hướng và hiểu mã nguồn hơn.
Do đó, các nhà phát triển có thể đóng góp nhanh hơn, điều này giúp duy trì động lực và thúc đẩy dự án tiến lên phía trước.
Cuối cùng, trong khi nhóm cốt lõi của chúng tôi liên tục làm việc trên Globalping, chúng tôi hoan nghênh mọi đóng góp cho nền tảng này. Bằng cách chọn JavaScript, chúng tôi có thể duy trì một môi trường cởi mở và cộng tác, mời gọi bất kỳ ai quan tâm đến việc biến Globalping trở thành một nền tảng thử nghiệm mạng hữu ích và thân thiện với người dùng.
Cuối cùng, chúng tôi muốn giới thiệu ngắn gọn cho bạn về nền tảng Toàn cầu hóa và hy vọng khơi dậy sự tò mò của bạn để dùng thử nền tảng này nhằm cải thiện việc khắc phục sự cố và kiểm tra mạng trong nhóm của bạn!
Truy cập nhanh vào kết quả đo lường: Chúng tôi đã phát triển nhiều tiện ích tích hợp khác nhau để đáp ứng nhu cầu của những người dùng khác nhau, cho dù họ là chuyên gia mạng hay người mới sử dụng. Nếu bạn cảm thấy thoải mái nhất với thiết bị đầu cuối của mình, hãy sử dụng công cụ CLI của chúng tôi. Bot GitHub và ứng dụng Slack của chúng tôi là những trợ thủ đắc lực cho các nhóm làm việc cùng nhau về các vấn đề mạng.
Cuối cùng, bạn cũng có thể sử dụng Globalping trong giao diện đồ họa đơn giản và thân thiện với người dùng trên trang web của chúng tôi để chạy thử nghiệm khi bạn không có quyền truy cập vào thiết lập thông thường của mình.
Viết lệnh nhất quán trên các tích hợp: Vì chúng tôi không muốn bạn học mọi thứ từ đầu mỗi khi chuyển đổi tích hợp nên chúng tôi đã triển khai cấu trúc lệnh thống nhất. Nói chung, tất cả các lệnh Globalping đều có cùng định dạng:
globalping [command type] [target] from [location] [flags]
Vì vậy, ví dụ: để chạy ping tới jsdelivr.com từ Vienna và Berlin bằng hai đầu dò (được xác định bằng cờ giới hạn), bạn viết lệnh sau:
globalping ping jsdelivr.com from "Vienna, Berlin" --limit 2
Và đây là kết quả có thể trông như thế nào:
Tạo công cụ của riêng bạn bằng API của chúng tôi: Bạn muốn xây dựng công cụ của riêng mình bằng nền tảng Globalping? Không vấn đề gì – bạn có thể sử dụng API REST của chúng tôi (với giới hạn rộng rãi) để tạo bất cứ thứ gì bạn muốn!
Trở thành một phần của mạng: Globalping dựa vào mạng lưới thăm dò được phân phối toàn cầu do cộng đồng của chúng tôi cung cấp. Chúng tôi rất vui được chào đón bất kỳ ai thiết lập cuộc thăm dò trong Docker tại nhà, văn phòng hoặc máy chủ của họ để giúp cung cấp miễn phí kết quả đáng tin cậy cho tất cả người dùng.
Ngày nay, chúng tôi rất vui khi thấy Globalping phát triển và lớn mạnh như thế nào, được định hình bởi những kinh nghiệm và bài học trong quá khứ của chúng tôi. Cuối cùng, chúng tôi hy vọng Globalping sẽ trở thành nền tảng phù hợp cho mọi thứ liên quan đến hiệu suất, độ trễ và thời gian hoạt động của Internet.
Chúng tôi sẽ tiếp tục tinh chỉnh các tính năng và mang lại trải nghiệm người dùng tuyệt vời để bất kỳ ai quan tâm đều có thể sử dụng nền tảng này.