SSD Nodes Learn Hosting plans →
गाइड Matt Connorलेखक: Matt Connor · अपडेट किया गया: 2026-08-13

DigitalOcean के बेहतरीन विकल्प और तुलना गाइड

DigitalOcean के विकल्पों की तुलना RAM, NVMe स्टोरेज, और ट्रांसफर लागत के आधार पर करें। बिना डाउनटाइम के माइग्रेशन के लिए हमारी गाइड देखें और सही क्लाउड प्रदाता चुनें।

DigitalOcean के विकल्प वास्तव में क्या बदलते हैं

DigitalOcean के अधिकांश विकल्प बिल बदलते हैं, मशीन नहीं। आपको किसी भी स्थिति में public IP, virtio disk और root access के साथ एक Linux virtual machine मिलती है, और आपके kernel को इससे कोई फर्क नहीं पड़ता कि control panel पर किसका लोगो है। वे अंतर जो चुनाव तय करते हैं, वे हैं: प्रति GB RAM की कीमत, शामिल transfer allowance का आकार और उससे अधिक उपयोग किए गए प्रत्येक byte की लागत, disk वास्तव में किस चीज से बनी है, और operating system के ऊपर के stack का कितना हिस्सा कोई और आपके लिए चलाएगा।

यह गाइड उन आधारों पर तुलना करती है, क्योंकि एक developer terminal या प्रकाशित price list से इनमें से प्रत्येक की जाँच कर सकता है। यह उन मामलों का भी उल्लेख करती है जहाँ DigitalOcean सही विकल्प है, क्योंकि जो तुलना कुछ भी स्वीकार नहीं करती, वह एक विज्ञापन है।

नीचे दी गई प्रत्येक कीमत एक प्रकाशित list price है, जिसकी जाँच 5 August 2026 को की गई है। कीमतें बदलती रहती हैं, और यहाँ मौजूद एक से अधिक प्रदाता ने 2026 के दौरान अपनी कीमतें बदली हैं। Pricing structure बहुत धीमी गति से बदलती है, इसलिए पहले ratios और billing model को पढ़ें, फिर commit करने से पहले प्रदाता के अपने page पर आज की संख्या की पुष्टि करें।

RAM की प्रति GB कीमत तुलना करने के लिए सही पैमाना है

ChartMonthly list price per GB of RAM, entry shared-CPU plans, checked 5 August 2026
The data behind this chart
[
  {
    "provider": "DigitalOcean 1 GB",
    "ram_gb": 1,
    "monthly_usd": "6.00",
    "usd_per_gb_ram": "6.00"
  },
  {
    "provider": "DigitalOcean 4 GB",
    "ram_gb": 4,
    "monthly_usd": "24.00",
    "usd_per_gb_ram": "6.00"
  },
  {
    "provider": "Akamai Nanode 1 GB",
    "ram_gb": 1,
    "monthly_usd": "5.00",
    "usd_per_gb_ram": "5.00"
  },
  {
    "provider": "Vultr NVMe 1 GB",
    "ram_gb": 1,
    "monthly_usd": "6.00",
    "usd_per_gb_ram": "6.00"
  },
  {
    "provider": "Hetzner CX23 4 GB",
    "ram_gb": 4,
    "monthly_usd": "6.49",
    "usd_per_gb_ram": "1.62"
  }
]

एक ही प्रदाता के भीतर, RAM की प्रति GB कीमत में बहुत कम बदलाव होता है। DigitalOcean अपने 1 GB प्लान पर $6.00 प्रति GB और 4 GB प्लान पर भी वही $6.00 प्रति GB चार्ज करता है, जिसकी मासिक कीमत $24.00 है। एक ही प्रदाता के साथ बड़ा प्लान चुनने पर कोई छूट नहीं मिलती, इसलिए प्लान का आकार निर्णय लेने का आधार नहीं है। निर्णय का आधार प्रदाता है।

Akamai, जो अब Linode के पूर्व व्यवसायों को बेचता है, अपने 2 GB और 4 GB शेयर्ड प्लान की कीमत $12 और $24 रखता है, जो DigitalOcean के बराबर है। इसका एंट्री प्लान $5.00 पर उन्हें पछाड़ देता है। दो कंपनियों का कीमतों में पूरी तरह मेल खाना एक महत्वपूर्ण संकेत है: उस टियर की कीमत हार्डवेयर के बजाय प्रतिस्पर्धी के आधार पर तय की गई है, और यह उसी प्रतिस्पर्धी का अनुसरण करती रहेगी।

