1 पॉइंट द्वारा GN⁺ 2024-02-14 | 1 टिप्पणियां | WhatsApp पर शेयर करें

CEO के शब्दों में startup की अनोखी यात्रा

  • किसी startup का 5 साल तक चुपचाप काम करना असामान्य है.
  • हमारा लक्ष्य था कि सार्वजनिक रूप से सामने आने से पहले एक हैरान कर देने वाला product बनाया जाए, और इस प्रक्रिया में बेहतरीन प्रतिभाओं को hired किया गया, शुरुआती customers खोजे गए, और investors के साथ काम किया गया.
  • startup के लिए यह स्वाभाविक तरीका नहीं था, लेकिन इससे बहुत कुछ बनाने का मौका मिला.

हमने इसे क्यों बनाया

  • Antithesis, FoundationDB नाम की पिछली कंपनी से शुरू हुई कहानी की अगली कड़ी है.
  • हमारा लक्ष्य एक scalable और fault-tolerant distributed database बनाना था, लेकिन उसका test करना और उसकी correctness पर भरोसा करना सबसे कठिन समस्या थी.
  • software development की मूल समस्या यह है कि developers को उन परिस्थितियों को संभालना पड़ता है जिनकी उन्होंने पहले से कल्पना नहीं की होती.

हमने क्या बनाया

  • database लिखने से पहले हमने एक पूरी तरह deterministic event-driven network simulation लिखी.
  • इस system के जरिए अगर कोई bug मिलता है, तो उसी random seed के साथ उसे बार-बार चलाकर bug को trace किया जा सकता है.
  • FoundationDB लगभग bug-free database था, और customers द्वारा reported bugs बहुत कम थे.

हमने क्या बनाया

  • मनचाहे software को deterministic बनाने के लिए हमने एक hypervisor लिखा.
  • यह platform software के bugs ढूंढ सकता है और उन्हें पूरी तरह reproduce कर सकता है.
  • फिलहाल हमारा focus distributed systems की reliability और fault-tolerance testing पर है.

संपर्क?

  • हम उन संगठनों से बात करना चाहते हैं जो distributed systems की reliability और engineering productivity को महत्व देते हैं.
  • अगर आपके पास कोई सवाल या comment है, तो TwitterX या contact@antithesis.com पर संपर्क किया जा सकता है.

GN⁺ की राय

  • इस लेख की सबसे महत्वपूर्ण बात यह है कि deterministic testing के जरिए लगभग परिपूर्ण software बनाया जा सकता है. यह engineering teams की productivity को अधिकतम करने और bugs खोजने का समय घटाने में बहुत मददगार हो सकता है.
  • Antithesis का platform software development के paradigm को बदलने की क्षमता रखता है, और इसका engineering community पर बड़ा प्रभाव पड़ सकता है.
  • यह लेख software testing की सीमाओं को पार करने की एक innovative approach पेश करता है, और tech क्षेत्र में काम करने वाले लोगों के लिए बहुत रोचक और उपयोगी जानकारी देता है.

1 टिप्पणियां

 
GN⁺ 2024-02-14
Hacker News राय
  • इंजीनियरिंग टीम की उत्पादकता 50 गुना बढ़ गई

    • ऐसा लगता है कि "10x developer" की अवधारणा बिगड़कर ऐसे व्यक्ति का मतलब बन गई है जो हफ्ते में 6.5 दिन, हर दिन 15 घंटे काम करता है.
    • वास्तविक 10x (या 50x) उत्पादकता उन लोगों से आती है जो वह संभव कर देते हैं जिसे असंभव माना जाता था, और इस तरह सॉफ़्टवेयर को बहुत तेज़ी से डिलीवर करते हैं.
  • यह मैंने पढ़ी सबसे बेहतरीन परिचयात्मक पोस्ट है

    • यह लोगों और उनके बनाए हुए काम की बुनियाद को अच्छी तरह समझाता है.
    • यह बताता है कि अभी जो बनाया जा रहा है, वह पहले बनाए गए काम का परिणाम है.
    • यह उन टीमों का भी ज़िक्र करता है जो इसे पहले से इस्तेमाल कर चुकी हैं (जिनके पास प्रसिद्ध और जटिल सिस्टम हैं).
    • इसे डेवलपर/संस्थापक को आकर्षित करने वाली अच्छी लेखन शैली में पेश किया गया है. लैंडिंग पेज भी शानदार है.
  • यह एक शानदार प्रस्ताव है, लेकिन "हमने सभी bugs ढूंढ लिए" कहना तभी सच हो सकता है जब bug की परिभाषा बहुत संकीर्ण हो

    • सबसे मुश्किल bugs एप्लिकेशन के business logic से जुड़े होते हैं.
    • समस्या शुरुआत से ही यह समझने की होती है कि "सही" क्या है.
    • वास्तविक दुनिया में सॉफ़्टवेयर बनाना और bug-मुक्त स्थिति की कल्पना करना अलग बातें हैं.
  • सॉफ़्टवेयर में bugs ढूंढने का प्लेटफ़ॉर्म

    • असल में यह integration tests चलाने वाली cloud service जैसा लगता है.
    • आपको किसी खास environment में deploy करने का तरीका निकालना होगा, और special library का इस्तेमाल करके integration tests लिखने होंगे.
    • यह कैसे उन bugs को ढूंढने में मदद करेगा जिन्हें आप पहले से अपने environment और integration tests के साथ ढूंढ सकते हैं, यह स्पष्ट नहीं है.
  • नाम को लेकर जिज्ञासा

    • जिज्ञासा है कि क्या यह सिर्फ 'Hypothesis' शब्द का एक रूपांतर है, या फिर property-based testing के उलट कोई चतुर अर्थ रखता है.
  • इस क्षेत्र में रुचि

    • sled simulation guide के ज़रिए पता चला कि FoundationDB क्या करता है.
    • madsim का इस्तेमाल करके async/await शैली की services लिखते हैं, और tests में सभी non-deterministic तत्वों को patch करके deterministic executor से बदल देते हैं.
    • ऐसे tests बहुत शक्तिशाली tool हैं.
  • लिखावट वाकई आनंददायक है

    • ऐसा programming अनुभव, मानो आप हर तरह की बुराइयों को रोकने वाली शक्ति-ढाल से घिरे हों.
    • सभी dependencies हटाकर बहुत तेज़ी से अपना Paxos implementation लिखा. कोई bug नहीं.
  • क्या यह वही holy grail नहीं है?

    • मौजूदा application को ज्यों का त्यों इस्तेमाल करते हैं और सिर्फ properties की जाँच करते हैं.
    • non-deterministic CPU और operating system हमेशा बाधा रहे हैं.
    • पूरे vertical computing stack को फिर से बनाना लगभग असंभव है, इसलिए high-resolution deterministic simulator बनाकर इसका रास्ता निकाला गया.
  • Strangeloop में Antithesis से मुलाकात हुई

    • Amazon में काम करते समय जिस state of the art automatic fault injection का पालन करते थे, उसके मुकाबले यह product काफी आगे है.
    • Apache Spark streaming में मिले bug को track करने की प्रक्रिया का अनुसरण किया.
    • distributed systems बनाने वाली किसी कंपनी के भीतर Antithesis जैसे tool की अहमियत कितनी होगी, इसका अंदाज़ा लगाना मुश्किल है.
  • तीन विचार

    • सही समय पर आया शानदार विचार.
    • niche market को target करता है.
    • उच्च-गुणवत्ता वाली writing और documentation के लिए प्रशंसा.