ruby on rails - एडब्ल्यूएस मौजूद होने पर लोग हरोकू का उपयोग क्यों करते हैं? एडब्ल्यूएस से हेरोोकू क्या अंतर करता है?




ruby-on-rails heroku (9)

अच्छा .. यह सब गुलाबी नहीं है ..

सबसे पहले: एडब्ल्यूएस रॉकेट विज्ञान नहीं है, और यदि आप दिन के अंत में "चीजें" को तैनात करने के तरीके के बारे में जानते हैं तो एडब्ल्यूएस का उपयोग करना बेहतर होता है, और सस्ता .. किसी भी अन्य पैस के बजाय जो हमेशा अधिक महंगा होता है आपके लिए "चीजें" करने का आदान-प्रदान ... IMHO AWS बहुत बेहतर है और आपके पास समग्र रूप से बहुत अधिक नियंत्रण है,

खासकर जब सही है स्केल, बिट्टनाम, इत्यादि ... और उन सभी पूर्व ईसी 2 छवियों को कई अलग-अलग सॉफ्टवेयर स्टैक के लिए बनाया गया है।

मैं एक शुरुआती आरओआर प्रोग्रामर हूं जो हेरोोकू का उपयोग करके अपने ऐप को तैनात करने की योजना बना रहा है। मेरे अन्य सलाहकार मित्रों के शब्द का कहना है कि हरोकू वास्तव में उपयोग करना आसान है। एकमात्र समस्या यह है कि मुझे अभी भी पता नहीं है कि हेरोोकू क्या करता है ...

मैंने अपनी website देखी है और संक्षेप में, क्या हैरोकू करता है स्केलिंग के साथ मदद करता है लेकिन ... इससे कोई फर्क क्यों पड़ता है? Heroku कैसे मदद करता है:

  1. गति - मेरा शोध निहित है कि यूएस ईस्ट कोस्ट पर एडब्ल्यूएस तैनात करना सबसे तेज़ होगा यदि मैं अमेरिका / एशिया-आधारित दर्शकों को लक्षित कर रहा हूं।

  2. सुरक्षा - वे कितने सुरक्षित हैं?

  3. स्केलिंग - यह वास्तव में कैसे काम करता है?

  4. लागत दक्षता - एक ऐसा डिनो जैसा है जो इसे स्केल करना आसान बनाता है।

  5. वे अपने प्रतिस्पर्धियों के खिलाफ कैसे किराया करते हैं? उदाहरण के लिए, इंजन यार्ड और bluebox ?

व्याख्या करने के लिए कृपया अंग्रेजी शब्द का प्रयोग करें ... मैं एक शुरुआती प्रोग्रामर हूं।


अमेज़ॅन वेब सर्विसेज (एडब्ल्यूएस) आईएएसएस से पाएएस तक 99.9 99 99 99% स्थायित्व और डेटा और आधारभूत संरचना की उपलब्धता के साथ कई सेवाएं प्रदान करता है। एडब्ल्यूएस डेवलपर्स के लिए अपने आवेदन परिनियोजन प्रक्रिया को पाइपलाइन करने के लिए कई उपकरणों के साथ आधारभूत संरचना स्वचालन प्रदान करता है।

दूसरी तरफ, हेरोकू सिर्फ पैस है जो आपके क्लाउड पर अपने मंच को प्रबंधित करने के लिए सेवाएं प्रदान करता है। यह कहीं भी एडब्ल्यूएस के साथ खड़ा नहीं है चाहे वह बुनियादी ढांचा या सुरक्षा हो।


एडब्ल्यूएस / हेरोोक छोटे शौक परियोजनाओं (साथ शुरू करने के लिए) दोनों के लिए स्वतंत्र हैं।

यदि आप आर्किटेक्चर के अधिक अनुकूलन के बिना तुरंत एक ऐप शुरू करना चाहते हैं, तो Heroku चुनें।

यदि आप आर्किटेक्चर पर ध्यान केंद्रित करना चाहते हैं और विभिन्न वेब सर्वरों का उपयोग करने में सक्षम होना चाहते हैं, तो एडब्ल्यूएस चुनें। एडब्ल्यूएस आपके द्वारा चुने गए सेवा / उत्पाद के आधार पर अधिक समय लेने वाली है, लेकिन इसके लायक हो सकते हैं। एडब्ल्यूएस कई प्लगइन सेवाओं और उत्पादों के साथ आता है।