यह अंतर उन प्रदाताओं के साथ बढ़ जाता है जो अपने स्वयं के डेटासेंटर बनाते हैं और यूरो में बिक्री करते हैं। एक Hetzner CX23 आपको लगभग $6.49 प्रति माह में 4 GB RAM देता है, जो कि $1.62 प्रति GB है, यानी DigitalOcean की दर का लगभग एक-चौथाई। यह डॉलर का आंकड़ा यूरो की लिस्ट कीमत से परिवर्तित किया गया है, इसलिए यह विनिमय दर के साथ बदलता रहता है। Hetzner ने 2026 के दौरान क्लाउड कीमतों में वृद्धि भी की थी, इसलिए पुरानी तुलनात्मक पोस्ट में दिए गए आंकड़े अब मौजूद नहीं हैं।

RAM की प्रति GB कीमत आपको मिलने वाले CPU के बारे में कुछ नहीं बताती। शेयर्ड vCPU का अर्थ है कि हाइपरवाइजर आपके कोर को अन्य किरायेदारों के साथ शेड्यूल करता है, और इसका वास्तविक परीक्षण उस बॉक्स पर होता है जिसे आपने किराए पर लिया है:

vmstat 1 10

st कॉलम को देखें। यह उस समय का प्रतिशत दर्शाता है जब आपका vCPU चलने के लिए तैयार था लेकिन हाइपरवाइजर ने फिजिकल कोर किसी और को दे दिया था। लोड के दौरान कुछ प्रतिशत की कमी सामान्य है। दोहरे अंकों में निरंतर संख्या का अर्थ है कि होस्ट ओवरसब्सक्राइब है, और RAM की कोई भी कम कीमत उस कोर की भरपाई नहीं कर सकती जिसका आप उपयोग नहीं कर पा रहे हैं। इसे अपने व्यस्त घंटों के दौरान चलाएं, क्योंकि 'steal time' पड़ोसियों की समस्या है और पड़ोसियों का अपना शेड्यूल होता है। स्टोरेज और ट्रैफिक जुड़ने के बाद होस्टिंग की वास्तविक मासिक लागत के व्यापक परिदृश्य के लिए, VPS की मासिक लागत क्या है पढ़ें।

शामिल ट्रांसफर की वास्तविक लागत

ChartIncluded outbound transfer and overage price, same plans, checked 5 August 2026
The data behind this chart
[
  {
    "provider": "DigitalOcean 1 GB",
    "included_tb": 1,
    "overage_usd_per_tb": "10.00"
  },
  {
    "provider": "Akamai Nanode 1 GB",
    "included_tb": 1,
    "overage_usd_per_tb": "5.00"
  },
  {
    "provider": "Vultr NVMe 1 GB",
    "included_tb": 2,
    "overage_usd_per_tb": "10.00"
  },
  {
    "provider": "Hetzner CX23 4 GB",
    "included_tb": 20,
    "overage_usd_per_tb": "1.20"
  }
]

DigitalOcean अपने एंट्री प्लान पर 1 TB आउटबाउंड ट्रांसफर शामिल करता है और अतिरिक्त उपयोग के लिए GiB के हिसाब से बिल करता है, जो प्रति अतिरिक्त TB लगभग $10.00 बैठता है। Akamai इतनी ही TB शामिल करता है और इससे लगभग आधी कीमत, यानी प्रति TB लगभग $5.00 चार्ज करता है। Vultr इसी तरह की ओवरएज दर पर 2 TB शामिल करता है। Hetzner 20 TB शामिल करता है और उसके बाद प्रति TB लगभग $1.20 चार्ज करता है, जो अन्य प्रदाताओं की तुलना में काफी कम है।

हेडलाइन नंबरों की तुलना में तीन संरचनात्मक विवरण अधिक मायने रखते हैं। इनबाउंड ट्रैफिक चारों प्रदाताओं पर मुफ्त है, इसलिए केवल वही गिना जाता है जिसे आप बाहर भेजते हैं। DigitalOcean और Vultr अकाउंट के सभी सर्वर्स के बीच अलाउंस को पूल करते हैं, इसलिए एक व्यस्त मशीन दूसरी मशीन का कोटा उपयोग कर सकती है और छोटे सर्वर्स का एक समूह एक बड़े पूल को साझा करता है। निजी या VPC नेटवर्क पर सर्वर्स के बीच का ट्रैफिक आमतौर पर बिल्कुल नहीं गिना जाता है, यही कारण है कि अपने डेटाबेस को प्राइवेट इंटरफेस पर रखना सुरक्षा के साथ-साथ एक बिलिंग निर्णय भी है।

