paint-brush
Açık Kaynak ve JavaScript'in Gücü: Küreselleşmenin Yolculuğuile@globalping
123 okumalar

Açık Kaynak ve JavaScript'in Gücü: Küreselleşmenin Yolculuğu

ile Globalping7m2023/10/05
Read on Terminal Reader

Çok uzun; Okumak

Bu blog yazısında startup'la olan deneyimlerimizden elde edilen içgörüleri ve öğrendikleri ve bunların Globalping'deki yaklaşımımızı nasıl etkilediğini paylaşacağım. Özellikle neden JavaScript tabanlı açık kaynaklı bir platform oluşturduğumuzu ve bu seçimlerin projeyi nasıl dönüştürdüğünü yazacağım.
featured image - Açık Kaynak ve JavaScript'in Gücü: Küreselleşmenin Yolculuğu
Globalping HackerNoon profile picture

Yeni bir ürün geliştirirken birdenbire sayısız zorlukla ve kararlarla karşı karşıya kalırsınız. Ne yazık ki, ister yeni başlıyor olun ister deneyimli bir girişimci olun, doğru seçimleri yapmanın sihirli bir formülü yok. Ekip olarak bu yolu birkaç kez yürüdüğümüz için, bunun getireceği heyecanı ve endişeyi anlıyoruz.


Yakın zamanda küresel bir ağ test platformu olan Globalping'i başlatan küçük bir ekibiz. Bu proje özeldir çünkü benzer ürün fikrine sahip bir startup'ın istenen sonuca ulaşamamasından sonraki ikinci girişimimizdir. Globalping ile hedeflerimize ve ürün vizyonumuza ulaşmak için farklı bir yaklaşım benimsiyoruz.


Bu blog yazısında startup'la olan deneyimlerimizden elde edilen içgörüleri ve öğrendikleri ve bunların Globalping'deki yaklaşımımızı nasıl etkilediğini paylaşacağım. Özellikle neden JavaScript tabanlı açık kaynaklı bir platform oluşturduğumuzu ve bu seçimlerin projeyi nasıl dönüştürdüğünü yazacağım.

Düşün ve Öğren: Geçmiş Deneyimlerden Büyümek

PerfOps adında bir startup kurduğumuz birkaç yıl öncesine gidelim. Fikir, İnternet tabanlı uygulamaları optimize etmek için bir B2B SaaS platformu oluşturmaktı. CDN sağlayıcılarındaki performans ölçümlerini toplamak ve Çoklu CDN yük dengeleme işlevini etkinleştirmek için RUM (Gerçek Kullanıcı İzleme) verilerini kullandı.


Bonus olarak, kullanıcıların dünya çapında farklı konumlardan traceroute ve kazma gibi ağ ölçüm isteklerini çalıştırmasına da olanak tanıdı.


Birçok startup gibi bizim de finansmana ihtiyacımız vardı. VC desteğini aldığımızda şans bizden yanaydı; bu da bir ekip oluşturmamıza ve isteğe bağlı ağ testi için küresel bir ağ oluşturmak üzere yüzlerce VM (sanal makine) kiralamamıza olanak sağladı. Sonuç olarak milyarlarca RUM veri noktasını analiz etmek ve bunları gerçek zamanlı olarak DNS tabanlı yük dengelemede kullanmak için yeni teknolojiler geliştirebiliriz.


Bu girişim öngörüldüğü gibi ilerlemese de, kazanılan deneyim çok değerliydi ve Globalping'in bugünkü yolunu şekillendiriyor.


Bazı çıkarımlar:

  • Baskı tutkuyu söndürüyor : VC yatırımı bizi işimizin hızını ve önceliklerini değiştirmeye teşvik etti. Bir sonraki finansman turunu güvence altına almak için ölçütleri karşılamaya odaklandıkça ve önceliklerimizi küçük işletmelerden ve tek kullanıcılardan daha büyük işletmelere kaydırdıkça, fikrimize duyduğumuz neşe ve coşkunun azaldığını hissettik.


  • Kullanıcılar için geliştirme : Ürünü yatırımcı beklentilerini karşılayacak şekilde geliştirmek çoğu zaman kullanıcılarımızın ihtiyaç duyduğu şeyleri oluşturma vizyonumuzla uyuşmuyordu. Sektörü ve pazarı anladığınız sürece, kullanıcıların ne istediğine ve neye ihtiyaç duyduğuna odaklanmak önemlidir; bu, yatırımcılarımızın hiçbir deneyimi olmadığı ve uyumsuz olan farklı metrikleri ve öncelikleri iyileştirmeye ittiği bir şeydir.


  • RUM verileri güvenilmez . Büyük miktarlarda faydalı olmasına rağmen, Gerçek Kullanıcı İzleme (RUM) verilerinin çoğunun sorunlu olduğu ve ağ sorunlarının hatalarını ayıklamak için ideal olmadığı kısa sürede ortaya çıktı. Sorunun CDN'de mi yoksa testi çalıştıran istemcide mi olduğunu asla bilemezsiniz. Ayrıca RUM verileri tekrarlanamaz; Bir test çalıştırıldıktan sonra, değişikliklerin etkisini değerlendirmek için testi aynı yerden yeniden çalıştırmanın bir yolu yoktur.


  • Kara kutular yardımcı olmuyor . VC destekli bir şirket olarak tüm kodu ve verileri gizli tutmak ve halktan gizlemek zorundaydık. Kullanıcılarımız kendilerine gösterilen verilerin gerçekliğini ve doğruluğunu hiçbir zaman doğrulayamadı. Üstelik, aksini kanıtlayamadan, performans sıralamalarını yüksek ücret ödeyen müşteriler lehine manuel olarak değiştirdiğimizi herkes iddia edebilir.


