1 puan yazan GN⁺ 2024-02-14 | 1 yorum | WhatsApp'ta paylaş

CEO'nun anlattığı bir startup'ın benzersiz yolculuğu

  • Bir startup'ın 5 yıl boyunca gizli şekilde faaliyet göstermesi alışılmadık bir durum.
  • Halka açılmadan önce şaşırtıcı bir ürün yapmak istediler; bu süreçte harika yetenekleri işe aldılar, ilk müşterileri buldular ve yatırımcılarla birlikte çalıştılar.
  • Bir startup için doğal olmayan bir yöntem olsa da, bu sayede çok şey inşa edebildiler.

Bunu neden yaptık

  • Antithesis, FoundationDB adlı önceki şirkette başlayan hikâyenin bir devamı.
  • Ölçeklenebilir ve arızalara dayanıklı bir dağıtık veritabanı yapmak istediler, ancak bunu test etmek ve doğruluğundan emin olmak en zor problemdi.
  • Yazılım geliştirmenin temel sorunu, geliştiricilerin öngörmediği durumlarla başa çıkmak zorunda olması.

Ne yaptık

  • Veritabanını yazmadan önce, tamamen deterministik olay tabanlı bir ağ simülasyonu yazdılar.
  • Bu sistem sayesinde bir hata bulunduğunda, aynı rastgele seed ile yeniden çalıştırıp hatanın izini sürebiliyorlardı.
  • FoundationDB, neredeyse hatasız bir veritabanıydı; müşteriler tarafından bildirilen hata neredeyse hiç yoktu.

Ne yaptık

  • İsteğe bağlı herhangi bir yazılımı deterministik hale getirmek için bir hypervisor yazdılar.
  • Bu platform, yazılımdaki hataları bulabiliyor ve onları kusursuz biçimde yeniden üretebiliyor.
  • Şu anda dağıtık sistemlerin güvenilirliği ve hata toleransı testlerine odaklanıyorlar.

İletişim?

  • Dağıtık sistemlerin güvenilirliğine ve mühendislik verimliliğine önem veren organizasyonlarla konuşmak istiyorlar.
  • Sorularınız veya yorumlarınız varsa TwitterX ya da contact@antithesis.com üzerinden iletişime geçebilirsiniz.

GN⁺ görüşü

  • Bu yazıdaki en önemli nokta, deterministik test yöntemleriyle neredeyse kusursuz yazılım üretilebileceği. Bu, mühendislik ekiplerinin verimliliğini en üst düzeye çıkarmaya ve hata bulma süresini kısaltmaya büyük ölçüde yardımcı oluyor.
  • Antithesis'in sunduğu platform, yazılım geliştirme paradigmasını değiştirme potansiyeline sahip ve bu da mühendislik topluluğu üzerinde büyük etki yaratabilir.
  • Bu yazı, yazılım testinin sınırlarını aşmaya çalışan yenilikçi bir yaklaşım sunuyor; bu da teknoloji alanında çalışanlar için son derece ilgi çekici ve faydalı bilgiler sağlıyor.

1 yorum

 
GN⁺ 2024-02-14
Hacker News görüşleri
  • Mühendislik ekibinin üretkenliği 50 kat arttı

    • "10x geliştirici" kavramının, haftada 6,5 gün günde 15 saat çalışan kişiyi ifade edecek şekilde yozlaştığı hissediliyor.
    • Gerçek 10x (veya 50x) üretkenlik, imkansız olduğu düşünülen şeyleri gerçekleştirip yazılımı çok daha hızlı teslim eden insanlardan gelir.
  • Bu, okuduğum tanıtım yazıları arasında en iyisi

    • İnsanları ve onların yaptıklarını çok iyi temellendirerek açıklıyor.
    • Şu anda inşa edilen şeyin daha önce inşa edilenlerin bir sonucu olduğunu anlatıyor.
    • Bunu daha önce kullanmış ekiplerden de bahsediyor (ünlü ve karmaşık sistemlere sahip olanlar).
    • Geliştiricilere/girişimcilere hitap eden iyi bir yazım diliyle sunulmuş. Landing page de harika.
  • Bu harika bir öneri ama, "tüm bug'ları bulduk" demek ancak bug tanımı çok dar olduğunda doğru olabilir

    • En zorlu bug'lar, uygulamanın iş mantığıyla ilgilidir.
    • Asıl mesele, en baştan neyin "doğru" olduğunu belirlemektir.
    • Gerçek dünyada yazılım geliştirmek ile bugsız bir durumu hayal etmek farklı şeylerdir.
  • Yazılımda bug bulan bir platform

    • Aslında entegrasyon testleri çalıştıran bir cloud service gibi görünüyor.
    • Özel bir ortama nasıl deploy edileceğini bulmak ve özel bir kütüphane kullanarak entegrasyon testleri yazmak gerekiyor.
    • Zaten kendi ortamınız ve entegrasyon testlerinizle bulunabilecek bug'ları tespit etmede bunun nasıl yardımcı olacağı sorgulanıyor.
  • İsim üzerine düşünceler

    • Bunun sadece 'Hypothesis' kelimesinin bir varyasyonu mu olduğu, yoksa property-based testing'in tersini ima eden zekice bir anlam mı taşıdığı merak ediliyor.
  • Bu alana ilgi

    • sled simülasyon rehberi sayesinde FoundationDB'nin ne yaptığını öğrenmiş.
    • madsim kullanarak async/await tarzı servisler yazıyor, testlerde ise tüm nondeterministik unsurları patch eden deterministik bir executor ile değiştiriyor.
    • Bu tür testler çok güçlü araçlar.
  • Yazıyı okumak gerçekten keyifli

    • Her türlü hatayı engelleyen bir güç kalkanıyla çevriliymiş gibi bir programlama deneyimi.
    • Tüm bağımlılıkları silip kendi Paxos implementasyonunu çok hızlı yazmış. Hiç bug yok.
  • Bu tam da kutsal kase gibi bir şey değil mi?

    • Mevcut uygulamayı olduğu gibi kullanıp sadece özellikleri doğruluyor.
    • Nondeterministik CPU ve işletim sistemi her zaman engel olmuştu.
    • Tüm dikey bilgi işlem yığınını yeniden inşa etmek neredeyse imkansız olduğundan, bunu yüksek çözünürlüklü deterministik bir simülatör kurarak aşıyor.
  • Strangeloop'ta Antithesis ile tanıştım

    • Amazon'da çalışırken takip ettikleri otomatik fault injection'ın güncel durumuna kıyasla ürün çok ileride.
    • Apache Spark streaming'de buldukları bir bug'ın izini sürme sürecini takip etmiş.
    • Dağıtık sistemler geliştiren bir şirkette Antithesis gibi bir aracın ne kadar önemli olacağını hayal etmek zor.
  • Üç düşünce

    • Doğru zamanda gelmiş harika bir fikir.
    • Niş bir pazarı hedefliyor.
    • Yüksek kaliteli yazım ve dokümantasyon için övgü.