यदि आप सीमा के आसपास भी नहीं हैं, तो इनमें से कोई भी बात मायने नहीं रखती। एक ब्लॉग, JSON रिस्पॉन्स वाली API या एक छोटा SaaS महीने में 1 TB तक नहीं पहुंचेगा। वीडियो, इमेज गैलरी, गेम सर्वर्स, पैकेज मिरर्स और ऑफ-साइट बैकअप टारगेट्स ऐसा कर सकते हैं। अनुमान लगाने से पहले मापें:

sudo apt update && sudo apt install -y vnstat
sudo systemctl enable --now vnstat
vnstat -m

vnstat -m महीने के अनुसार ट्रांसफर को प्रिंट करता है, जिसे प्राप्त और प्रेषित (received and transmitted) में विभाजित किया गया है। केवल प्रेषित कॉलम के लिए बिल किया जाता है। डेटाबेस खाली शुरू होता है, इसलिए पहली उपयोगी रीडिंग आपके द्वारा इसे इंस्टॉल करने के एक दिन बाद आती है, और पहला पूरा महीना एक महीने बाद आता है। तब तक प्रदाता का अपना बैंडविड्थ ग्राफ ही एकमात्र रिकॉर्ड होता है जो आपके पास होता है।

एक और सवाल पूछें जिसका जवाब कोई भी मूल्य सूची नहीं देती है: जब आप अलाउंस पार कर लेते हैं, तो क्या प्रदाता आपको बिल करता है या पोर्ट को थ्रॉटल (throttle) करता है। बिलिंग में पैसे खर्च होते हैं। थ्रॉटलिंग में यूजर्स का नुकसान होता है, ठीक उसी समय जब आपके पास सबसे अधिक यूजर्स होते हैं। आप यह जानना चाहेंगे कि ट्रैफिक स्पाइक होने पर इनमें से क्या होता है।

NVMe या SATA, और यह कैसे जाँचें कि आपको वास्तव में क्या मिला है

पैनल पर NVMe लिखा है। यह होस्ट में लगी डिस्क के बारे में एक दावा है, और हो सकता है कि आपकी वर्चुअल मशीन उन पर न चल रही हो। लोकल स्टोरेज आपकी वर्चुअल डिस्क को उसी फिजिकल मशीन के अंदर मौजूद ड्राइव पर रखता है। नेटवर्क स्टोरेज इसे एक अलग स्टोरेज क्लस्टर पर रखता है, जो डेटासेंटर नेटवर्क के माध्यम से एक्सेस किया जाता है। यही वह तकनीक है जो इंस्टेंट रिसाइज, लाइव माइग्रेशन और स्नैपशॉट-इन-प्लेस को संभव बनाती है।

गेस्ट के अंदर, दोनों एक जैसे दिखते हैं:

lsblk -d -o NAME,ROTA,MODEL,SIZE
cat /sys/block/vda/queue/rotational

ROTA और rotational किसी भी ऐसी चीज़ के लिए 0 रिपोर्ट करते हैं जिसे होस्ट नॉन-रोटेशनल घोषित करता है, इसलिए NVMe द्वारा समर्थित नेटवर्क वॉल्यूम बिल्कुल वही रिपोर्ट करता है जो लोकल NVMe करता है। यह मान आपको बताता है कि डिस्क घूमने वाली प्लैटर नहीं है। यह आपको यह नहीं बता सकता कि डिस्क कहाँ स्थित है। Linux पर NVMe डिस्क की पुष्टि करना डिवाइस नामों और उनके अर्थों के बारे में विस्तार से बताता है।

जो परीक्षण उन्हें अलग करता है, वह है क्यू डेप्थ 1 पर लेटेंसी, क्योंकि एक सिंगल छोटे रीड के पास छिपाने के लिए कुछ नहीं होता है। लोकल NVMe उसी चेसिस से जवाब देता है। नेटवर्क वॉल्यूम हर सिंगल रीड के लिए डेटासेंटर नेटवर्क पर एक राउंड ट्रिप जोड़ता है, इसलिए इसकी लेटेंसी का आधार स्तर अधिक होता है, भले ही गहरी क्यू डेप्थ पर इसका थ्रूपुट समान दिखे।

sudo apt update && sudo apt install -y fio
fio --name=lat --filename=/var/tmp/fiotest --size=1G --rw=randread --bs=4k \
  --ioengine=libaio --direct=1 --iodepth=1 --runtime=30 --time_based --group_reporting
fio --name=iops --filename=/var/tmp/fiotest --size=1G --rw=randread --bs=4k \
  --ioengine=libaio --direct=1 --iodepth=32 --runtime=30 --time_based --group_reporting
rm -f /var/tmp/fiotest