Heroku

  • एक सेवा के रूप में मंच (पीएएएस)
  • अच्छा दस्तावेज
  • अंतर्निहित उपकरण और वास्तुकला है।
  • ऐप डिज़ाइन करते समय आर्किटेक्चर पर सीमित नियंत्रण।
  • परिनियोजन का ख्याल रखा जाता है (केवल गिट कमांड के माध्यम से)।
  • समय लेने वाला नहीं है।

एडब्ल्यूएस

  • एक सेवा के रूप में बुनियादी ढांचा (आईएएएस)
  • बहुमुखी - ईसी 2, एलएएमबीडीए, ईएमआर इत्यादि जैसे कई उत्पाद हैं।
  • आर्किटेक्चर पर अधिक नियंत्रण के लिए एक समर्पित उदाहरण का उपयोग कर सकते हैं, जैसे ओएस, सॉफ्टवेयर संस्करण इत्यादि चुनना। एक से अधिक बैकएंड परतें हैं।
  • लोचदार बीनस्टॉक हेरोकू के पीएएएस की तरह एक विशेषता है।
  • स्वचालित तैनाती का उपयोग कर सकते हैं, या अपना खुद का रोल कर सकते हैं।

कुंआ! मैं पर्यवेक्षक हेरोकू उभरते और नवजात डेवलपर्स में प्रसिद्ध है जबकि एडब्ल्यूएस के पास उन्नत डेवलपर व्यक्तित्व है। डिजिटलओशन भी इस मैदान में एक प्रमुख खिलाड़ी है। क्लाउडवेज ने डिजिटलऑन और एडब्ल्यूएस पर एक क्लिक में लैंप स्टैक बनाने में बहुत आसान बना दिया है। एक क्लिक में सभी सेवाओं और संकुल अपडेट होने से मैन्युअल रूप से सभी चीजों को करने से कहीं बेहतर होता है।

आप यहां पूरी तरह से जांच सकते हैं: https://www.cloudways.com/blog/host-php-on-aws-cloud/


खैर, लोग आमतौर पर इस सवाल से पूछते हैं: कुछ तैनाती शुरू करते समय हेरोोकू या एडब्ल्यूएस।

हेरोोकू और एडब्ल्यूएस दोनों का उपयोग करने का मेरा प्रयोग, यहां मेरी त्वरित समीक्षा और तुलना है:

Heroku

  • जो कुछ भी आपके प्रोजेक्ट प्रकारों को तैनात करने के लिए एक आदेश: रेल, नोडजेस पर रूबी
  • प्लगइन और तृतीय पक्षों को एकीकृत करने के लिए बहुत से 1-क्लिक: कुछ के साथ शुरू करना बहुत आसान है।
  • ऑटो स्केलिंग नहीं है; इसका मतलब है कि आपको मैन्युअल रूप से ऊपर / नीचे स्केल करने की आवश्यकता है
  • लागत महंगी है, खासकर, जब सिस्टम को अधिक संसाधनों की आवश्यकता होती है
  • मुफ्त उदाहरण उपलब्ध है
  • नि: शुल्क उदाहरण सो जाता है अगर यह निष्क्रिय है।
  • डाटा सेंटर: केवल यूएस और यूरोपीय संघ
  • हरोकू Heroku run bash (धन्यवाद, सलाह के लिए माजाफर मैश) का उपयोग करके मशीन स्तर पर जाकर / पहुंच सकते हैं लेकिन यह सीमित है! आपके पास पूर्ण पहुंच नहीं है!
  • DevOps के बारे में बहुत कुछ जानने की जरूरत नहीं है

