एक किशोर की server कहानी
- Varun नाम का एक किशोर अपने कमरे में दो server रखता है.
- वह अपने द्वारा कोड किए गए कई प्रोजेक्ट्स को इन servers पर host करता है और इसके प्रति गहरा जुनून रखता है.
- वह अपने homelab की शुरुआत, उसके विकास और उसके भविष्य की कहानी साझा करता है.
home server की शुरुआत
- 2020 के lockdown के दौरान, 13 वर्षीय Varun ने web development में रुचि ली और HTML static websites बनाना शुरू किया.
- जैसे-जैसे वह अधिक जटिल applications बनाने लगा, backend की ज़रूरत पड़ी, तो उसने web apps और scripts को host करने के लिए Replit का इस्तेमाल किया.
- अधिक control और reliability की चाह में, वह self-hosting की दुनिया में उतर गया.
पहला server
- उसने eBay से खरीदे गए Dell OptiPlex को server के रूप में इस्तेमाल करना शुरू किया.
- अमेरिका से स्विट्ज़रलैंड तक shipping के दौरान समस्याएँ आईं, लेकिन आखिरकार वे सुलझ गईं.
- उसने server OS के रूप में Windows 10 Pro इस्तेमाल करने का फैसला किया.
server OS का बदलाव
- Windows updates की वजह से downtime और असुविधा झेलने के बाद, उसने नवंबर 2020 में Ubuntu Server पर switch किया.
- वह जल्दी ही Linux के साथ सहज हो गया और nginx, MongoDB तथा कई projects चलाने लगा.
- उसे Docker मिला, जिसने third-party software को install और run करना आसान बना दिया.
नए server की शुरुआत
- मौजूदा server की सीमाओं तक पहुँचने के बाद, उसने Dell PowerEdge R720XD खरीदा.
- इससे server के size, शोर और power consumption जैसी कुछ समस्याओं का समाधान हुआ.
- उसने Proxmox का उपयोग करके virtual machines चलाईं और Docker के भीतर सब कुछ manage किया.
Replit अनुभव की वापसी
- Replit के अनुभव को याद करते हुए, उसने अपना खुद का Replit clone विकसित किया.
- 'Dock'n'Roll' नाम की Docker-आधारित service के ज़रिए वह web apps को code करता है और real time में host करता है.
- वह projects को manage करने के लिए ExpressJS से बना control panel, Monaco Editor, Docker, Redis और OpenResty का उपयोग करता है.
निष्कर्ष
- Varun अब university में प्रवेश और घर बदलने की तैयारी कर रहा है, और उसके servers का क्या होगा यह अभी स्पष्ट नहीं है.
- self-hosting के ज़रिए उसने बहुत कुछ सीखा और इससे उसे अपने projects को स्वतंत्र रूप से चलाने की क्षमता मिली.
GN⁺ की राय
- Varun की कहानी technology के प्रति जुनून और self-driven learning के महत्व को दिखाती है.
- self-hosting के ज़रिए वास्तविक users वाले projects चलाते हुए मिला अनुभव software engineering की गहरी समझ देता है.
- यह लेख किशोरों को technology के प्रति जिज्ञासा रखने और चुनौती लेने के लिए प्रोत्साहित करता है, और असफलता व सफलता दोनों से सीखने की प्रक्रिया के मूल्य पर ज़ोर देता है.
1 टिप्पणियां
Hacker News टिप्पणियाँ
90 के दशक में किशोरावस्था के दौरान, पहला कंप्यूटर मिलने पर यह जानकर हैरानी हुई कि हर कंप्यूटर एक server बन सकता है। महंगे rack या खास hardware की ज़रूरत नहीं थी; बस Winsock और TCP/IP चाहिए था। उम्मीद है कि focus hardware के बजाय Node-आधारित app को इंटरनेट पर उपलब्ध कराने पर हो। static IP की ज़रूरत नहीं, बस dynamic DNS सेट करना आना चाहिए।
iPad generation के बड़े होने के साथ अब कई लोग file system तक नहीं जानते। desktop के बाद की दुनिया सच बन रही है। abstraction सुविधाजनक है, लेकिन चिंता है कि क्या technology में दिलचस्पी रखने वाले किशोर कम होते जाएंगे।
16 साल की उम्र में 'Teach Yourself C' किताब, एक video card और Sony Trinitron खरीदा, लेकिन C भाषा के multidimensional arrays और pointers से इतने अभिभूत हो गए कि छोड़ दिया और rockstar बनने का फैसला किया। विश्वविद्यालय में Java की किताब खरीदकर पढ़ाई शुरू की, और वहीं से 15 साल से अधिक लंबे engineer के सफर की शुरुआत हुई। guitar बजाना अब भी पसंद है, लेकिन समझ आया कि engineer के रूप में ज़्यादा कुशल हूँ।
16 साल की उम्र में एक छोटा homelab है। cloud services से हटकर, 1Gbps home network के साथ discard किए गए hardware खरीदकर physical server management शुरू किया। अभी Proxmox का इस्तेमाल करके NAS और कई servers चला रहा हूँ, जिन पर Minecraft server, personal projects, vulnerability scanner, Telegram bots, दोस्तों के लिए VPS, Android और MacOS build VM, storage, ML projects, और school CTF प्रतियोगिताओं की infrastructure hosting जैसी चीज़ें चलती हैं (इटली के संदर्भ में)।
महंगे rack की जगह Ikea table पर server रखकर इस्तेमाल करते देख यह सोच रहा हूँ कि क्या इन्हें Lack Rack के बारे में पता है।
high-performance PC खुद assemble करने और BBS चलाने का अनुभव software developer बनने में बहुत मददगार रहा। पड़ोस के एक बच्चे के लिए gaming PC assemble किया और उसे technology में निपुण होते देखा। बेटे के लिए gaming laptop खरीदा और बेटी के लिए desktop assemble किया ताकि वे technology सीख सकें।
server कमरे में नहीं, basement में रखा था। घर की telephone line के लिए PBX, file server, monitoring server आदि चलाता था, और PBX को हर सुबह गणित का सवाल पूछकर जगाने के लिए सेट किया था। technology और Linux का वह अनुभव अक्सर भूल जाता हूँ।
11 साल की उम्र में पहला "server" मिला, और 13 साल की उम्र में पहली नौकरी मिलने के बाद eBay से एक "असली" server खरीदा। चिंता है कि सस्ते PC खरीदकर उन पर प्रयोग करने वाले बच्चे अब कम होते जा रहे हैं।
21 साल की उम्र में एक used rack-mount server मिला। कम वेतन वाली नौकरी थी, लेकिन video encoding experiments के लिए ज़्यादा ताकतवर कंप्यूटर चाहिए था। Craigslist पर सस्ता server मिला, और उसी ने career की दिशा तय कर दी।
महसूस होता है कि बुनियादी hardware और operating system का ज्ञान धीरे-धीरे कम होता जा रहा है। PaaS पर काम करते समय भी ऐसा अनुभव बहुत मूल्यवान रहता है।