पहला रन एक clat ब्लॉक प्रिंट करता है, जो कंप्लीशन लेटेंसी है। औसत के बजाय 99वें परसेंटाइल वाली लाइन पढ़ें, क्योंकि औसत उन रुकावटों को छिपा देता है जिन्हें उपयोगकर्ता महसूस करते हैं। दूसरा रन अपनी समरी लाइन पर IOPS= प्रिंट करता है। दोनों को अपने मौजूदा प्रोवाइडर पर और जिस प्रोवाइडर पर आप विचार कर रहे हैं उसके ट्रायल इंस्टेंस पर, एक ही दिन चलाएं, और अपने दोनों नंबरों की तुलना करें। किसी भी वेंडर द्वारा प्रकाशित आंकड़े एक ऐसी मशीन पर मापे गए थे जिसे आप देख नहीं सकते। इसे अलग-अलग घंटों में तीन बार चलाएं, क्योंकि एक शांत होस्ट और एक व्यस्त होस्ट एक ही प्लान पर अलग-अलग परिणाम देते हैं। VPS की सही तरीके से बेंचमार्किंग इस विधि को कवर करता है, और SSD VPS का वास्तविक अर्थ क्या है इसके पीछे के मार्केटिंग शब्दों को स्पष्ट करता है।

Regions: latency मापें, नक्शा न देखें

Region की सूची केवल marketing है जब तक आप उसे मापते नहीं हैं। उपयोगकर्ता को जो महसूस होता है वह उनके नेटवर्क से आपके सर्वर तक का round trip है, और यह इस बात पर निर्भर करता है कि उनके packets किस रास्ते से जाते हैं, न कि नक्शे पर मौजूद दूरी पर। एक congested transit link के पीछे स्थित 300 km दूर का सर्वर, एक साफ रास्ते पर स्थित 1,500 km दूर के सर्वर से हार जाता है।

ping -c 20 203.0.113.10
mtr -rwc 50 203.0.113.10
curl -o /dev/null -s -w 'dns %{time_namelookup} connect %{time_connect} tls %{time_appconnect} total %{time_total}\n' https://example.com

mtr हर hop को उसके अपने loss और latency के साथ print करता है, इसलिए दो hops के बीच 60 ms का उछाल उस link को दर्शाता है जो आपको नुकसान पहुँचा रहा है, न कि destination को दोष देता है। इसे उस नेटवर्क की मशीन से चलाएं जिस पर आपके उपयोगकर्ता हैं। Datacentre से datacentre के routes इंटरनेट पर सबसे अच्छे मार्ग होते हैं, और वे हर provider को समान रूप से बेहतर दिखाते हैं।

एक संरचनात्मक बिंदु किसी भी मूल्य परिवर्तन से अधिक महत्वपूर्ण है। आपके महाद्वीप पर केवल एक region वाला provider होने का मतलब है कि आपका disaster recovery plan महाद्वीप बदलने की योजना है, और इसमें वह latency भी शामिल है जो इसके साथ आती है। उन regions की गिनती करें जिन पर आप वास्तव में fail over करेंगे, न कि उन regions की जो पेज पर लिखे हैं।

Snapshots और backups का बिल अलग होता है

Storage add-ons वह जगह है जहाँ एक सस्ता प्लान महंगा हो जाता है। DigitalOcean snapshots के लिए प्रति GiB $0.06 प्रति माह चार्ज करता है, और अपने automatic backups की कीमत सर्वर के हिस्से के रूप में तय करता है: साप्ताहिक backups के लिए प्लान की कीमत का 20%, दैनिक के लिए 30%, और GiB के आधार पर बिलिंग का एक विकल्प भी उपलब्ध है। दोनों मॉडल तर्कसंगत हैं लेकिन वे विपरीत दिशाओं में विफल होते हैं। प्रतिशत-आधारित कीमत सर्वर के आकार के साथ बढ़ती है, इसलिए एक बड़ा सर्वर जिसमें छोटा डेटासेट हो, वह अधिक भुगतान करता है। प्रति GiB कीमत आपके डेटा के साथ बढ़ती है, इसलिए एक छोटा सर्वर जो बड़ी volume से जुड़ा हो, वह अधिक भुगतान करता है।

यह पूछें कि restore करने की लागत क्या है और इसमें कितना समय लगता है, क्योंकि backup रखने की कीमत इस प्रश्न का केवल एक साधारण हिस्सा है। यह भी पूछें कि क्या सर्वर को नष्ट करने से उसके snapshots भी नष्ट हो जाते हैं।

