27 पॉइंट द्वारा xguru 2022-06-21 | 10 टिप्पणियां | WhatsApp पर शेयर करें
  • भविष्य में सारा development localhost पर नहीं बल्कि 'cloud' में होगा, और laptop सिर्फ client भर रह जाएगा
  • अगर 2030s के developer wishlist को लिखें
    • सस्ता gigabit internet (5G/Mesh WiFi)
    • कई दिनों तक चलने वाली battery वाला सस्ता development machine
    • apps, आकार चाहे जो भी हो, कुछ ही सेकंड में build हों, और testing व staging environments key input होते ही तुरंत real-time live हो जाएं
    • personal development environment, मैं कोई भी device इस्तेमाल करूं, मेरे साथ यात्रा कर सके
    • app की environmental dependencies (HTTPS certificate से लेकर production DB के sandboxed fork तक सब कुछ) feature develop करना चाहने वाले हर team member को तुरंत उपलब्ध हों। documentation या Runbook की ज़रूरत ही न पड़े
    • idea से लेकर customer तक पहुंचने में सिर्फ एक हफ्ता लगे (low-code builders और Backends-as-a-Service का इस्तेमाल करके)
    • MVP से unicorn तक कुछ ही हफ्तों में scale करना संभव हो: serverless और 'new Heroku' जैसे platforms के ज़रिए। auth/payment/DB/communication जैसी चीज़ें world-class SaaS से संभाली जाएं
  • ऊपर की ज़्यादातर चीज़ें localhost नहीं बल्कि "cloud" में चलने की मांग करती हैं

अगर browser ने operating system को "poorly debugged device drivers के एक collection" तक सीमित कर दिया है
cloud development machine को "poorly managed environment mocks के एक collection" तक सीमित कर रहा है

"Future is Just Not Evenly Distributed"

  • developer productivity बढ़ाने में निवेश करने वाली बड़ी कंपनियां पहले से ही cloud में काम कर रही हैं
    • Google Cider : Google का web IDE। विशाल Piper file system के साथ code review/build/testing को integrated करता है। local machine पर code download करने की ज़रूरत नहीं
    • FB On-Demand : local से भी अधिक faithful real-time feature preview के लिए environment को "On-Demand" provision करता है। FB में "local development" नाम की कोई चीज़ ही नहीं
    • Etsy : सारा development Cloud VM में होता है। "VSCode VM में SSH करके चलता है, इसलिए VM के बाहर कभी code checkout नहीं किया"
    • Tesla : car OS development को local से cloud में shift किया (उससे पहले developers को build के लिए महंगे desktops दिए जाते थे)
    • Palantir : Coder (remote development environment SaaS) और EKS का उपयोग करने वाले Remote Ephemeral Workspace पर गया
    • Shopify : ज़्यादातर developers Spin नाम के cloud development environment में migrate हुए (xhyve पर चलने वाला lightweight VM)
    • GitHub : GitHub के development का बड़ा हिस्सा Codespaces में shift किया गया
  • ये तो बड़ी कंपनियां हैं.. इसलिए सवाल उठता है, "क्या यह छोटी कंपनियों के लिए भी उपयुक्त होगा?"
    → जवाब है, "शायद हां, लेकिन संभव है कि मौजूदा रूप में नहीं"
    → इनमें से ज़्यादातर चीज़ें बड़े internal investment की मांग करती हैं, और यह मौजूदा internal infrastructure के इस्तेमाल की वजह से संभव हुआ
    → लेकिन जैसे-जैसे यह technology productized होगी और customers के बीच common patterns मिलेंगे, वैसे-वैसे यह और फैलती जाएगी
  • Preview environment को product बनाना तो पहले ही शुरू हो चुका है
    → Netlify की शुरुआती innovation यह थी कि उसने frontend projects को preview करने लायक deploy करना संभव बनाया
    → अब लगभग सभी documentation sites किसी न किसी तरह के Deploy Preview system का इस्तेमाल करती हैं, और Jamstack apps में इसे release process में भी इस्तेमाल किया जा सकता है

Jobs to Be Done of Localhost

  • local development के दौरान होने वाले काम अब चुनौती झेल रहे हैं
    • remote पर code edit और run करना : GitHub Codespaces, Replit, Code.com, CodeSandbax, GitPod
    • remote server पर run करना लेकिन local पर code edit करना : VSCode + Azure VM/Amazon Workspace, Jetbrains Fleet, Okteto Sync
    • browser के अंदर lightweight JS Container में code edit और run करना : Stackblitz
    • code को remotely run करना : Bret.dev
    • staging : Planetscale Branches, Stripe Test mode keys, Railway Ephemeral Environments, Okteto environments, Coherence workspaces

