क्या कोई कंटेनर तकनीक का इस्तेमाल किए बिना बड़े पैमाने पर ऑपरेशन चला रहा है?
(news.ycombinator.com)HN पर आए सवाल और जवाब
- Nix के साथ हर महीने पेटाबाइट स्तर का डेटा प्रोसेस करने वाले हज़ारों CPU कोर और सैकड़ों तरह के डेटा पाइपलाइन ऑपरेट किए जा रहे हैं
- WhatsApp, Facebook द्वारा अधिग्रहित किए जाने से पहले, bare metal सर्वरों पर FreeBSD के साथ चलता था। BEAM और application code को
rsyncसे डिप्लॉय किया जाता था - Grooveshark ने बहुत कम physical servers के साथ 45M MAU संभाले।
nginx + PHP + MySQL + memcache+ Go में लिखा गया real-time messaging server - 2010 में MySpace का analytics system 14 EC2 instances पर चलता था, और ESPN की streaming service ने भी सिर्फ VM के साथ लाखों concurrent connections संभाले। 45M मासिक विज़िटर वाली वेबसाइट भी single EC2 instance पर
→K8s + Dockerआम धारणा से कहीं ज़्यादा भारी हैं - Fly.io अपने ग्राहकों को containers देता है, लेकिन अपनी खुद की infra में containers का बहुत ज़्यादा उपयोग नहीं करता (ग्राहकों के लिए API servers आदि को छोड़कर)
- Guardian सैकड़ों EC2 instances पर आधिकारिक image से बनाई गई EC2 images इंस्टॉल करके इस्तेमाल करता है (Docker de facto बनने से पहले ही यह सेटअप बन चुका था)। Docker पर जाने पर विचार किया गया, लेकिन stack JVM-आधारित होने के कारण Docker का बड़ा लाभ नहीं था
- लगभग 200 सर्वर bare metal पर Ansible से मैनेज किए जा रहे हैं। PXE boot के साथ image management किया जाता है। custom Arch Linux image और कुछ scripts का उपयोग होता है, और यह तरीका 20 साल से अच्छी तरह काम कर रहा है
- Stack Overflow ने 2016 तक containers का उपयोग नहीं किया था
- FreeBSD Jails और Rust में लिखे lightweight orchestration tool का उपयोग। सैकड़ों 64-core Ryzen machines ऑपरेट की जा रही हैं, और यह Amazon पर चलाने की तुलना में लगभग 1/6 लागत पर कहीं बेहतर performance देता है
3 टिप्पणियां
मैनेजमेंट की सुविधा के लिए Docker का इस्तेमाल करते हैं, लेकिन ज़्यादातर मामलों में Kubernetes over-spec ही होता है। मान लें कि कई nodes ऑपरेट करने हों, तब भी मेरे हिसाब से ज़्यादातर चीज़ें Docker Swarm स्तर पर ही कवर हो जाती हैं।
यह हाल ही में HN पर देखी गई एक पोस्ट है.
उल्टे, यह Kubernetes को high performance के साथ ऑपरेट करने के टिप्स हैं.
https://medium.com/pinterest-engineering/…
बड़े पैमाने की परिभाषा मानदंड के हिसाब से अलग हो सकती है, लेकिन HPC तो किसी भी तरह bare metal आधारित ही चलाया जाता था..
मैंने अपनी पिछली नौकरी में 42U साइज के 50 racks के बराबर HPC कॉन्फ़िगर करके ऑपरेट किया था।
मुद्दा ऑपरेशंस का था। समस्या होने पर जहाँ पहले सिर्फ मौजूदा HW, OS, Grid Engine, User Script में ही देखना होता था,
वहीं जांच का दायरा कंटेनर तक बढ़ाने की कोई वजह...