इसके बाद, एक ऐसी copy रखें जिसे provider नियंत्रित न करता हो। Provider के snapshots उसी के account के भीतर रहते हैं, इसलिए login खो जाने, payment विफल होने या account suspend होने पर सर्वर और उसके backups दोनों एक ही बार में चले जाते हैं। restic backups into storage you own में object storage के कुछ डॉलर का खर्च आता है, इन्हें किसी भी provider पर restore किया जा सकता है, और यही वह तरीका है जो migration को अंतिम बनाने के बजाय उसे reversible बनाता है।

आप स्टैक का कितना हिस्सा चलाना चाहते हैं

Providers एक रेखा पर स्थित होते हैं। एक छोर पर आप एक मशीन किराए पर लेते हैं और सब कुछ खुद चलाते हैं। दूसरे छोर पर आप एक git branch push करते हैं और सर्वर कभी नहीं देखते। RAM के प्रति GB की कीमत की तुलना केवल पहले छोर पर ही सही है, क्योंकि दूसरे छोर पर आप मेमोरी के बजाय श्रम (labour) खरीद रहे होते हैं, और श्रम की कोई प्रति GB कीमत नहीं होती।

किसी भी चीज़ की तुलना करने से पहले ईमानदार रहें कि आप किस छोर पर हैं। $15.15 प्रति माह का एक managed database $6 के सर्वर की तुलना में महंगा दिखता है, जब तक कि आप इसके पीछे के घंटों की कीमत न जोड़ें: replication, failover, point in time restore, minor version upgrades, और वह alert जो किसी को 03:00 बजे जगाता है। यदि वह काम आपकी नौकरी है, तो इसे खुद चलाएं और अंतर बचाएं। यदि आपकी नौकरी application है, तो इसे खरीदना सस्ता है। Managed और unmanaged का विभाजन तय करता है कि आपको मूल्य सूची का कौन सा कॉलम पढ़ना चाहिए। यदि ईमानदार उत्तर यह है कि आप पूरी मशीन और उसकी डिस्क अपने लिए चाहते हैं, तो यह provider का प्रश्न होने के बजाय एक VPS बनाम dedicated server का प्रश्न है। यही प्रश्न एक डेवलपर के मासिक बिल के बाकी हिस्सों में भी दिखाई देता है, जहाँ Claude और ChatGPT plans की तुलना इस बात पर निर्भर करती है कि आप headline price के बजाय कितना काम सौंपना चाहते हैं।

जहाँ DigitalOcean सही विकल्प है

जब आप वर्चुअल मशीन के बजाय एक प्लेटफॉर्म खरीद रहे हों, तो DigitalOcean बेहतर साबित होता है।

  • Managed databases. Managed PostgreSQL और MySQL की शुरुआत $15.15 प्रति माह से होती है, जिसमें 1 GiB RAM और 10 GiB स्टोरेज मिलता है। अतिरिक्त स्टोरेज के लिए प्रति GiB शुल्क लिया जाता है और स्टैंडबाय नोड्स की कीमत प्रति नोड तय होती है। इसी तरह की विश्वसनीयता खुद बनाने का मतलब है Patroni या repmgr, एक कंसेंसस स्टोर, एक कनेक्शन प्रॉक्सी और एक फेलओवर ड्रिल, जिसका आपने वास्तव में अभ्यास किया हो। दो लोगों की टीम इसे मेंटेन नहीं कर सकती और साथ ही नए फीचर्स भी नहीं दे सकती।
  • App Platform. एक ब्रांच पुश करें, आपको एक बिल्ड, एक सर्टिफिकेट और एक रनिंग सर्विस मिल जाएगी, जिसमें पैच करने के लिए कोई ऑपरेटिंग सिस्टम नहीं होगा। इस उत्पाद का सस्ता VPS संस्करण आप खुद हैं, शनिवार के दिन।
  • Object storage और load balancers जिन्हें एक परिपक्व Terraform provider कवर करता है। एक ऐसा फ्लीट जिसे आप कोड से नष्ट और पुनर्निर्माण कर सकते हैं, उसकी कीमत कम यूनिट प्राइस से कहीं अधिक है।
  • उत्पाद के पीछे की कंपनी। प्रकाशित सपोर्ट टियर्स, इतिहास के साथ एक स्टेटस पेज, और एक ऐसा संगठन जो क्लाइंट की सुरक्षा प्रश्नावली (security questionnaire) का जवाब देगा। यदि आप होस्टिंग को रीसेल करते हैं, तो यह प्रति GB कुछ डॉलर से कहीं अधिक मूल्यवान है।

DigitalOcean वहाँ महंगा हो जाता है जहाँ साधारण वर्चुअल मशीनें बड़ी संख्या में हों और वास्तविक आउटबाउंड ट्रैफिक अधिक हो। यह वही स्थिति है जिसे एक विकल्प ठीक करता है, और यही वह अधिकांश काम है जिसे एक सेल्फ-होस्टिंग डेवलपर खरीदता है।