एडब्ल्यूएस - ईसी 2

  • यह सिर्फ पूर्व-कॉन्फ़िगरेशन ओएस (या नहीं) वाली मशीन की तरह है, इसलिए आपको अपनी वेबसाइट / सेवा ऑनलाइन करने के लिए सॉफ़्टवेयर, लाइब्रेरी इंस्टॉल करने की आवश्यकता है।
  • प्लगइन और लाइब्रेरी को मैन्युअल रूप से एकीकृत करने की आवश्यकता है, या स्वचालन स्क्रिप्ट (सार्वजनिक स्क्रिप्ट और आपके द्वारा लिखित)
  • ऑटो स्केलिंग और लोड बैलेंसर समर्थित सेवाएं हैं, बस सीखें कि कैसे अपने सिस्टम को कॉन्फ़िगर और एकीकृत करें
  • लागत काफी सस्ता है, इस पर निर्भर करता है कि आप किस सेवा और घंटे का उपयोग करते हैं
  • T2.micro उदाहरणों के लिए कई खाली घंटे हैं, लेकिन आमतौर पर, आप हर महीने कुछ डॉलर का भुगतान करेंगे (यदि अभी भी T2.micro का उपयोग कर रहे हैं)
  • आपका मुफ्त उदाहरण सो नहीं जाएगा, 24/7 उपलब्ध है (क्योंकि आप इसके लिए भुगतान कर सकते हैं :))
  • डाटा सेंटर: दुनिया भर में। उस क्षेत्र को चुनें जो आपके लिए सबसे अच्छा फिट है।
  • मशीन स्तर में कूदो। तो आप इसका आनंद ले सकते हैं
  • DevOps के बारे में कुछ ज्ञान, लेकिन यह ठीक है, वहाँ सहायक है!

एडब्ल्यूएस लोचदार Beanstalk Heroku का एक विकल्प, लेकिन सस्ता

  • 2010 से एलटास्टिक बीनस्टॉक को सार्वजनिक बीटा के रूप में घोषित किया गया था; यह तैनाती के साथ काम करने में आसान बनाता है। विस्तार के लिए कृपया here

  • बीनस्टॉक मुफ़्त है, आप जिस लागत का भुगतान करेंगे, वह आपके द्वारा उपयोग की जाने वाली सेवाओं और उपयोग के घंटों की संख्या के लिए होगी।

  • मैं लंबे समय तक लोचदार बीनस्टॉक का उपयोग करता हूं, और मुझे लगता है कि यह हरोकू और सस्ता का प्रतिस्थापन हो सकता है!

सारांश

  • हेरोकू: शुरुआत में आसान, मुफ़्त उदाहरण, लेकिन बाद में महंगा
  • एडब्ल्यूएस: आसान नहीं, मुफ्त घंटे उपलब्ध, सस्ता प्रकार, बीनस्टॉक का उपयोग करने के लिए चिंतित होना चाहिए

तो मेरे वर्तमान सिस्टम में, मैं उत्पादन के लिए स्टेजिंग और बीनस्टॉक के लिए हेरोकू का उपयोग करता हूं!


पहली चीजें पहले, एडब्ल्यूएस और हेरोकू अलग-अलग चीजें हैं। एडब्ल्यूएस एक सेवा ( IaaS ) के रूप में इंफ्रास्ट्रक्चर प्रदान करता है जबकि हेरोकू एक प्लेटफार्म एक सेवा ( PaaS ) प्रदान करता है।

क्या फर्क पड़ता है? बहुत करीब, आईएएएस आपको उन चीजों को देता है जो आपको इसके ऊपर चीजों को बनाने के लिए आवश्यक हैं; PaaS आपको एक वातावरण देता है जहां आप केवल कोड और कुछ बुनियादी विन्यास को दबाते हैं और एक चल रहे एप्लिकेशन प्राप्त करते हैं। आईएएएस आपको खुद को बनाने और बनाए रखने की लागत पर अधिक शक्ति और लचीलापन दे सकता है।

एडब्ल्यूएस पर अपना कोड चलाने के लिए और एक हेरोकू परिनियोजन की तरह थोड़ा सा देखने के लिए, आपको कुछ ईसी 2 उदाहरण चाहिए - आप उन पर एक लोड बैलेंसर / कैशिंग परत स्थापित करना चाहते हैं (उदाहरण के लिए Varnish ), आप कुछ ऐसा चलाना चाहते हैं जैसे उदाहरण अपने कोड की सेवा के लिए Passenger और nginx , आप PostgreSQL जैसे किसी क्लस्टर्ड डेटाबेस इंस्टेंस को तैनात और कॉन्फ़िगर करना चाहते हैं। आप Capistrano जैसे कुछ के साथ एक तैनाती प्रणाली चाहते Capistrano , और कुछ लॉग एकत्रीकरण कर रहे हैं।

यह स्थापित करने और बनाए रखने के लिए काम की एक महत्वपूर्ण राशि नहीं है। हेरोकू के साथ, उस तरह के चरण में जाने के लिए आवश्यक प्रयास शायद आवेदन कोड की कुछ पंक्तियां और एक git push