Ancak girişimin talihsiz kaderinden sonra bile doğru, açık ve güvenilir ağ testi ve performans izleme potansiyeli ve ihtiyacını hala gördük. Ve böylece Globalping doğdu; bazı şeyleri farklı yapmak ve deneyimlerden yararlanarak kullanıcılarımız ve kendimiz için daha iyi bir hizmet yaratmak için ikinci bir şans. Şimdi bunu nasıl yaptığımızı sizlerle paylaşalım.

Açık Kaynağı Kucaklamak ve Kullanıcılara Öncelik Vermek

Globalping'i açık kaynaklı bir proje haline getirmenin doğal bir ilerleme olduğuna inanıyoruz. Bir kere bu konsepte zaten aşinayız. Aylık 230 milyardan fazla isteğe hizmet eden ücretsiz, açık kaynaklı, çoklu CDN hizmeti olan jsDelivr'i yaklaşık 10 yıldır çalıştırıyoruz.


Yani açık kaynağın artılarını ve eksilerini, ne yapmamız gerektiğini ve nelerden kaçınmamız gerektiğini zaten biliyorduk; bunun hakkında ne kadar çok düşünürsek, Globalping'in açık kaynak olması gerektiği o kadar mantıklı geldi.


Globalping'i açık kaynak haline getirmenin ana nedenleri şunlardı:

  • Topluluktan Faydalanmak : Projeye katkıda bulunan çoğu kişi de onu kullanıyor. Böylece becerilerine katkıda bulunarak veya yalnızca geri bildirim vererek kendi araçlarını oluşturmaya ve istenen özellikleri elde etmeye yardımcı olurlar. Ayrıca Globalping topluluğuyla birlikte büyüyor çünkü test ağını oluşturmak için VM'ler kiralamak yerine Globalping araştırmalarını evlerinde ve ofislerinde barındırma konusunda topluluğa güveniyoruz.


  • jsDelivr'i kullanmak : Bir topluluk oluşturmak bir gecede gerçekleşmez. Neyse ki, diğer projemiz jsDelivr'i destekleyen harika bir topluluğa sahibiz. Birçok mevcut kullanıcı ve destekçi, teknik çakışma nedeniyle Globalping'e katılabilir: jsDelivr küresel olarak dağıtılmış altyapı sağlar ve Globalping, bu tür küresel sistemleri izlemenin, test etmenin, hata ayıklamanın ve karşılaştırmanın bir yoludur.


  • Herkes için geliştirme : Büyüme ve kâr baskısının azalmasıyla artık herkesin erişebileceği bir platform oluşturmaya odaklanabiliriz. Platform ücretsizdir, cömert sınırlamalara sahiptir ve ister büyük bir kuruluş olsun, ister İnternet'in nasıl çalıştığını yeni öğrenen bir öğrenci olsun, herkese aynı özellikleri sunar.


  • Şeffaf olmak : Açık kaynak, çalışmalarımızı şeffaf ve herkes için görünür kılar. İster araştırmalarımız ister çekirdek API'miz olsun, herkes kodumuzu ve mantığımızı inceleyebilir. Bu, güvenlik ve gizlilik iddialarımızı doğrulamamıza yardımcı olur ve kullanıcılara adil olduğumuz, derecelendirme satmadığımız veya CDN performansını hesaplamak için önyargılı algoritmalar kullanmadığımız konusunda güvence vermemize yardımcı olur. Ayrıca kod veya işlevsellik ile ilgili bir sorun bulan herhangi bir kişi veya şirket, bir yama göndererek güncelleme veya düzeltmenin eklenmesini talep edebilir.


Doğal olarak açık kaynağın da zorlukları var. Ürün geliştirme, geliştiricilere, tasarımcılara, pazarlamacılara ve geliştirici ilişkileri uzmanlarına ihtiyaç duyar. Topluluğumuzdaki teknoloji uzmanlarının desteğine sahip olsak da, çalışmalarının karşılığını alan çekirdek bir ekiple çalışmaya devam ediyoruz.


VC finansmanına güvenmek yerine artık benzer düşüncelere sahip şirketlerle ortaklıklar kuruyoruz ve bağışları bizi ayakta tutan GitHub sponsorlarından destek arıyoruz.