बिना किसी डाउनटाइम के नए प्रदाता पर माइग्रेट करें

माइग्रेशन के दौरान डाउनटाइम का मुख्य कारण यह है कि डेटा नए सर्वर पर जाने के बाद भी ट्रैफिक पुराने IP पर आता रहता है। नीचे दिए गए हर चरण का उद्देश्य इस अवधि को कम और अनुमानित बनाना है।

DNS के साथ शुरुआत करें, माइग्रेशन से कम से कम 48 घंटे पहले। Resolvers आपके A record को उसके TTL (time to live) की अवधि तक कैश (cache) करते हैं। इसलिए, 24 घंटे के TTL वाला रिकॉर्ड बदलने के बाद भी एक दिन तक उपयोगकर्ताओं को पुराने सर्वर पर भेजता रहेगा। कटओवर के समय TTL कम करने से कोई लाभ नहीं होता, क्योंकि resolvers पहले से ही पुरानी समाप्ति तिथि के साथ पुरानी वैल्यू को स्टोर किए होते हैं। पहले TTL कम करें, पुरानी वैल्यू की अवधि समाप्त होने तक प्रतीक्षा करें, फिर माइग्रेट करें।

dig +noall +answer example.com A
dig +noall +authority example.com SOA

पहला कमांड उत्तर के दूसरे कॉलम में वर्तमान TTL प्रिंट करता है। इसे अपने DNS प्रदाता के पास 300 पर सेट करें, फिर उस संख्या से अधिक समय तक प्रतीक्षा करें जिसे आपने अभी बदला है।

फिर इस क्रम में कार्य करें।

  1. नया सर्वर प्रोविजन करें और उस पर कुछ भी डालने से पहले उसे सुरक्षित (harden) करें। नए VPS पर शुरुआती दस मिनट उस हिस्से को कवर करता है जिसे लोग जल्दबाजी में छोड़ देते हैं।
  2. एप्लिकेशन स्टैक इंस्टॉल करें और rsync के साथ डेटा कॉपी का पहला राउंड चलाएं, जबकि पुराना सर्वर सामान्य रूप से काम करता रहे।
  3. नए होस्ट पर अभी TLS सर्टिफिकेट जारी करें, DNS-01 challenge का उपयोग करके। HTTP-01 challenge उस IP के खिलाफ वैलिडेट करता है जिस पर DNS वर्तमान में पॉइंट करता है, जो अभी भी पुराना सर्वर है। DNS-01 challenge इस क्रमबद्ध समस्या को पूरी तरह से हटा देता है।
  4. किसी भी सार्वजनिक बदलाव से पहले अपने लैपटॉप पर DNS को ओवरराइड करके नए होस्ट का परीक्षण करें। 203.0.113.20 example.com को /etc/hosts में जोड़ें, वास्तविक साइट ब्राउज़ करें, फिर उस लाइन को हटा दें। इस परीक्षण से कोई भी उपयोगकर्ता प्रभावित नहीं होता है।
  5. डेटाबेस के आकार के प्रश्न को हल करें। कुछ GB से कम डेटा के लिए, डंप और रिस्टोर राइट फ्रीज (write freeze) के भीतर फिट हो जाता है। उससे अधिक होने पर, पुराने डेटाबेस से नए डेटाबेस में दिनों पहले रेप्लिकेशन सेट करें और उसे सिंक होने दें, ताकि फ्रीज केवल प्रमोशन के समय ही हो।
  6. राइट्स (writes) को फ्रीज करें। एप्लिकेशन को मेंटेनेंस या रीड-ओनली मोड में डालें। यह एकमात्र हिस्सा है जिसे उपयोगकर्ता देख सकते हैं, और इसमें केवल कुछ मिनट लगने चाहिए।
  7. अंतिम डेल्टा चलाएं: वही rsync फिर से, फिर अंतिम डेटाबेस सिंक।
  8. A और AAAA रिकॉर्ड्स को नए IP पर बदलें। 300 सेकंड के TTL के साथ, अधिकांश resolvers लगभग पांच मिनट के भीतर इसे फॉलो कर लेते हैं।
  9. पुराने सर्वर को कम से कम एक दिन तक चालू और पहुंच योग्य रखें, क्योंकि कुछ resolvers छोटे TTL को अनदेखा कर देते हैं। यदि पुराना एप्लिकेशन अभी भी लिखने योग्य है, तो देर से आने वाले ट्रैफिक गलत डेटाबेस में डेटा लिख सकते हैं, इसलिए पुराने होस्ट को नए डेटाबेस पर पॉइंट करें या वहां से मेंटेनेंस पेज दिखाएं।
  10. एक दिन तक नए सर्वर की एरर रेट पर नज़र रखें, TTL को वापस उसकी सामान्य वैल्यू पर सेट करें, और पुराने सर्वर को उसी शाम के बजाय एक सप्ताह बाद नष्ट करें।