Pushback: It's Still Not Good Enough

  • यह अभी पर्याप्त अच्छा नहीं है, इसलिए अभी ज़्यादा उत्साहित न हों
  • अगर इस "localhost को खत्म करने" वाली सोच को सफल होना है, तो provisioning की ज़रूरत ही खत्म हो जानी चाहिए
  • लोगों के हिसाब से अलग हो सकता है, लेकिन मुझे अपने लिखे code की preview शुरू होने में 10 सेकंड लगना भी बहुत ज़्यादा लगता है
  • Netlify Drop से frontend preview deploy करने में 1 सेकंड लगता है, लेकिन Netlify CLI में 10 सेकंड लगते हैं
  • लेकिन मैं अभी भी आदतन localhost development environment इस्तेमाल करता हूं: क्योंकि मेरा iteration cycle milliseconds के स्तर का है
  • यह latency problem कुछ वैसी ही है जैसे Moore's Law cloud infrastructure पर लागू हो
  • अगर अभी यह पर्याप्त नहीं है, तो 5 साल बाद फिर से देखना

10 टिप्पणियां

 
botplaysdice 2023-10-19

लगता है कि लैपटॉप की भूमिका सचमुच सिर्फ टर्मिनल + मीटिंग मशीन बन गई है। ARM-आधारित, 20 घंटे से ज़्यादा बैटरी देने वाला Chromebook अब आदर्श लैपटॉप बनता जा रहा है।

 
ahwjdekf 2023-10-19

अगर ऐसा हो जाए तो बहुत अच्छा होगा, लेकिन अभी virtual environment cloud अपनाने वाली कंपनियों की स्थिति यह है कि वे developers पर 8GB memory, 4 CPU specs वाला environment थोप रही हैं (बहुत मिन्नतें करने पर मुश्किल से 16GB)। हकीकत और आदर्श के बीच का फ़ासला बहुत ज़्यादा गंभीर है।

 
colossus 2023-04-02

GitPod में local VSCode में edit करना भी supported है। इस्तेमाल करके देखें तो यह वाकई काफ़ी seamless लगता है (terminal typing में हल्का-सा lag है, और folder expand करते समय थोड़ा slow लगता है, लेकिन इसके अलावा experience में लगभग कोई फ़र्क नहीं है)

 
525hm 2022-06-22

Tencent भी यह कर रहा है, यह हैरान करने वाली बात है। https://zdnet.co.kr/view/?no=20220620003628

क्या अब workstation का दौर आने वाला है...

 
nuthatch 2022-06-21

लगता है टैबलेट्स को अभी से ज़्यादा महत्व मिलेगा।

 
ragingwind 2022-06-21

मैं निजी प्रोजेक्ट्स को जहाँ तक संभव हो cloud-based development की ओर ले जा रहा हूँ, लेकिन लगता है कि सिर्फ़ IDE से काम नहीं चलता। बेहतर होगा अगर latency भी सुधरे, और ऐसा environment हो जहाँ मैं अपने इस्तेमाल के सभी आसान tools को भी पूरी आज़ादी से चला सकूँ, या फिर किसी पूरक approach की ज़रूरत होगी। अगर Windows, Mac, Linux, और VR devices—किसी भी platform पर—एक ही development experience के साथ लगातार development कर पाना संभव हो, तो वह सच में बहुत अच्छा होगा। जैसे आज Xbox games में local के अपने फ़ायदे हैं और cloud के अपने फ़ायदे, इसलिए तुरंत सिर्फ़ एक ही तरीका चुनना मुश्किल है, लेकिन आखिरकार क्या हम सब cloud की तरफ़ नहीं जाएंगे?

 
kunggom 2022-06-21

व्यक्तिगत रूप से, latency जैसी समस्याओं को देखते हुए मुझे लगता है कि WebContainers की तरह local machine पर containerized full-stack environment चलाकर development किया जाए, और उसके परिणाम को cloud में सेव और reflect किया जाए—शायद दिशा कुछ ऐसी हो सकती है। लेख में आए उदाहरणों में StackBlitz जैसा कुछ होगा।

 
kallare 2022-06-21

इसे localhost का अंत कहने से ज़्यादा, मैं इसे thin client की वापसी... मानता हूँ।

शुरुआत सुविधा से होगी, और बाद में शायद बात सुरक्षा की वजह से... उस दिशा में जाएगी।

 
xguru 2022-06-21

यह पूरा अनुवाद नहीं बल्कि एक सारांश है, इसलिए मूल लेख भी देखना बेहतर होगा.

लेख के अंत में लोगों की प्रतिक्रियाओं के सारांश वाले हिस्से में कहा गया था, "Reddit / HN पर सभी लोग चीज़ों के इस तरह होने को नापसंद करते हैं"..
मुझे लगता है कि यह काफ़ी हद तक संभव भविष्य है. बेशक, वहाँ तक पहुँचने की प्रक्रिया में "लोकल code editing + remote VM पर execution" जैसा मिश्रित तरीका भी शामिल होगा, लेकिन
अगर cloud में लोकल code editing के स्तर की latency किसी हद तक सुनिश्चित हो जाए, तो मुझे लगता है कि ज़्यादातर कंपनियाँ यही विकल्प चुनेंगी.

 
ffdd270 2022-06-21

मेरे साथ भी ऐसा ही है, लेकिन शायद Reddit और HN पर ऐसे बहुत से लोग हैं जिन्हें 'मेरे डिवाइस पर मेरा डेटा' पसंद है। मैं भी अपने डेटा पर नियंत्रण छोड़ना नहीं चाहता, इसलिए cloud IDE का इस्तेमाल भी बीच-बीच में सिर्फ example code लिखते समय ही करता हूँ।