विंडोज एज़्योर बनाम अमेज़ॅन ईसी 2 बनाम Google ऐप इंजन


159

डेवलपर के दृष्टिकोण से आप एक बड़े सामाजिक वेब एप्लिकेशन के लिए किस प्लेटफॉर्म पर विचार करेंगे? यदि आप इस बात पर कुछ विवरण प्रदान कर सकते हैं कि आप किस विकल्प की ताकत मानते हैं तो यह बहुत अच्छा होगा।


2
मैं हाल ही में एक ही चीज़ की तुलना कर रहा हूं - अपने पेशेवरों / विपक्षों को अपने ब्लॉग पर पोस्ट किया। Azure बाहर है (एक छोटी परियोजना की लागत के आधार पर), लेकिन EC2 और Google App इंजन दोनों प्रबल दावेदार हैं! blog.dantup.com/2010/10/…
डैनी टुपेंनी

2
यह प्रश्न सामुदायिक विकि होना चाहिए।

रैकस्पेस ftw!
ग्रेग

जवाबों:


227

मैंने GAE (पायथन और अब जावा) और Azure पर एक ही ऐप लिखा है। मैं शायद दोनों का उपयोग करना जारी रखूंगा, अलग-अलग चीजों के लिए। यहां कुछ विचार दिए गए हैं जिन्हें मैं अपडेट करता रहूंगा:

GAE का उपयोग करने के कारण:

  • आपको अनिवार्य रूप से प्रति दिन एक मुफ्त वीएम के उपयोग के लायक मिलता है। एज़्योर के साथ, आप हर महीने लगभग $ 100 का भुगतान करते हैं, भले ही आपके पास एक भी वेबसाइट आगंतुक न हो। यदि आपका db 1GB से अधिक हो जाता है, तो आप संग्रहण के लिए अतिरिक्त $ 90 ($ 9 -> $ 99) का भुगतान करते हैं। अद्यतन: Azure में अब विभिन्न मूल्य बिंदुओं पर विभिन्न VM और DB आकार हैं। यहाँ विवरण ।
  • जीएई का भुगतान यथोचित रूप से ठीक-ठाक है - अधिकांश संसाधनों को प्रति अनुरोध / जीबी / एमबी से लिया जाता है, फिर से अधिकांश संसाधनों के लिए मुफ्त दैनिक आवंटन के साथ। हालांकि, नवंबर 2011 में यह एज़्योर और एडब्ल्यूएस में प्रति घंटे-प्रति घंटे वेब सर्वर के लिए चार्ज में शामिल हो गया। यहाँ विवरण ।
  • GAE में सबसे हल्का एडमिन लोड है। एक बार जब आप सेटअप कर लेते हैं, तो तैनाती और फिर से तैनाती जल्दी होती है और वे ऑटो-सब कुछ कर देंगे। उदाहरण के लिए, आप इस बात की चिंता नहीं करते कि आपका ऐप कितने सर्वर का उपयोग कर रहा है, डेटा को कैसे शार्प किया जाए, कैसे लोड-बैलेंस किया जाए।
  • मेल सिर्फ काम करता है। लेखन के समय, Azure SMTP को प्रस्तुत नहीं करता है, इसलिए आपको तृतीय पक्ष सर्वर की आवश्यकता होती है।
  • Google प्रसाद के कई के साथ महान एकीकरण - कैलेंडर, मेल, जो भी हो। यदि आप अपने उपयोगकर्ता आधार पर नियंत्रण नहीं चाहते हैं तो आप Google को उपयोगकर्ता प्रबंधन सौंप सकते हैं।
  • जीएई के साथ आप किसी भी सुविधाओं को जानते हैं जो वे स्टोर में जोड़ते हैं, आपको मिलेगा। Azure के साथ, आपको लग रहा है कि Sql Azure Database को अधिकांश प्यार मिलेगा लेकिन यह अधिक महंगा होगा। Azure Storage में सबसे अधिक गोचर होने की संभावना है। कोई संबंधपरक अखंडता नहीं, कोई आदेश नहीं, आप इन-मेमोरी संदर्भ के साथ अधिक फील करेंगे। GAE के स्टोर में Azure Tables की तुलना में बहुत कम प्रतिबंध और अधिक सुविधाएँ हैं।
  • यदि आप पहले से ही पायथन या जेवीएम-आधारित भाषाओं का उपयोग कर रहे हैं तो अच्छा विकल्प है। कई भाषाएं आजकल जावा बायटेकोड के लिए संकलित हैं।
  • ऐप को अपडेट करना बहुत तेज है। पायथन के लिए, मेरे पास एक शॉर्टकट कुंजी सेटअप था और इसमें बिल्कुल भी समय नहीं लगा। मैं अब जावा के लिए एक्लिप्स प्लगइन का उपयोग करता हूं और यह बहुत अच्छी तरह से काम करता है। अज़ूरे ज्यादा फ़िज़ूल है।
  • एक स्थानीय रूप से परीक्षण किया गया ऐप संभवतः क्लाउड पर (बहुत या किसी भी) बदलाव के बिना चलेगा। Azure के साथ, कॉन्फ़िगरेशन अलग है और मैंने इसे ठीक करने से पहले कुछ समय रुकने-हटाने-अपलोड करने-शुरू करने में बिताया।
  • जीएई में एक महान यूआई है जिसमें लॉग व्यूअर एक डेटा संपादक शामिल है। एज़्योर के साथ, आपको वर्तमान में इसके लिए बाहरी दर्शकों / संपादकों को खोजना होगा।
  • GAE आपको अपने एप्लिकेशन के कई संस्करण एक ही डेटास्टोर पर चलाने देता है। जब आप तैयार हों तब आप एक संस्करण का परीक्षण कर सकते हैं, और फिर वर्तमान 'लाइव' संस्करण को सेट कर सकते हैं। अगर कुछ गलत हुआ तो आप वापस बदल सकते हैं।


    Azure का उपयोग करने के कारण:

  • ऐप इंजन के डेटास्टोर के प्रदर्शन की विशेषताओं और लागत के निहितार्थ आपको आश्चर्यचकित करेंगे। यदि आप साधारण CRUD के अलावा कुछ भी करते हैं तो आपको एक सामान्य DB के साथ और अधिक मेहनत करने की आवश्यकता होगी। कोई तदर्थ क्वेरी नहीं।
  • Azure में भंडारण के दो दृष्टिकोण हैं, और अधिक विकल्प प्रदान करते हैं। वे SQL एज़्योर डेटाबेस (एसएडी) हैं जो एक संबंधपरक डीबी, और एज़्योर स्टोरेज हैं, जिसमें गैर-रिलेशनल टेबल, ब्लब्स और कतारें हैं। यदि आपका SQL सर्वर में निवेश है तो SAD को स्थानांतरित करना आसान होगा, लेकिन यह काफी महंगा है और कम स्केलेबल हो सकता है। अपडेट: ऐप इंजन में सीमित बीटा में MySQL एपीआई है।
  • यदि आपके पास SOA- प्रकार का दृष्टिकोण है, तो Azure बेहतर डिज़ाइन किया गया है। उनके आर्किटेक्चर को उद्यम जगत में अनुभव का लाभ मिलता है। GAE केवल वेब पृष्ठों की सेवा पर अधिक केंद्रित लगता है।
  • आप ऐप को डिबग के तहत चला सकते हैं, ब्रेकप्वाइंट में डाल सकते हैं, आदि।
  • Azure में एक "स्टेजिंग" वातावरण होता है, जहाँ आप क्लाउड पर परिनियोजित कर सकते हैं, लेकिन इसे तब तक लाइव न करें जब तक आप काम न करें।
  • मैं अन्य चीजों के लिए .Net का उपयोग कर रहा हूं, और उन्हें .Net के साथ एकीकृत करना जीएई की तुलना में बहुत आसान है। (अपडेट - जीएई पर जावा का उपयोग करना ठीक काम करता है, और 10 सेकंड का समय अब ​​30 सेकंड है)।
  • कई एमएस "लाइव" प्रसाद के साथ एकीकरण।

    तो, कोई स्पष्ट जवाब नहीं। मैं इस समय लागत और उपयोग में आसानी के कारण ऐप इंजन को डिफ़ॉल्ट कर रहा हूं। मैं बहुत MS- उन्मुख ऐप्स के लिए Azure का उपयोग कर सकता हूं। मैं डाउनलोड के लिए अमेज़ॅन एस 3 का उपयोग करता हूं, लेकिन संभवतया ईसी 2 का उपयोग नहीं करेगा क्योंकि मैं विशेषज्ञों के लिए आवेदन स्तर के तहत सब कुछ छोड़ना पसंद करता हूं।


  • 10
    रिचर्ड, शायद एज़्योर के लिए एक और प्लस एक रिलेशनल डेटाबेस है। बिगटेबल के हिस्से कुछ हद तक विदेशी प्रतिमान हैं।
    हाइपरस्लग जूल

    22
    ऐप इंजन आपको अपने ऐप के कई संस्करणों को चरणबद्ध करने की भी अनुमति देता है। प्रत्येक संस्करण का अपना URL होता है जिसे आप परीक्षण कर सकते हैं और जब आप उस संस्करण को डिफ़ॉल्ट के रूप में चिह्नित करने के लिए तैयार हैं। यदि कुछ गलत होता है, तो परीक्षण, तैनाती, और यदि आवश्यक हो तो एक पूर्व संस्करण में वापस रोल करना आसान है।

    Azure ने भुगतान किया है क्योंकि आप बिना किसी कमीशन के, विशुद्ध रूप से उपयोग पर जाते हैं, यह 99 डॉलर प्रति माह न्यूनतम नहीं है।
    आकाश काव

    1
    पर microsoft.com/windowsazure/pricing यह एसक्यूएल Azure के बारे में कहते हैं: "* वेब संस्करण: ऊपर 1 जीबी रिलेशनल डेटाबेस = $ 9.99 / माह के लिए * व्यापार संस्करण: ऊपर के लिए 10 जीबी रिलेशनल डेटाबेस = $ 99.99 / माह * डेटा स्थानान्तरण = $ 0.10 में / $ 0.15 / GB - ($ 0.30 / / $ 0.45 बाहर / GB एशिया में) "
    रिचर्ड वॉटसन

    1
    ऐप इंजन में अब ब्लॉक स्टोरेज के साथ जाने के लिए SQL सपोर्ट है। code.google.com/apis/sql
    devnul3

    176

    मैं स्पष्ट रूप से पक्षपाती हूं - मैं डेवलपर संबंधों को करने वाले ऐप इंजन टीम पर काम करता हूं - लेकिन यह मेरा है:

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

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

    अंत में, AWS परम-द-इट-सॉल्यूशन प्रदान करता है। वे हार्डवेयर, और भंडारण प्रदान करते हैं, और बहुत कुछ नहीं। आप जमीन से अपने ढेर का निर्माण करते हैं, इसे बनाए रखते हैं, इसे अपग्रेड करते हैं, और आगे भी। यदि आप इसे केवल बड़े पैमाने पर लिखते हैं, जो कोई छोटी चुनौती नहीं है, तो आपका ऐप तराजू। लेकिन, आपको अपने हार्डवेयर पर पूरा नियंत्रण मिल जाता है।

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

    यदि आपका ऐप GAE मॉडल में फिट नहीं है, तो आप Azure या AWS को चुनते हैं, इस पर निर्भर करता है कि आप MS स्टैक के लिए लिख रहे हैं, और निष्पादन पर्यावरण पर आप कितना नियंत्रण चाहते हैं। यदि आपका अधिकांश ऐप GAE पर फिट बैठता है, लेकिन छोटे हिस्से नहीं हैं, तो आप हाइब्रिड पर विचार कर सकते हैं - उदाहरण के लिए, GAE पर सेवारत, लेकिन S3 पर भंडारण, या EC2 पर थोक प्रसंस्करण।


    इस तरह के मुद्दों के बारे में क्या: जब ऐप इंजन गलत हो गया ?
    बजे क्रिस्टियन सियुपिटु

    @ क्रिश्चियन मुझे यकीन नहीं है कि आप क्या सुनना चाहते हैं - किसी भी सेवा में कभी-कभार डाउनटाइम होता है। जिसमें ऐप इंजन और EC2 दोनों शामिल हैं।
    निक जॉनसन

    @ जॉन जॉनसन: आप सही कह रहे हैं, किसी भी सेवा में कभी-कभार डाउनटाइम होता है और मैं 100% अपटाइम की उम्मीद नहीं कर रहा हूं। दूसरी ओर, यह समस्या डाउनटाइम समस्या की तरह नहीं दिखती है। मेरे लिए यह Google App Engine की एक सीमा की तरह दिखता है, अर्थात आपके कोड को बहुत सीमित समय में चलना है। मैं GAE से परिचित नहीं हूँ, इसलिए कृपया मुझे सही करें अगर मैं कुछ गलत समझ रहा हूँ।
    क्रिस्टियन सियुपिटु 16

    1
    @ क्रिश्चियन आह। अपवाद को क्रियान्वित करने में बहुत अधिक समय लगने के कारण खुद को फेंक दिया जाता है, हां, लेकिन मंदी का कारण कुछ अस्थायी प्रदर्शन मुद्दे थे।
    निक जॉनसन

    मैं "वे तुलनीय नहीं हैं" पर सहमत हैं। इन सेवाओं की तुलना करना सेब और संतरे की तुलना करने जैसा है। दोनों फल हैं, इसके बारे में है।
    तक

    27

    मेरे लिए, लॉक-इन निर्णायक कारक है।

    यदि आप Google के लिए चुनते हैं, तो आपका आवेदन केवल Google पर काम करेगा। यदि आप कुछ समय के बाद खुद को संतुष्ट से कम पाते हैं, तो आप फंस गए हैं।

    यदि आप एमएस के लिए चुनते हैं, तो आपका आवेदन केवल एज़्योर पर काम करेगा। वही चीज।

    अमेज़ॅन पर, आपको (ए) वर्चुअल सर्वर मिलता है जो आपके द्वारा उपयोग की जाने वाली मशीनों की तरह ही काम करता है। संतुष्ट नहीं? अपना ऐप उठाओ, असली हार्डवेयर पर स्थापित करें, किया।


    3
    जीएई काफी मानक जावा सर्वलेट एप्लिकेशन चला सकता है, और मानक-आधारित दृढ़ता का उपयोग कर सकता है।
    स्टीफन डेने

    4
    जीएई पूरी तरह से खुला है (हालांकि आपको जेडीओ भंडारण एपीआई का उपयोग करके छड़ी करने की आवश्यकता होगी।)

    1
    क्या Google अभी भी एक बार में आपके द्वारा प्राप्त किए जा सकने वाले डेटा को सीमित कर सकता है? उनका लॉकिन कोड से अधिक डेटा पर आधारित है।
    मार्क रैनसम

    4
    आप EC2 पर अपने ऐप्स चलाने के लिए AppScale का उपयोग कर सकते हैं, या कहीं भी आप चाहें: appscale.cs.ucsb.edu
    Amir

    3
    आज के दौर में, कोई व्यक्ति एक सप्ताह में Google से संक्रमण करने में सक्षम था। वे यह भी स्वीकार करते हैं कि अगर उन्हें शुरुआत से ही अच्छे अभ्यास का इस्तेमाल नहीं करना था तो इसमें कई महीने लग सकते हैं। carlosble.com/?p=719
    मार्क रैनसम

    20
    • यदि आप .NET डेवलपर हैं - Azure पर जाएं।
    • यदि आप पायथन या जावा पर हैं - Google पर जाएं।
    • यदि आप रूबी पर हैं - अमेज़न पर जाएं

    मेरी व्यक्तिगत पसंद अभी जावा के साथ Google होगी (भले ही मैं .NET अधिकांश समय हूं)। लागत के बारे में सोचें - उनके स्कीमा की तुलना करना मुश्किल है।

    इस लेख को देखें - http://www.infoq.com/news/2008/11/Comparing-EC2-App-Engine-Azure


    8
    सभी .NET डेवलपर्स को Azure नहीं जाना चाहिए। अमेज़ॅन ईसी 2 उनके लिए एक बिल्कुल स्वीकार्य विकल्प है। लेकिन उत्कृष्ट लेख को संदर्भित करने के लिए +1।
    एंड्रयू अर्नोट

    हाँ, अमेज़ॅन कुछ हद तक आभासी मशीन की स्वतंत्रता है, लेकिन समुदाय ज्यादातर रूबी शुरू में उन्मुख ...

    1
    AWS अपने विंडोज 2003 सर्वर AMI पर .Net डेवलपर्स का समर्थन करता है, लेकिन मुझे .net डेवलपर्स की एक अच्छी संख्या पर संदेह है, बल्कि विंडोज सर्वर 2008 पर तैनात किया जाएगा जो अभी तक AWS पर अमल में लाना है। यदि आप AWS फ़ोरम पर एक नियमित हैं, तो आप उठा सकते हैं कि अमेज़न इस मुद्दे पर कुछ शांत है।
    रिचर्ड डोरमैन

    2
    मैं व्यापार के द्वारा एक .NET डेवलपर हूं, लेकिन 0 हिट पाने वाली वेबसाइट के लिए एज़्योर का उपयोग करने की कीमत ने मेरे Google को भेजा। मैंने अपने ब्लॉग पर कुछ तुलनाएँ लिखी हैं: blog.dantup.com/2009/12/… blog.dantup.com/2009/12/…
    डैनी टुप्पेनी

    4
    यदि आप रूबी पर हैं, तो अमेज़ॅन के बजाय हरोकू या इंजीनियरयार्ड पर विचार करें।
    andy318

    20

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

    इस पर मेरी बहुत सरल बात यह है कि ऐप इंजन आपको कोडिंग द्वारा आसानी से काम करने की क्षमता (अपनी सीमाओं के भीतर) प्रदान करता है - कोई भी सिस्टम प्रशासन कार्यों की आवश्यकता नहीं है। एडब्ल्यूएस और अधिक लचीला है, लेकिन आप होगा पर्याप्त सिस्टम प्रशासन काम (और वास्तव में तुच्छ नहीं) की जरूरत है कि विकल्प का लाभ उठाने के लिए। इसलिए अंत में मैं अर्चनाड का सुझाव दूंगा: यदि ऐप इंजन आपकी आवश्यकताओं को पूरा कर सकता है, तो इसके लिए पूरी तरह से जाएं; यदि आपको अधिक लचीलेपन की आवश्यकता है, तो AWS जाने का रास्ता लगता है (जब तक कि Azure की अज्ञात-से-मुझ क्षमताओं को बेहतर मिलान होना चाहिए - लेकिन मुझे लगता है कि AWS और अधिक लचीला होने जा रहा है, चाहे कोई भी Azure क्या कर सकता है, उदाहरण के लिए AWS के साथ यहां तक ​​कि जो ओएस का उपयोग करने के लिए ले सकते हैं, अगर आपको इसकी आवश्यकता है)।


    14

    मैंने अभी Azure के साथ काम करना शुरू किया है, और मैं पहले से ही प्रभावित हूँ कि आप इसे F # में कर सकते हैं: http://code.msdn.microsoft.com/fsharpazure! अब तक, यह एकमात्र क्लाउड प्लेटफ़ॉर्म है जो किसी को कार्यात्मक प्रोग्रामिंग को प्रबंधित तरीके से उपयोग करने की अनुमति देता है (बेशक आप EC2 में हास्केल कर सकते हैं ... या उस मामले के लिए अल्गोल 68)। मैं विजुअल स्टूडियो एकीकरण की गुणवत्ता से बहुत प्रभावित हूं - आपको परीक्षण के लिए एक स्थानीय "क्लाउड" मिलता है, DevFabric, एक भंडारण के साथ जो एक वास्तविक SQL सर्वर है, इसलिए आप अपलोड करने से पहले खेल सकते हैं। क्या जीएई ऐसा कर सकता है? Azure को देखते हुए, F # के साथ VS (लिनक्स और OCaml से आते हुए) सीखना, काश, मैं बहुत समय पहले से एमएस स्टैक में बदल जाता। एसक्यूएल स्टोरेज बनाना और वीएस में निरीक्षण करना बहुत आसान है - बहुत काम आता है। ओपन सोर्स में एक मेल खाने वाला टूलसेट नहीं है और यह समय लोगों को एमएस को एक उचित विचार देता है - उन्होंने यहां बहुत अच्छा काम किया है। मैं अपने मैक ओएसएक्स बेस (विस्टा में डुअल-बूटिंग) के साथ निश्चित रूप से चिपका रहा हूं, और मेरा कूबड़ है, Azure की क्षमता स्थानीय रूप से विकसित होने के साथ, मुझे Azure विकास के लिए एक अलग Vista बॉक्स मिल जाएगा। जब आप यूनिक्स पाइप की दुनिया से आते हैं तो .NET वास्तव में भारी होता है - PowerShell, SQL और LINQ, C # और F # (जो कि मेरा प्रमुख कारण है) - लेकिन यह सभी को जोड़ता है और इसके अलावा सीखने लायक है, इसके बजाय नहीं। , लिनक्स में; और सभी मामलों में, Azure आपके क्षितिज को चौड़ा करेगा।


    2
    Azure के पास ऐसा कुछ नहीं है, जो दूरस्थ रूप से Amazon Elastic Map Reduce (Open Source Hadoop पर आधारित) की कार्यक्षमता से मेल खाता हो। यह प्रोग्रामेटिक रूप से कार्यकर्ता भूमिकाओं की संख्या निर्धारित करने की भी अनुमति नहीं देता है।

    3
    Microsoft स्पष्ट रूप से अपने .NET डेवलपर आधार को मुद्रीकृत करने की कोशिश कर रहे हैं, और यह सच है कि Microsoft स्टैक का लाभ उठाने के लिए लाभ है। मुझे विश्वास नहीं हो रहा है कि यह अकेला महंगा, अवरुद्ध लागत मॉडल के लिए बनाता है। क्लाउड कंप्यूटिंग का पूरा बिंदु शून्य रखरखाव पे-ए-यू-गो लोच है, जो एज़्योर अभी तक पेश नहीं करता है।

    आप GAE में Clojure का उपयोग कर सकते हैं। The-deadline.appspot.com/login

    8

    जितना मुझे GAE से प्यार है, एक बड़ा कारण है कि मैं अपनी वर्तमान परियोजना के लिए GAE पर EC2 के साथ जा रहा हूं, यह है कि मुझे दुनिया के विभिन्न हिस्सों में स्थित डेटा केंद्रों से सेवित अपने एप्लिकेशन के सामने के छोर को सक्षम करने की आवश्यकता है। GAE एक समय में एक डेटा सेंटर में चलता है। उदाहरण के लिए, मुझे अपने एप्लिकेशन के लिए सबसे तेज़ प्रतिक्रिया समय के लिए एशिया में सर्वर हिट करने के लिए एशिया में उपयोगकर्ताओं की आवश्यकता है। Dns, load balancers, पसंद का डेटाबेस लोड करने की क्षमता, डेटा के hadoop प्रसंस्करण के लिए S3 में धकेलने वाले flume, आदि को जोड़ें ... और EC2 वास्तव में सम्मोहक समाधान बन जाता है।


    5

    विचार करने के लिए कुछ बातें:

    गति प्राप्त करना: आप चुने हुए वातावरण के साथ कितनी जल्दी उत्पादक हो सकते हैं, किस प्रकार के डॉक्स मौजूद हैं और क्या वे स्पष्ट और अच्छी तरह से समर्थित नमूने उपयोगी और उपयोगी हैं

    लागत: लागत एक कारक है, लेकिन यदि आप एक वाणिज्यिक ऐप बना रहे हैं जो वास्तव में ग्राहक होंगे, तो ये सभी व्यवहार्य विकल्प हैं। यदि आप मानते हैं कि Azure, "छोटा" उदाहरण पर एक खरीद के साथ 24x7 उपयोग के लिए लगभग $ 90 प्रति माह चलता है ... तो आप उस समय कितने उपयोगकर्ताओं को सेवा दे सकते हैं? अतिरेक के लिए एक दूसरा उदाहरण जोड़ें ... फिर भी महंगा नहीं है अगर आपके ट्रैफ़िक ने इसे वारंट किया है। यदि यह नहीं है, तो आप सस्ते होस्ट प्रदाता के बजाय क्लाउड में क्यों हैं? इसे लागू करने के लिए आपके समय में बड़े लागत कारक आते हैं। AWS एक रोल है जो आपका खुद का समाधान है। यह एक समाधान प्राप्त करने के लिए बहुत कुछ है जो स्थिर और अच्छी तरह से प्रबंधित होगा। Azure और GAE बॉक्स से बाहर हैं। मेरे दिमाग में AWS उस काम के कारण सबसे महंगी है जिसे आपको इसमें डालना है। क्या आपको वास्तव में इस पर नियंत्रण की आवश्यकता है कि बारीक स्तर क्या है? यदि ऐसा है तो,

    आप जो चाहते हैं करने की क्षमता: पूरे रास्ते में एडब्ल्यूएस। एज़्योर दूसरे, जीएई तीसरे स्थान पर है। यदि आप चाहते हैं कि जावा और पायथन कोई बड़ी बात नहीं है। Biggie यदि आप C ++ में रिलेशनल DB या व्यापक मल्टी थ्रेडेड डेटा प्रोसेसिंग करना चाहते हैं (यह सुनिश्चित नहीं है कि इनमें से कोई भी अब ऐसा करता है?)।

    पोर्टेबिलिटी के बारे में क्या? क्या आप इसे बाद में अपने खेत में वापस ले जा सकते हैं या इसे किसी अन्य क्लाउड फ़ार्म पर ले जा सकते हैं? वे सभी कुछ हद तक पोर्टेबल हैं।

    बहुत कुछ सोचने के लिए ... अभी भी इस बारे में खुद को सीखना।


    TyphoonAE और AppScale GAE ऐप को अन्यत्र चलाने के लिए बढ़िया उपकरण हैं।

    4

    यदि आपको मांग को पूरा करने के लिए मैन्युअल रूप से इंस्टेंसेस शुरू करने की आवश्यकता है तो यह क्लाउड नहीं है।

    Azure और EC2 साइड में कुछ सेवाओं के साथ सिर्फ वर्चुअल सर्वर हैं।

    अपडेट करें:

    EC2 और Azure आपको लोड के तहत नए उदाहरणों को स्वचालित रूप से प्रबंधित करने के लिए विकल्प देते हैं, लेकिन आपको अभी भी इसे प्रबंधित करना है। और आप ऐसे उदाहरणों के लिए भुगतान करते हैं जो ऊपर और निष्क्रिय हैं।

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


    1
    मुझे लगता है कि Amazon CloudWatch ट्रैफ़िक के आधार पर अतिरिक्त इंस्टेंस को शुरू करने की समस्या को हल करता है।

    1
    Azure के लिए मैंने जो सबसे आम डेमो देखा है, वह स्केलेबिलिटी डेमो है जहां वे लोड के आधार पर वेब वर्कर्स को स्पिन करने या स्पिन करने के लिए थ्रेसहोल्ड सेट करने के लिए कुछ कोड लिखते हैं। इसकी खिड़कियां azuer ट्रेनिंग किट में शामिल हैं: microsoft.com/downloads/en/…

    4

    यहाँ कुछ अन्य विचार हैं।

    GAE - प्लेटफ़ॉर्म पर सर्विस स्टैक तब AWS और Azure के रूप में उच्च स्तर पर बैठता है, सभी ट्रैफ़िक उनके ghs.google.com DNS के माध्यम से रूट किए जाते हैं, गतिशील रूप से आपके पेज को उनकी एक मशीन के माध्यम से लोड करते हैं, जिससे उन्हें कीमतें कम रखने की अनुमति मिलती है। स्केलिंग इस दृष्टिकोण के साथ ठीक है, विपक्ष कोई स्थिर आईपी नहीं है, फ़िल्टर या अवरुद्ध होने का खतरा है। कोई स्थिर आईपी सीमा से, आप किसी भी साइट विशिष्ट https प्रमाणपत्र को सेटअप करने में सक्षम नहीं होंगे।

    एडब्ल्यूएस सर्टिफिकेट जैसी मूलभूत आवश्यकताओं के लिए AWS और Azure आपको बहुत अधिक स्थिर IP और एक समर्पित VM देता है। आपको रिलेशनल स्टोरेज सपोर्ट भी मिलेगा। लागत भी इस समर्पित वीएम तथ्य को प्रतिबिंबित करने के लिए अधिक है, और आप प्रति वीएम को 40 डॉलर / महीने की राशि में स्केल करेंगे। लाभ यह है कि चूंकि आप अपने आप को एक वीएम प्राप्त करते हैं, इसलिए आप जीएई पर 30 सेकंड के सीपीयू प्रसंस्करण सीमा के लिए विवश नहीं हैं, और बड़े कार्यों को चला सकते हैं।

    इसलिए यदि आपके फ़िल्टर किए गए देशों में ग्राहक आधार पर विचार कर रहे हैं, या चाहते हैं कि एक स्थिर आईपी आपके स्वयं के DNS सेटअप को करे, या ऐसी आवश्यकताएं हों जो संबंधपरक डीबी या 30 से अधिक दूसरे कार्यों की आवश्यकता हों। AWS, Azure के साथ काम करने के लिए अधिक अनुकूल होगा।


    3

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


    3

    मेरे पास ऊपर के किसी एक उत्तर के लिए एक टिप्पणी छोड़ने के लिए पर्याप्त प्रतिष्ठा नहीं है। उन क्लाउड समाधानों में से किसी की उपयुक्तता आपकी आवश्यकताओं और कौशल सेट सहित कई कारकों पर निर्भर करती है।

    मेरे पास एक सामाजिक नेटवर्किंग परियोजना है जिसके लिए nosql डेटाबेस की आवश्यकता है। AppEngine एक अच्छा समाधान होगा अगर इसमें विभिन्न चौखटे के लिए बेहतर समर्थन था। नोरेल एडॉप्टर वाला Django पायथन जीएई पर काम करता है, लेकिन मैं कई कारणों से रेल पसंद करता हूं। Rails3 कुछ महीनों के लिए बाहर हो गया है और समुदाय में या GAE टीम में किसी ने भी इसका समर्थन करने के लिए एक नुस्खा नहीं लिखा है। जब तक आपके पास कौशल सेट नहीं है - माणिक और रेल्स को जानना, ज़ुर्बी, और जीएई इंटर्नल - अपने स्वयं के नुस्खा को लिखने के लिए, आप अन्य लोगों की दया पर सिर्फ मंच पर प्राप्त करने के लिए हैं।

    AWS बहुत अधिक काम है लेकिन कम से कम आप मंच पर प्राप्त कर सकते हैं जो कुछ भी उपकरण के साथ और आंतरिक रूप से डेवलपर या उच्च शक्तियों के समर्थक के बजाय प्रशासनिक रूप से कई मुद्दों से निपटते हैं।

    रूबी डेवलपर्स के लिए हेरोकू और इंजीनियरयार्ड के बारे में मेरी शिकायत यह है कि कैसे डेटाबेस पैमाने के बारे में रहस्य है। वे पैमाने कैसे करते हैं?

    मेरे मामले में, मैं एक NoSQL समाधान के लिए चयन कर रहा हूं और Mongo एक अच्छा विकल्प लगता है। MongoMachine Heroku या EY की पसंद के लिए अनुशंसित समाधान प्रतीत होता है, लेकिन यह पागल महंगा है। $ 2.50 / GB संग्रहण? GAE या EBS पर संग्रहण केवल $ 0.10 GB / मो है।


    1

    मैंने हाल ही में Google ऐप इंजन के साथ प्रयोग करना शुरू किया है, और एक वेब सोशल नेटवर्क के लिए मेरा मानना ​​है कि यह आपकी सभी आवश्यकताओं की पूर्ति करेगा। इसे लटका पाना आसान है और इसका उपयोग या तो पायथन या जावा के साथ किया जा सकता है। यह सच है कि यह आपको फ़ाइलों पर पहुँच नहीं देता है, लेकिन आपके आवेदन के लिए, GQL (डेटाबेस को SQL-जैसा इंटरफ़ेस जो वे प्रदान करते हैं) संभवतः पर्याप्त से अधिक होगा (और यह काफी मजबूत है)।

    एक बात जिस पर आप विचार करना चाह सकते हैं, वह यह है कि GAE पर एक एप्लिकेशन एक ऐसे इंटरफेस का उपयोग कर सकता है जो उपयोगकर्ताओं को Google खातों के साथ या Google Apps लॉग इन (शॉर्टकट) का उपयोग करते हुए एक डोमेन पर जाने देगा। आप इनमें से किसी एक को चुनें। इसलिए यदि आप पहले से ही Google Apps वेबसाइट का उपयोग करते हैं, तो Google App Engine आपके लिए एक बढ़िया विकल्प होगा, क्योंकि आपके उपयोगकर्ताओं को नए खाते पंजीकृत नहीं करने होंगे।

    EDIT: जैसा कि अर्चिनिड ने बताया है, ऐसा नहीं है कि आप अपना लॉगिन सिस्टम कोड नहीं कर सकते। क्षमा करें, अगर मैं आपको वहां चिंतित हो गया।

    अन्य दो विकल्पों के लिए, मैंने केवल उनके बारे में पढ़ा है और उनका परीक्षण नहीं किया है। लेकिन मेरा मानना ​​है कि जीएई मेरे शोध से एक आसान ढांचा प्रदान करता है, और जैसा कि आपने महान कीमतों का उल्लेख किया है।

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

    शुभकामनाएँ।


    Nitpick: GQL डेटाबेस नहीं है। GQL पायथन रनटाइम के लिए एक SQL जैसी क्वेरी भाषा है, जो डेटास्टर के ऊपर लिखी गई है। आपको इसका उपयोग करने की भी आवश्यकता नहीं है - क्वेरी API भी है।
    निक जॉनसन

    इसके अलावा, आप किसी भी उपयोगकर्ता को जीएई ऐप में साइन इन कर सकते हैं - यह सिर्फ इतना है कि जीएई Google खातों का उपयोग करने के लिए एक शॉर्टकट प्रदान करता है।
    निक जॉनसन

    दोनों मामलों में शब्दों का सही, बुरा चयन, इसे इंगित करने के लिए धन्यवाद। इसे संपादित करेंगे :)

    बिगटेबल Google का डेटा स्टोरेज इंजन है, और इसके साथ कुछ समय बिताने के बाद, मैंने यह सोचना शुरू कर दिया कि क्या मैंने अपना पूरा करियर दिमागी रूप से इस सोच में बिताया है कि SQL RDBMS वेब ऐप्स को राइट करने के लिए आवश्यक हैं। बिगटेबल स्टोरेज मॉडल सरल, लचीला, प्रदर्शन और स्केलेबल है, और आश्चर्यजनक रूप से अच्छी तरह से काम करता है।

    1

    Azure में सर्वर के रूप में "सेवा के रूप में प्लेटफार्म" के रूप में विंडोज / एसक्यूएल है, और आप निश्चित रूप से अटक नहीं रहे हैं, बस अपने स्वयं के डेटासेंटर में विंडोज / एसक्यूएल पर जाएं (कोई लिनक्स नहीं है, लेकिन हां वे जावा, पायथन, पीएचपी, रूबी, टॉम्काट का समर्थन करते हैं) , अपाचे, आदि)। अमेज़ॅन की तरह, वे पूरी तरह से सुलभ वर्चुअल मशीन विकल्प प्रदान करेंगे, इसलिए आप जो चाहें स्थापित / चला सकते हैं।

    अमेज़ॅन के पास केवल वर्चुअल मशीन है, इसलिए आपको अभी भी इंटाल, पैच, लाइसेंस, सुरक्षित, आदि ... मेरी राय में क्लाउड पर जाने के लाभों को हराया है। आपने अभी-अभी अपने डेटासेंटर से दूसरे में कुछ स्थानांतरित किया है।

    Google के पास कोई संबंधपरक डेटाबेस नहीं है और आप STUCK होंगे। वे वास्तव में केवल पायथन डेवलपर्स और जावा के लिए कुछ सीमित समर्थन को पूरा करते हैं। वे वास्तव में मेरी राय से क्लाउड स्पेस में खिलाड़ी नहीं हैं।


    4
    जेफ - SQL Server 2008 पर Microsoft भागीदारों को प्रशिक्षित करने के बाद, मैं निश्चित रूप से शौकीन हूं और विंडोज / एसक्यूएल स्टैक के लाभों से परिचित हूं, लेकिन मैं सहमत हूं कि Google के BigTable के साथ एक STUCK है । आधा दर्जन या इतने अच्छे पुस्तकालय हैं जो बिगटेबल एपीआई को लपेटते हैं, इसे एक प्यूसीडो आरडीबीएमएस से एक अनुक्रमित दस्तावेज़ साइलो के रूप में सब कुछ उजागर करता है। बिगटेबल को कई सर्वरों में स्केल-अप करने के लिए ग्राउंड-अप किया गया था (Google ने पाया कि पसीने की जगह 1,500 प्रति क्लस्टर थी), जो कि एक उपलब्धि है जो SQL बस अच्छा नहीं कर सकता है।

    1

    यहां एक बात का उल्लेख नहीं किया गया है, क्या कोई भी "भयावह नाम के अलावा" विंडोज एज़्योर अपफ्रंट सर्विस बस एंड एसीएस "पर विचार करता है ...?

    यह एकीकरण सुविधाओं का एक बहुत शक्तिशाली स्टैक प्रतीत होता है जो एज़्योर को परिसर के बुनियादी ढांचे में निवेश के साथ किसी भी व्यवसाय के दृष्टिकोण से आकर्षक बना देगा।


    हां, लेकिन फिर फ्लिप-पक्ष यह है कि माइक्रोसॉफ्ट ने आधिकारिक तौर पर व्यवसायों के लिए अज़ूर की मेजबानी के लिए "नहीं" कहा है, जो बस की अपील से अलग है।

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

    0

    कुछ समय के लिए Amazon EC2 का प्रयोग करने और कुछ देरी के बाद मैंने लागत के कारण प्रयोग करते हुए Google Apps पर शोध करना शुरू कर दिया है। मैं एर्लैंग को विकास की भाषा के रूप में पसंद करूंगा, लेकिन अजगर के साथ व्यवहार कर सकता हूं, इसलिए यह एक निर्णायक कारक नहीं था। जब मैंने कोई स्थिर आईपी नहीं देखा, तो वह था। इसके अलावा इसके बारे में पूरे हिस्से को स्टैक पर अधिक होने के कारण मुझे प्रदर्शन के संबंध में थोड़ा परेशान होना पड़ता है।

    काश, एडब्ल्यूएस सस्ता होता, लेकिन जब तक Google स्टेटिक आईपी और अधिमानतः अतिरिक्त भाषाएं जैसे कि स्काला, जुआरबी, और एरलंग प्रदान नहीं करता, मेरे लिए विकल्प स्पष्ट है: एडब्ल्यूएस । पहले दो भाषाओं को भी सरल होना चाहिए, वे दोनों जेवीएम आधारित हैं। मई भी पहले से ही काम के आसपास के माध्यम से किया गया है, जैसा कि मुझे लगता है कि इसके बारे में कुछ पढ़ने के लिए याद है।


    पांडित्यपूर्ण होने के लिए, आप स्केला, JRuby, और यहां तक ​​कि क्लोजर को ऐप इंजन पर चला सकते हैं क्योंकि यह हुड के नीचे सभी जेवीएम है। अब, इन भाषाओं का उपयोग करना आसान है या नहीं, यह एक और कहानी है ...
    क्रिस स्मिथ

    0

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

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

    GAE पायथन / जावा ऐप्स के लिए बहुत विशिष्ट है। आवेदन को फिर से लिखे जाने (मौजूदा), परीक्षण, तैनात किए जाने आदि में भारी प्रयास (संसाधन + लागत के संदर्भ में)।

    हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
    Licensed under cc by-sa 3.0 with attribution required.