कॉपी करने की प्रक्रिया में दो कमांड शामिल हैं, जिन्हें दो बार चलाया जाता है। फाइल सिंक:

rsync -aHAX --numeric-ids --delete -e ssh /srv/ deploy@203.0.113.20:/srv/

-a ओनरशिप, अनुमतियों और टाइमस्टैम्प को सुरक्षित रखता है, -H हार्ड लिंक को बनाए रखता है, -AX ACLs और विस्तारित विशेषताओं को रखता है, और --numeric-ids rsync को उन नामों के माध्यम से यूजर ID को रीमैप करने से रोकता है जो दो मशीनों के बीच अलग-अलग होते हैं। इसे दिनों पहले चलाएं, फिर फ्रीज के दौरान फिर से चलाएं, जब यह केवल वही डेटा ट्रांसफर करेगा जो बदला है।

PostgreSQL के लिए जिसे डंप करना संभव हो:

pg_dump --format=custom --no-owner --dbname=appdb --file=appdb.dump
scp appdb.dump deploy@203.0.113.20:/var/tmp/
pg_restore --clean --if-exists --no-owner --dbname=appdb /var/tmp/appdb.dump

MySQL या MariaDB के लिए:

mysqldump --single-transaction --routines --triggers --databases appdb > appdb.sql

--single-transaction InnoDB टेबल पर एक ट्रांजेक्शन के भीतर डंप लेता है, इसलिए परिणाम सुसंगत (consistent) रहता है और इसके चलने के दौरान एप्लिकेशन लिखती रहती है। इस फ्लैग के बिना mysqldump टेबल को लॉक कर देता है, जिसका अर्थ है कि आपका राइट फ्रीज आपकी योजना से पहले शुरू हो गया और आपने समय का चयन नहीं किया।

दो चीजें आपके सर्वर के बाहर विफल हो सकती हैं। एक नए IP एड्रेस की कोई ईमेल प्रतिष्ठा (reputation) नहीं होती है, इसलिए नए बॉक्स से सीधे भेजा गया मेल स्पैम के रूप में फिल्टर हो जाता है: ऐसे रिले के माध्यम से भेजें जिसकी पहले से ही प्रतिष्ठा हो। और कोई भी पार्टनर जो आपके आउटबाउंड IP को allowlist करता है, जैसे कि पेमेंट गेटवे या क्लाइंट फायरवाल, उसे कटओवर से पहले अपडेट किया जाना चाहिए, अन्यथा ट्रैफिक मूव होते ही वे कॉल विफल होने लगेंगे।

कमिट करने से पहले क्या जांचें

  • क्या कीमत प्रमोशनल है और रिन्यूअल के समय यह कितनी होगी। पहले टर्म का डिस्काउंट जो रिन्यूअल पर दोगुना हो जाता है, वह वास्तव में एक खर्च ही है, जिसे बस आगे के लिए टाल दिया गया है।
  • क्या टर्म का भुगतान पहले ही (prepaid) किया जा रहा है। मल्टी-ईयर प्रीपेड प्लान, जैसे कि SSD Nodes बेचता है, अग्रिम भुगतान के बदले प्रति GB RAM कम कीमत प्रदान करते हैं। इसका नुकसान यह है कि आप अगले महीने सेवा बंद नहीं कर सकते, इसलिए अपनी निश्चितता के अनुसार ही टर्म चुनें।
  • प्रति माह स्नैपशॉट की लागत क्या है, और रिस्टोर करने में कितना पैसा और कितना समय लगता है।
  • क्या ओवरएज (सीमा से अधिक उपयोग) के लिए बिल भेजा जाता है या उसे थ्रॉटल (गति कम) कर दिया जाता है।
  • क्या IPv6 को ठीक से रूट किया गया है या यह केवल एक अलग से जोड़ा गया एड्रेस है।
  • यदि आप मैन्युअल रूप से नहीं बल्कि कोड के माध्यम से रीबिल्ड करना चाहते हैं, तो क्या कोई ऐसा API उपलब्ध है जिसका Terraform provider मेंटेन किया जाता है।
  • सपोर्ट तक कैसे पहुंचा जाए, और सर्वर डाउन होने की स्थिति में प्रतिक्रिया का प्रकाशित लक्ष्य क्या है (न कि सेल्स संबंधी प्रश्नों के लिए)।