तो आप अब तक हैं, और आप स्केल करना चाहते हैं। महान। आप अपने ईसी 2 परिनियोजन के लिए Puppet का उपयोग कर रहे हैं, है ना? तो अब आप अपनी Capistrano फ़ाइलों को जरूरी उदाहरणों को ऊपर / नीचे उदाहरणों के लिए कॉन्फ़िगर करें; आप अपनी कठपुतली कॉन्फ़िगरेशन को फिर से जोड़ते हैं, इसलिए वार्निश वेब-वर्कर इंस्टेंस के बारे में जानते हैं और स्वचालित रूप से उनके बीच पूल करेंगे। या आप heroku scale web:+5

उम्मीद है कि आप दोनों के बीच तुलना का एक विचार देता है। अब अपने विशिष्ट बिंदुओं को संबोधित करने के लिए:

गति

वर्तमान में हेरोकू केवल us-east और ई eu-west में एडब्ल्यूएस उदाहरणों पर चलता है। आपके लिए, ऐसा लगता है कि आप वैसे भी चाहते हैं। दूसरों के लिए, यह संभावित रूप से अधिक विचार है।

सुरक्षा

मैंने बहुत सारे आंतरिक रूप से बनाए रखा उत्पादन सर्वर देखे हैं जो सुरक्षा अद्यतनों पर पीछे हैं, या केवल आम तौर पर खराब रूप से एक साथ रखे जाते हैं। हेरोकू के साथ, आपके पास किसी और चीज का प्रबंधन करने वाला कोई और व्यक्ति है, जो कि आप इसे कैसे देखते हैं इसके आधार पर एक आशीर्वाद या शाप है!

जब आप तैनात करते हैं, तो आप सीधे अपने कोड को हेरोकू पर प्रभावी ढंग से सौंप रहे हैं। यह आपके लिए एक मुद्दा हो सकता है। डिनो अलगाव पर उनके लेख में उनकी अलगाव प्रौद्योगिकियों का विवरण है (ऐसा लगता है कि कई ईसीओ व्यक्तिगत ईसी 2 उदाहरणों पर चल रहे हैं)। कई सहयोगियों ने इन प्रौद्योगिकियों और उनके अलगाव की ताकत के साथ मुद्दों को व्यक्त किया है; मैं वास्तव में टिप्पणी करने के लिए पर्याप्त ज्ञान / अनुभव की स्थिति में नहीं हूं, लेकिन मेरे वर्तमान हेरोकू परिनियोजन मानते हैं कि "पर्याप्त अच्छा"। यह आपके लिए एक मुद्दा हो सकता है, मुझे नहीं पता।

स्केलिंग

