paint-brush
Sức mạnh của mã nguồn mở và JavaScript: Hành trình toàn cầu hóatừ tác giả@globalping
132 lượt đọc

Sức mạnh của mã nguồn mở và JavaScript: Hành trình toàn cầu hóa

từ tác giả Globalping7m2023/10/05
Read on Terminal Reader

dài quá đọc không nổi

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.
featured image - Sức mạnh của mã nguồn mở và JavaScript: Hành trình toàn cầu hóa
Globalping HackerNoon profile picture

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.

Suy ngẫm và học hỏi: Trưởng thành từ kinh nghiệm trong quá khứ

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:

  • Áp lực làm giảm niềm đam mê : Đầu tư VC thúc giục chúng tôi thay đổi tốc độ và ưu tiên công việc của mình. Khi chúng tôi tập trung vào việc đáp ứng các số liệu để đảm bảo vòng tài trợ tiếp theo và chuyển các ưu tiên của chúng tôi từ các doanh nghiệp nhỏ và người dùng đơn lẻ sang các doanh nghiệp lớn hơn, chúng tôi cảm thấy niềm vui và sự nhiệt tình dành cho ý tưởng của mình mờ dần.


  • Xây dựng cho người dùng : Việc phát triển sản phẩm để đáp ứng mong đợi của nhà đầu tư thường không phù hợp với tầm nhìn của chúng tôi về việc xây dựng những gì người dùng cần. Tập trung vào những gì người dùng muốn và cần là điều quan trọng miễn là bạn hiểu ngành và thị trường, điều mà các nhà đầu tư của chúng tôi chưa có kinh nghiệm và đã thúc đẩy cải thiện các số liệu và ưu tiên khác nhau không tương thích.


  • Dữ liệu RUM không đáng tin cậy . Mặc dù hữu ích với số lượng lớn nhưng rõ ràng là hầu hết dữ liệu Giám sát người dùng thực (RUM) đều có vấn đề và không lý tưởng để gỡ lỗi các sự cố mạng. Bạn không bao giờ có thể biết liệu sự cố nằm ở CDN hay máy khách đang chạy thử nghiệm. Ngoài ra, dữ liệu RUM không thể tái tạo được; sau khi thử nghiệm đã chạy, không có cách nào để chạy lại thử nghiệm đó từ cùng một vị trí để đánh giá tác động của những thay đổi của bạn.


  • Hộp đen không giúp được gì . Với tư cách là một công ty được VC hậu thuẫn, chúng tôi phải giữ bí mật tất cả mã và dữ liệu với công chúng. Người dùng của chúng tôi không bao giờ có thể xác minh tính xác thực và chính xác của dữ liệu được hiển thị cho họ. Hơn nữa, bất cứ ai cũng có thể khẳng định rằng chúng tôi đã thay đổi thứ hạng hiệu suất một cách thủ công theo hướng có lợi cho những khách hàng trả tiền cao mà không thể chứng minh điều ngược lại.


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 đó.

Ôm lấy nguồn mở và đặt người dùng lên hàng đầ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à:

  • Tận dụng cộng đồng : Hầu hết những người đóng góp cho dự án cũng sử dụng nó. Vì vậy, họ giúp xây dựng công cụ của riêng mình và có được các tính năng mong muốn bằng cách đóng góp kỹ năng của mình hoặc đơn giản là đưa ra phản hồi. Ngoài ra, Globalping phát triển cùng với cộng đồng của mình vì thay vì thuê máy ảo để xây dựng mạng thử nghiệm, chúng tôi dựa vào cộng đồng để tổ chức các cuộc thăm dò Globalping tại nhà và văn phòng của họ.


  • Sử dụng jsDelivr : Xây dựng cộng đồng không phải chuyện một sớm một chiều. May mắn thay, chúng tôi đã có một cộng đồng tuyệt vời hỗ trợ dự án khác của chúng tôi, jsDelivr. Nhiều người dùng và người ủng hộ hiện tại có thể tham gia Globalping do sự chồng chéo về mặt kỹ thuật: jsDelivr cung cấp cơ sở hạ tầng được phân phối trên toàn cầu và Globalping là một cách để giám sát, kiểm tra, gỡ lỗi và so sánh các hệ thống toàn cầu đó.


  • Xây dựng cho mọi người : Với áp lực tăng trưởng và lợi nhuận giảm sút, giờ đây chúng tôi có thể tập trung vào việc xây dựng một nền tảng mà tất cả mọi người đều có thể truy cập được. Nền tảng này miễn phí, với giới hạn hào phóng, cung cấp các tính năng giống nhau cho mọi người, cho dù họ là một doanh nghiệp lớn hay một sinh viên mới học cách hoạt động của Internet.


  • Minh bạch : Nguồn mở giúp công việc của chúng tôi minh bạch và hiển thị cho tất cả mọi người. Bất kỳ ai cũng có thể xem lại mã và logic của chúng tôi, có thể là thăm dò hoặc API cốt lõi của chúng tôi. Điều này giúp chúng tôi xác thực các tuyên bố về bảo mật và quyền riêng tư của mình, đồng thời trấn an người dùng rằng chúng tôi công bằng và không bán xếp hạng hoặc sử dụng các thuật toán sai lệch để tính toán hiệu suất CDN. Ngoài ra, bất kỳ cá nhân hoặc công ty nào phát hiện ra vấn đề với mã hoặc chức năng đều có thể gửi bản vá, yêu cầu thêm bản cập nhật hoặc bản sửa lỗi của họ.


Đươ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.

Chọn JavaScript để phát triển toàn cầu hóa

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.

Sử dụng toàn cầu hóa bản thân hoặc trong nhóm của bạn

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ứ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:

ping từ mọi nơi trên thế giới bằng Globalping


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.

Nhìn về phía trước: Cùng nhau xây dựng toàn cầu hóa

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.