उस आधार पर निर्णय लें जो आपके बिल को सबसे अधिक प्रभावित करता है। यदि वह मेमोरी है, तो प्रति GB RAM की कीमत निर्णायक होगी। यदि वह आउटबाउंड ट्रैफिक है, तो शामिल ट्रांसफर लिमिट निर्णायक होगी। यदि वह आपका अपना समय है, तो मैनेज्ड प्लेटफॉर्म निर्णायक होगा, और यहाँ तुलना किए गए चारों में से DigitalOcean का प्लेटफॉर्म सबसे मजबूत है।

FAQ

क्या Hetzner हमेशा DigitalOcean से सस्ता होता है?

एक साधारण virtual machine के लिए, यह प्रति GB RAM के हिसाब से काफी सस्ता है: 5 अगस्त 2026 तक entry shared plans पर यह लगभग $1.62 है, जबकि DigitalOcean पर यह $6.00 है। जब managed services की बात आती है, तो तुलना बदल जाती है। Hetzner केवल servers और networking बेचता है, इसलिए managed database या push-to-deploy platform आपको खुद या किसी third party के माध्यम से प्रबंधित करना होगा, और उन घंटों की अपनी लागत होती है। Hetzner ने 2026 के दौरान अपनी cloud कीमतें बढ़ाई हैं, इसलिए किसी पुराने लेख पर भरोसा करने के बजाय वर्तमान euro मूल्य की जाँच करें।

यदि मुझे managed database की आवश्यकता है, तो मुझे कौन सा DigitalOcean विकल्प चुनना चाहिए?

Vultr और Akamai दोनों managed databases बेचते हैं, इसलिए यदि DigitalOcean पर रहने का आपका मुख्य कारण managed database है, तो ये सबसे करीबी विकल्प हैं। कम लागत वाले यूरोपीय hosts आमतौर पर इसे नहीं बेचते हैं, जिसका अर्थ है कि आपको PostgreSQL या MySQL खुद चलाना होगा, जिसमें replication और tested failover भी शामिल है। यह एक वास्तविक काम है। यह तय करने से पहले कि सस्ता सर्वर आपको बचत दे रहा है, इसकी तुलना $15.15 प्रति माह की लागत वाली managed 1 GiB instance से करें।

मैं बिना downtime के live site को नए provider पर कैसे ले जाऊं?

स्थानांतरण से कम से कम 48 घंटे पहले DNS TTL को 300 seconds पर सेट करें, क्योंकि resolvers पुराने TTL के समाप्त होने तक पुराने IP को ही serve करते रहते हैं। नए host को तब build और test करें जब पुराना सर्वर अभी भी traffic serve कर रहा हो, इसके लिए अपनी मशीन पर /etc/hosts override का उपयोग करें ताकि अन्य users को यह न दिखे। फिर कुछ मिनटों के लिए writes को freeze करें, अंतिम rsync delta और database sync चलाएं, A और AAAA records को switch करें, और पुराने सर्वर को एक सप्ताह तक चालू रखें, ताकि यदि किसी resolver ने छोटे TTL को अनदेखा किया हो, तो भी समस्या न हो।

क्या सस्ते VPS का मतलब धीमी disks है?

स्वयं में नहीं। मायने यह रखता है कि आपकी virtual disk host के local है या network storage cluster पर, और control panel में यह शायद ही कभी बताया जाता है। lsblk -o NAME,ROTA दोनों के लिए 0 रिपोर्ट करता है, क्योंकि दोनों non-rotational हैं। इसके बजाय मापें: --iodepth=1 --bs=4k --direct=1 के साथ fio चलाएं और 99th percentile completion latency पढ़ें। एक network volume हर read के साथ datacentre network का एक round trip जोड़ता है, इसलिए इसकी latency का स्तर local NVMe से अधिक होता है, भले ही deep-queue throughput समान दिखे।

क्या मेरा email नए सर्वर से deliver होगा?

अक्सर शुरुआत में नहीं। एक नए IP address का कोई sending history नहीं होता है, इसलिए प्राप्तकर्ता इसे संदिग्ध मानते हैं और mail spam में चला जाता है या सीधे reject हो जाता है। जब तक आप update नहीं करते, SPF और DKIM records भी पुराने host की ओर इशारा करते रहते हैं। Application mail को किसी ऐसे relay या email service के माध्यम से भेजें जिसकी reputation पहले से बनी हुई है, और cutover के बाद के बजाय पहले ही mail के लिए DNS records को update कर लें।