मैंने इस बात को छुआ कि कैसे मेरे आईएएएस बनाम पास तुलना में इसे लागू कर सकता है। लगभग, आपके एप्लिकेशन में एक Procfile , जिसमें फॉर्म dyno_type: command_to_run , उदाहरण के लिए ( http://devcenter.heroku.com/articles/process-model से cribbed):

web:    bundle exec rails server
worker: bundle exec rake jobs:work

यह, एक के साथ:

heroku scale web:2 worker:10

परिणामस्वरूप आपके पास 2 web डायनास और 10 worker डायनोज़ चलेंगे। अच्छा, सरल, आसान। ध्यान दें कि web एक विशेष डिनो प्रकार है, जिसकी बाहरी दुनिया तक पहुंच है, और उनके अच्छे वेब यातायात मल्टीप्लेक्सर (शायद कुछ प्रकार के वार्निश / nginx संयोजन) के पीछे है जो तदनुसार यातायात को रूट करेगा। आपके कर्मचारी शायद समान रूटिंग के लिए एक संदेश कतार के साथ बातचीत करते हैं, जिससे वे पर्यावरण में एक यूआरएल के माध्यम से स्थान प्राप्त करेंगे।

कीमत का सामर्थ्य

बहुत से लोगों के पास इस बारे में कई अलग-अलग राय हैं। वर्तमान में यह एक एएनएसएस माइक्रो इंस्टेंस के लिए $ 0.025 / घंटा या एडब्ल्यूएस छोटे उदाहरण के लिए $ 0.09 / घंटा की तुलना में एक डिनो घंटे के लिए $ 0.05 / घंटा है।

हेरोकू के डिनो प्रलेखन का कहना है कि आपके पास लगभग 512 एमबी रैम है, इसलिए शायद एक ईसी 2 माइक्रो इंस्टेंस की तरह एक डिनो पर विचार करना बहुत अनुचित नहीं है । क्या यह कीमत दोगुनी है? आप अपने समय को कितना महत्त्व देते हैं? इस मानक को प्राप्त करने के लिए आईएएएस की पेशकश के शीर्ष पर निर्माण करने के लिए आवश्यक समय और प्रयास की मात्रा निश्चित रूप से सस्ता नहीं है। मैं वास्तव में आपके लिए इस प्रश्न का उत्तर नहीं दे सकता, लेकिन सेटअप और रखरखाव की 'छिपी लागत' को कम मत समझना।

(एक तरफ थोड़ा सा, लेकिन अगर मैं यहां से एक डिनो से कनेक्ट होता हूं ( heroku run bash ), एक heroku run bash लुक 4 कोर /proc/cpuinfo और 36 जीबी रैम में दिखाता है - इससे मुझे विश्वास होता है कि मैं " हाई-मेमोरी डबल अतिरिक्त बड़ा इंस्टेंस " । हेरोोको डिनो प्रलेखन का कहना है कि प्रत्येक डिनो को 512 एमबी रैम प्राप्त होता है, इसलिए मैं संभावित रूप से 71 अन्य डायनोस के साथ साझा कर रहा हूं। (मेरे पास हेरोकू के एडब्ल्यूएस उदाहरणों के होमोजेनी के बारे में पर्याप्त जानकारी नहीं है, तो आपका मिलेज भिन्न हो सकता है))

वे अपने प्रतिस्पर्धियों के खिलाफ कैसे किराया करते हैं?

यह, मुझे डर है कि मैं वास्तव में आपकी मदद नहीं कर सकता। एकमात्र प्रतिद्वंद्वी जिसे मैंने कभी देखा है, वह Google ऐप इंजन था - उस समय जब मैं जावा अनुप्रयोगों को तैनात करना चाहता था, और उपयोग करने योग्य ढांचे और प्रौद्योगिकियों पर प्रतिबंधों की मात्रा अविश्वसनीय रूप से बंद थी। यह "सिर्फ एक जावा चीज" से अधिक है - सामान्य प्रतिबंधों और आवश्यक विचारों की मात्रा (कई बार पूछे जाने वाले प्रश्न ) सुविधाजनक से कम लगते थे। इसके विपरीत, हेरोकू में तैनाती एक सपना रहा है।

निष्कर्ष

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

आखिरकार, यह आपके लिए सबसे अच्छा काम करता है। आप कहते हैं कि आप "एक शुरुआती प्रोग्रामर" हैं - ऐसा हो सकता है कि हेरोोकू का उपयोग करके आप रूबी लिखने पर ध्यान केंद्रित कर सकें, और आपके कोड के चारों ओर के सभी अन्य बुनियादी ढांचे को प्राप्त करने में समय बिताना पड़ेगा। मैं निश्चित रूप से इसे आज़मा दूंगा।

नोट, एडब्ल्यूएस में वास्तव में एक पास पेशकश है, लोचदार बीनस्टॉक , जो रूबी, नोड.जेएस, पीएचपी, पायथन, .NET और जावा का समर्थन करता है। मुझे लगता है कि आम तौर पर ज्यादातर लोग, जब वे "एडब्लूएस" देखते हैं, ईसी 2 और एस 3 और ईबीएस जैसी चीजों पर कूदते हैं, जो निश्चित रूप से आईएएसएस प्रसाद हैं


मैंने हीरोकेयू और एडब्लूएस के बारे में कुछ जवाब पढ़े हैं (पहला प्लेटफार्म सेवा है और दूसरा इंफ्रा सेवा के रूप में है। तुलना को परिप्रेक्ष्य में रखने के लिए, अमेज़ॅन एक पासा समाधान प्रदान करता है जिसका नाम एडब्ल्यूएस लोचदार बीनस्टॉक है। उन लोगों की तुलना में , कृपया नीचे दिए गए यूआरएल की जांच करें https://dzone.com/articles/heroku-or-amazon-web-services-which-is-best-for-your-startup


मौजूदा उत्तर व्यापक रूप से सटीक हैं:

  • हेरोकू का उपयोग करना और तैनाती करना बहुत आसान है, ऑटो-परिनियोजन को एक भंडार (उदाहरण के लिए गिटहब) के लिए आसानी से कॉन्फ़िगर किया जा सकता है, इसमें बहुत से तृतीय पक्ष ऐड-ऑन और प्रति उदाहरण अधिक शुल्क हैं।

  • एडब्ल्यूएस में प्रतिस्पर्धी मूल्य वाली पहली पार्टी सेवाओं की एक विस्तृत श्रृंखला है जिसमें डीएनएस, लोड बैलेंसिंग, सस्ता फाइल स्टोरेज शामिल है और इसमें एंटरप्राइज़ फीचर्स हैं जो सुरक्षा नीतियों को परिभाषित करने में सक्षम हैं।

टीएल के लिए; डॉ इस पोस्ट के अंत तक छोड़ दें।

एडब्ल्यूएस लोचदार बीनस्टॉक एक हेरोकू जैसी ऑटोस्केलिंग और आसान तैनाती मंच प्रदान करने का प्रयास है। चूंकि यह ईसी 2 उदाहरणों का उपयोग करता है (जो स्वचालित रूप से बनाता है) ईबी सर्वर सब कुछ कर सकते हैं अन्य ईसी 2 उदाहरण कर सकते हैं और यह चलाने के लिए सस्ता है।

ईबी के साथ तैनाती बहुत धीमी है; अपडेट को तैनात करने से प्रति सर्वर 10-15 मिनट लग सकते हैं और एक बड़े क्लस्टर पर तैनाती एक घंटे का सबसे अच्छा हिस्सा ले सकती है - हेरोोकू पर अपडेट को तैनात करने के लिए केवल सेकंड की तुलना में। ईबी पर तैनाती विशेष रूप से निर्बाध रूप से संभाली नहीं जाती है, जो आवेदन डिजाइन पर बाधा लगा सकती है।

आप सभी सेवाओं का उपयोग कर सकते हैं ElasticBeanstalk दृश्यों के पीछे अपने स्वयं के bespoke सिस्टम (CodeDeploy, लोचदार लोड बैलेंसर, ऑटो स्केलिंग समूह - और CodeCommit, CodeBuild और CodePipeline के साथ यदि आप सभी में जाना चाहते हैं) बनाने के लिए दृश्यों के पीछे उपयोग करता है लेकिन आप निश्चित रूप से एक अच्छा खर्च कर सकते हैं कुछ सप्ताह इसे पहली बार स्थापित करते हैं क्योंकि यह ईसी 2 में चीजों को कॉन्फ़िगर करने की तुलना में काफी हद तक शांत और थोड़ा चालक है।

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

तुलना करने के कुछ विचार (प्रश्नों का प्रयास करने और जवाब देने के लिए, हालांकि एक चौराहे के रास्ते में):

  1. कम से कम कार्य प्रणाली प्रशासन कितना कम नहीं है, जिसमें सुरक्षा पैच (और कभी-कभी ओएस अपडेट) के साथ आपके द्वारा स्थापित की गई सभी चीज़ों को भी शामिल किया गया है।

  2. कम से कम लाभ न करें कि कितना लाभ स्वचालित परिनियोजन, ऑटो-स्केलिंग, और SSL प्रावधान और कॉन्फ़िगरेशन हैं।

    जब आप अपने गिट भंडार को अपडेट करते हैं तो स्वत: परिनियोजन हेरोकू के साथ आसान है। यह तत्काल, सुन्दर है, इसलिए अंतिम उपयोगकर्ताओं के लिए कोई आउटेज नहीं है और केवल तभी अपडेट किया जा सकता है जब परीक्षण / निरंतर एकीकरण गुजरता है ताकि आप टूटी हुई कोड को तैनात करते समय अपनी साइट को तोड़ न दें।

    आप स्वचालित तैनाती के लिए लोचदार बीनस्टॉक का भी उपयोग कर सकते हैं, लेकिन पहली बार एक सप्ताह की सेटिंग खर्च करने के लिए तैयार रहें - आपको यह बदलने के लिए बदलना होगा कि आप कैसे काम करते हैं और परिसंपत्तियों (सीएसएस और जेएस) का निर्माण कैसे करते हैं, इस बात के साथ काम करने के लिए कि कैसे लोचदार बीनस्टॉक तैनाती को नियंत्रित करता है या तर्क बनाता है तैनाती को संभालने के लिए अपने ऐप में।

    लागतों का आकलन करने में जागरूक रहें कि ईबी पर कोई आउटेज के बिना निर्बाध परिनियोजन के लिए आपको कई उदाहरण चलाने की आवश्यकता है - ईबी व्यक्तिगत रूप से प्रत्येक सर्वर के अपडेट को रोल करता है ताकि आपकी सेवा खराब न हो - जहां हेरोोकू आपके लिए एक नया डायनो स्पिन करता है और बस बहिष्कृत करता है पुरानी सेवा जब तक कि सभी अनुरोधों को पूरा नहीं किया जाता है (तब यह इसे हटा देता है)।

    दिलचस्प बात यह है कि ईबी के साथ कई सर्वर चलाने की होस्टिंग लागत एक ही हेरोकू इंस्टेंस से सस्ता हो सकती है, खासकर जब आप एड-ऑन की लागत शामिल कर लेते हैं।

कुछ अन्य मुद्दों के बारे में विशेष रूप से नहीं पूछा गया है, लेकिन अन्य उत्तरों द्वारा उठाया गया है:

  1. उत्पादन और विकास के लिए एक अलग प्रदाता का उपयोग करना एक बुरा विचार है।

    मैं चिल्ला रहा हूं कि लोग इसका सुझाव दे रहे हैं। जबकि आदर्श कोड को किसी भी उचित प्लेटफॉर्म पर ठीक से चलाना चाहिए, इसलिए यह जितना संभव हो सके पोर्टेबल है, प्रत्येक होस्ट पर सॉफ़्टवेयर के संस्करण काफी भिन्न होंगे और सिर्फ इसलिए कि कोडिंग में कोड चलने का मतलब यह नहीं है कि यह उत्पादन में चलाएगा (उदाहरण के लिए प्रमुख नोड.जेएस / रूबी / पायथन / PHP / पर्ल संस्करण उन तरीकों से भिन्न हो सकते हैं जो कोड को असंगत बनाते हैं, अक्सर चुप तरीकों से जो पकड़े नहीं जा सकते हैं, भले ही आपके पास सभ्य परीक्षण कवरेज हो)।

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

    उस निर्णय के दौरान उत्पादन और प्री-प्रोडक्शन दोनों उदाहरणों को चलाने की लागत में कारक बनाना सुनिश्चित करें, पूरे पर्यावरण को दोहराने की लागत को न भूलें (डेटा स्टोर / एड ऑन जैसे तृतीय पक्ष सेवाओं, एसएसएल स्थापित करना और कॉन्फ़िगर करना आदि) ।

  2. यदि एडब्ल्यूएस का उपयोग करते हैं, तो बिट्टनामी जैसे विक्रेताओं से एडब्ल्यूएस पूर्व-कॉन्फ़िगर किए गए उदाहरणों से सावधान रहें - वे एक सुरक्षा दुःस्वप्न हैं। वे विवरण में उल्लेख किए बिना डिफ़ॉल्ट रूप से बहुत से कुख्यात कमजोर अनुप्रयोगों का पर्दाफाश कर सकते हैं।

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

    नोट: अमेज़ॅन ऑफ़र का अपना वितरण अमेज़ॅन लिनक्स है, जो आरपीएम का उपयोग करता है, लेकिन यह ईसी 2 विशिष्ट है और तीसरे पक्ष / ओपन सोर्स सॉफ्टवेयर द्वारा कम समर्थित है।

  3. आप एडब्ल्यूएस (या लाइट्सैल) पर एक ईसी 2 इंस्टेंस भी सेट कर सकते हैं और dokku पर फ्लाईन या dokku जैसे कुछ कॉन्फ़िगर कर सकते हैं - जिस पर आप आसानी से कई साइटों को तैनात कर सकते हैं, जो कि यदि आप बहुत सारी सेवाएं बनाए रखते हैं या बनना चाहते हैं तो इसके लायक हो सकते हैं आसानी से नई चीजें स्पिन करने में सक्षम। हालांकि इसे स्थापित करने के लिए केवल हेरोकू का उपयोग करने के रूप में ऑटोमैजिकिक नहीं है और आप इसे कॉन्फ़िगर करने और बनाए रखने में बहुत समय व्यतीत कर सकते हैं (जिस बिंदु पर मुझे अमेज़ॅन क्लस्टरिंग और डॉकर स्वार का उपयोग करके उन्हें तैनात करने से आसान बनाना है; YMMV)।

मैंने जिस परियोजना पर काम कर रहा हूं उसकी जरूरतों के आधार पर मैंने एडब्ल्यूएस ईसी इंस्टेंस (अकेले और क्लस्टर्स में), लोचदार बीनस्टॉक और लाइट्सैल और हेरोकू का उपयोग किया है।

मुझे सेवाओं को कॉन्फ़िगर करने में समय व्यतीत करने से नफरत है, लेकिन मेरा हरोकू बिल प्रति वर्ष हजारों होगा यदि मैंने इसे सबकुछ के लिए इस्तेमाल किया और एडब्ल्यूएस लागत के एक अंश को बाहर करता है।

tl; डॉ

यदि पैसा कभी भी कोई मुद्दा नहीं था, तो मैं लगभग हर चीज के लिए हेरोकू का उपयोग करता हूं क्योंकि यह एक बड़ा टाइमवेवर है - लेकिन मैं अब भी अधिक जटिल परियोजनाओं के लिए एडब्ल्यूएस का उपयोग करना चाहता हूं जहां मुझे लचीलापन और अधिक उन्नत सेवाएं चाहिए जो हेरोोको ऑफर नहीं करता है।

मेरे लिए आदर्श परिदृश्य होगा यदि ElasticBeanstalk ने हेरोोकू की तरह अधिक काम किया - यानी आसान कॉन्फ़िगरेशन और तेज़ और बेहतर तैनाती तंत्र के साथ।

एक सेवा का एक उदाहरण जो अब लगभग है। now.sh , जो वास्तव में दृश्यों के पीछे एडब्ल्यूएस का उपयोग करता है, लेकिन तैनाती और क्लस्टरिंग को now.sh पर आसान बनाता है (स्वचालित एसएसएल, डीएनएस, सुंदर तैनाती, सुपर-आसान क्लस्टर सेटअप और प्रबंधन)।

मैंने इसे नोड.जेएस ऐप और डॉकर छवि परिनियोजन दोनों के लिए काफी उपयोग किया है, प्रमुख चेतावनी उदाहरण साझा किए जाते हैं (कुछ उनकी कम लागत में दिखाई देता है) और वर्तमान में समर्पित उदाहरण खरीदने के लिए कोई विकल्प नहीं है। हालांकि उनके ओपन सोर्स परिनियोजन उपकरण 'अब' का उपयोग एडब्ल्यूएस के साथ-साथ Google क्लाउड और एज़ूर पर समर्पित उदाहरणों पर तैनात करने के लिए भी किया जा सकता है।


विकास, आईटी और व्यावसायिक उद्देश्यों से इस निर्णय को देखने के कई तरीके हैं, इसलिए यदि यह भारी लगता है तो बुरा मत मानना। लेकिन यह भी - स्केलेबिलिटी overthink मत करो।

अपनी आवश्यकताओं के बारे में सोचो।

मैंने उन वेबसाइटों को इंजीनियर किया है जिन्होंने एक दिन में 8 एम यूनिक्सों की सेवा की है और एक सप्ताह में वीडियो के टेराबाइट्स वितरित किए हैं, जो एक बड़े $ एमएम आईटी श्रमिक कर्मचारियों द्वारा पूंजी हार्डवेयर में $ 250k से शुरू होने वाले बुनियादी ढांचे पर बनाए गए हैं।

लेकिन मेरे पास छोटी वेबसाइटें भी हैं जो प्रति वर्ष $ 10- $ 20k उत्पन्न करने के लिए डिज़ाइन की गई थीं, बहुत अधिक ट्रैफ़िक, डीबी या प्रोसेसिंग आवश्यकताएं नहीं थीं, और मैंने बिना किसी समझौता किए $ 10 / mo जेनेरिक होस्टिंग खाते से भाग लिया।

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

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

यदि आपके पास ऐसी सेवा है जो एक दिन में 100k + यूनिक्स उत्पन्न कर रही है और स्केलिंग के मुद्दे हैं, तो मुझे आपके लिए हाथों से बाहर ले जाने में खुशी होगी, इससे कोई फर्क नहीं पड़ता कि आप भाषा, डीबी, मंच या बुनियादी ढांचे पर क्या चल रहे हैं!

स्केलेबिलिटी एक फिक्स करने योग्य कार्यान्वयन समस्या है - ग्राहकों को अस्तित्व में नहीं है।





amazon-web-services