Globalping'i Geliştirmek için JavaScript'i Seçmek

Bir sonraki önemli karar Globalping'i oluşturmak istediğimiz teknolojiydi. Büyük ölçekli, gerçek zamanlı JavaScript uygulamalarını çalıştırma konusundaki deneyimimize dayanarak JavaScript'i güvenle seçtik.


Dile aşinalığımızın faydaları şimdiden karşılığını verdi ve daha az tanıdık dillere kıyasla yeni özellikleri daha hızlı geliştirmemize ve hataları daha kolay bulup düzeltmemize olanak tanıdı.


Ayrıca, JavaScript'in dünya çapındaki uygulama ve web geliştiricileri arasındaki popülaritesi, onu bizim için bariz bir seçim haline getirdi. Dil, geliştirme hedeflerimize uygun, zengin ve sağlam bir araç, kitaplık ve paket ekosistemine sahiptir. Diğer açık kaynaklı projeleri kullanarak, tekerleği yeniden icat etmekten kaçınarak topluluğun bilgi ve çabalarından yararlanabiliriz.


JavaScript'in kendisi geniş bir topluluğa sahip olduğundan, Globalping'e katkıda bulunabilecek birçok potansiyel kişi vardır. JavaScript kodunun okunması çoğunlukla basit olduğundan, yeni gelenlerin kaynak kodunda gezinmesi ve anlaması daha kolaydır.


Sonuç olarak geliştiriciler daha hızlı katkıda bulunabilir, bu da motivasyonu yüksek tutar ve projeyi ileriye taşır.


Sonuçta çekirdek ekibimiz sürekli olarak Globalping üzerinde çalışırken, platforma yapılacak her türlü katkıyı memnuniyetle karşılıyoruz . JavaScript'i seçerek, Globalping'i yararlı ve kullanıcı dostu bir ağ test platformu haline getirmekle ilgilenen herkesi davet eden açık ve işbirliğine dayalı bir ortam sağlayabiliriz.

Kendiniz veya Ekibinizde Küreselleşmeyi Kullanmak

Son olarak, sizi kısaca Globalping platformuyla tanıştırmak istiyoruz ve ekiplerinizdeki sorun giderme ve ağ testlerini geliştirmek için merakınızı uyandırmayı umuyoruz!


Ölçüm sonuçlarına hızlı erişim sağlayın: İster ağ profesyonelleri ister yeni başlayanlar olsun, farklı kullanıcıların ihtiyaçlarını karşılamak için çeşitli entegrasyonlar geliştirdik. Terminalinizde kendinizi en rahat hissediyorsanız CLI aracımızı kullanın. GitHub botumuz ve Slack uygulamamız, ağ sorunları üzerinde birlikte çalışan ekipler için harika yardımcılardır.


Son olarak, örneğin normal kurulumunuza erişiminiz olmadığında testleri çalıştırmak için Globalping'i web sitemizdeki basit ve kullanıcı dostu bir grafik arayüzde de kullanabilirsiniz.


Entegrasyonlar arasında tutarlı komutlar yazın: Entegrasyonları her değiştirdiğinizde her şeyi sıfırdan öğrenmenizi istemediğimiz için tek tip bir komut yapısı uyguladık. Genel olarak tüm Globalping komutları aynı formatı izler:

 globalping [command type] [target] from [location] [flags]


Örneğin, Viyana ve Berlin'den jsdelivr.com'a iki sonda (limit bayrağıyla tanımlanan) kullanarak ping çalıştırmak için aşağıdaki komutu yazarsınız:

 globalping ping jsdelivr.com from "Vienna, Berlin" --limit 2


Sonuç şu şekilde görünebilir:

Globalping'i kullanarak dünyanın her yerinden ping atın


API'mızla kendi araçlarınızı oluşturun: Globalping platformunu kullanarak kendi aracınızı oluşturmak ister misiniz? Sorun değil; istediğinizi oluşturmak için REST API'mizi (cömer sınırlarla) kullanabilirsiniz!


Ağın bir parçası olun: Globalping, topluluğumuz tarafından desteklenen küresel olarak dağıtılmış bir araştırma ağına dayanır. Tüm kullanıcılara ücretsiz olarak güvenilir sonuçlar sunmaya yardımcı olmak için evinde, ofisinde veya sunucularında Docker'da bir araştırma kuran herkesi aramızda görmekten mutluluk duyarız.

Geleceğe Bakış: Küreselleşmeyi Birlikte İnşa Etmek

Bugün, Globalping'in geçmiş deneyimlerimiz ve öğrendiklerimiz tarafından şekillenerek nasıl gelişip büyüdüğünü görmekten mutluluk duyuyoruz. Sonunda Globalping'in İnternet performansı, gecikme ve çalışma süresiyle ilgili her şey için başvurulacak platform haline geleceğini umuyoruz.


İlgilenen herkesin platformu kullanabilmesi için özellikleri geliştirmeye ve harika bir kullanıcı deneyimi sunmaya devam edeceğiz.