Google ऐप इंजन का उपयोग करने पर प्रतिक्रिया? [बन्द है]


125

एक बहुत छोटा, त्वरित 'एन गंदा पक्ष परियोजना करने के लिए देख रहे हैं। मुझे यह तथ्य पसंद है कि Google App Engine, Django के साथ बनाया गया पायथन पर सही तरीके से चल रहा है - मुझे उस मंच को आज़माने का एक बहाना देता है ... लेकिन मेरा सवाल यह है:

क्या किसी ने खिलौना समस्या के अलावा किसी अन्य चीज के लिए ऐप इंजन का उपयोग किया है? मुझे वहां से कुछ अच्छे उदाहरण ऐप दिखाई देते हैं, इसलिए मुझे लगता है कि यह वास्तविक सौदे के लिए पर्याप्त है, लेकिन कुछ प्रतिक्रिया प्राप्त करना चाहता था।

कोई अन्य सफलता / विफलता नोट बहुत अच्छा होगा।


8
सामुदायिक विकि होना चाहिए
साइलेंटगॉस्ट

जवाबों:


63

मैं अपने छोटे भूकंप घड़ी आवेदन के लिए app इंजन की कोशिश की है http://quakewatch.appspot.com/

मेरा उद्देश्य ऐप इंजन की क्षमताओं को देखना था, इसलिए यहां मुख्य बिंदु हैं:

  1. यह Django के साथ डिफ़ॉल्ट रूप से नहीं आता है, इसका अपना वेब ढांचा है जो पाइथोनिक है जिसमें Django जैसा URL डिस्पैचर है और यह Django टेम्प्लेट का उपयोग करता है इसलिए यदि आपके पास Django ऍक्स्प है। आपको इसका उपयोग करना आसान होगा
  2. आप सर्वर पर किसी भी लंबी चलने वाली प्रक्रिया को अंजाम नहीं दे सकते हैं, जो आप करते हैं वह अनुरोध का जवाब है और जो जल्दी होना चाहिए अन्यथा एपेंगाइन इसे मार देगा इसलिए यदि आपके ऐप को बहुत सारे बैकएंड प्रसंस्करण की आवश्यकता है एपेंजिन सबसे अच्छा तरीका नहीं है अन्यथा आपको प्रसंस्करण करना होगा अपने खुद के सर्वर पर
  3. मेरे क्वैकेवच ऐप में एक सदस्यता सुविधा है, इसका मतलब है कि मुझे नवीनतम क्वेक को ईमेल करना होगा क्योंकि वे खुश होते हैं, लेकिन मैं नए इंजन के समाधान की निगरानी के लिए ऐप इंजन में एक पृष्ठभूमि प्रक्रिया नहीं चला सकता हूं, यहां pingablity.com जैसी तीसरी भाग सेवा का उपयोग करना है। अपने एक पृष्ठ से कनेक्ट करें और जो सदस्यता ईमेलकर्ता को निष्पादित करता है, लेकिन यहां आपको यह भी ध्यान रखना होगा कि आप यहां बहुत समय नहीं बिताते हैं या कार्य को कई टुकड़ों में तोड़ते हैं
  4. यह Django को मॉडलिंग क्षमताओं की तरह प्रदान करता है लेकिन बैकएंड पूरी तरह से अलग है लेकिन एक नई परियोजना के लिए यह मायने नहीं रखना चाहिए।

लेकिन कुल मिलाकर मुझे लगता है कि यह उन ऐप्स को बनाने के लिए उत्कृष्ट है जिन्हें पृष्ठभूमि प्रसंस्करण की बहुत आवश्यकता नहीं है।

संपादित करें: अब कार्य कतार का उपयोग बैच प्रसंस्करण या अनुसूचित कार्यों को चलाने के लिए किया जा सकता है

संपादित करें: एक वर्ष के लिए जीएई पर काम करने / एक वास्तविक एप्लिकेशन बनाने के बाद, अब मेरा ओपिनियन यह है कि जब तक आप एक एप्लिकेशन नहीं बना रहे हैं जिसे मिलियन और मिलियन उपयोगकर्ताओं के पैमाने की आवश्यकता है, GAE का उपयोग न करें। जीएई में तुच्छ कार्यों को बनाए रखना और वितरित प्रकृति की वजह से एक सिरदर्द है, समय सीमा से अधिक त्रुटियों से बचने के लिए, संस्थाओं की गणना या जटिल प्रश्नों के लिए जटिल कोड की आवश्यकता होती है, इसलिए छोटे जटिल अनुप्रयोग को LAMP से चिपके रहना चाहिए।

संपादित करें: मॉडल विशेष रूप से उन सभी लेन-देन पर विचार करते हुए डिज़ाइन किए जाने चाहिए जिन्हें आप भविष्य में रखना चाहते हैं, क्योंकि केवल एक ही इकाई समूह में संस्थाओं का उपयोग लेनदेन में किया जा सकता है और यह दो अलग-अलग समूहों को एक बुरे सपने को अपडेट करने की प्रक्रिया बनाता है, जैसे user1 से user2 में धन हस्तांतरण लेन-देन में असंभव है जब तक कि वे एक ही इकाई समूह में न हों, लेकिन उन्हें एक ही इकाई समूह बनाना लगातार अद्यतन उद्देश्यों के लिए सबसे अच्छा नहीं हो सकता है .... इस http://blog.notdot.net/2009/9/Distributed-Transactions- पढ़ें ऑन-ऐप-इंजन


6
अब बैच प्रक्रिया जीएई
अनुराग उनियाल

2
ऐप-इंजन डॉक्स में भी नई टास्क कतार पायथन एपीआई की जाँच करें।
जेसन रिकार्ड

11
इस जानकारी का अधिकांश हिस्सा पुराना है - Django 0.96 अब GAE में 17 जुलाई 2009 को बनाया गया है।
ine

3
Djanjo 1.0.x को भी अब GAE में शामिल किया गया है। आप Django का कौन सा संशोधन आप चाहते हैं चुन सकते हैं।
लॉरेंट

5
बस एक और अपडेट, Django 1.1 अब GAE के साथ-साथ पिछले संस्करणों के साथ उपलब्ध है।
सिंगलएनजेशन इलिमिनेशन

36

मैं कई उच्च यातायात अनुप्रयोगों की मेजबानी करने के लिए GAE का उपयोग कर रहा हूं। जैसे 50-100 req / sec के आदेश पर। यह बहुत अच्छा है, मैं इसे पर्याप्त रूप से सुझा नहीं सकता।

वेब विकास के साथ मेरा पिछला अनुभव रूबी (रेल्स / मर्ब) के साथ था। अजगर सीखना आसान था। मैंने Django या Pylons या किसी भी अन्य ढांचे के साथ गड़बड़ नहीं की, बस GAE उदाहरणों से शुरू किया और जो मुझे प्रदान किए गए बुनियादी वेबप लाइब्रेरी से बाहर की आवश्यकता थी।

यदि आप एसक्यूएल के लचीलेपन के लिए उपयोग किए जाते हैं तो डेटास्टोर कुछ उपयोग करने के लिए ले सकता है। कुछ भी दर्दनाक नहीं! सबसे बड़ा समायोजन JOINs से दूर जा रहा है। आपको यह विचार बहाना होगा कि सामान्य करना महत्वपूर्ण है।

बेन


23

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

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

जब मैं "वास्तविक काम" के लिए दूर गया तो मैं प्रोजेक्ट के डेटस्टोर भाग में बस जा रहा था।

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

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


लगभग मेरी स्थिति के समान - "वास्तविक काम" से अलग लेकिन अभी भी कुछ ऐसा है जो मुझे करने की आवश्यकता है और अंत में कार्यात्मक है।
एग्रीजेटके

मुझे भी। इसके अलावा, बड़ा प्लस यह है कि विकास पर्यावरण स्थापना एक तस्वीर है (आप एक मिनट के भीतर कोडिंग कर रहे हैं)। तैनाती के लिए एक ही बात।
जिल्स

12

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


अच्छी बात है - ऐसा लगता है कि यह डिफ़ॉल्ट रूप से Django की गति को बढ़ाता है, लेकिन जरूरी नहीं कि यह बाकी हो।
एगार्टेक सेप

7

मैंने निर्माण के लिए GAE का उपयोग किया http://www.muspy.com

यह एक खिलौना परियोजना से थोड़ा अधिक है, लेकिन अत्यधिक जटिल भी नहीं है। मैं अभी भी Google द्वारा संबोधित किए जाने वाले कुछ मुद्दों पर निर्भर करता हूं, लेकिन कुल मिलाकर वेबसाइट को विकसित करना एक सुखद अनुभव था।

यदि आप होस्टिंग मुद्दों, सर्वर प्रशासन आदि से निपटना नहीं चाहते हैं, तो मैं निश्चित रूप से इसकी सिफारिश कर सकता हूं। खासकर यदि आप पहले से ही अजगर और Django जानते हैं।


7

मुझे लगता है कि इस बिंदु पर छोटी परियोजनाओं के लिए ऐप इंजन बहुत अच्छा है। होस्टिंग के बारे में चिंता न करने के लिए बहुत कुछ कहा जाता है। एपीआई आपको स्केलेबल ऐप्स बनाने की दिशा में भी आगे बढ़ाता है, जो अच्छा अभ्यास है।

  • ऐप-इंजन-पैच , Django और ऐप इंजन के बीच एक अच्छी परत है, जो कि ऑर्ट एप्लिकेशन और अधिक का उपयोग करने में सक्षम है।
  • Google ने 2008 के अंत तक एक SLA और मूल्य निर्धारण मॉडल का वादा किया है।
  • अनुरोधों को 10 सेकंड में पूरा करना होगा, वेब सेवाओं के लिए उप-अनुरोधों को 5 सेकंड में पूरा करना होगा। यह आपको अन्य प्लेटफार्मों (जैसे एक होस्ट की गई सेवा या EC2 उदाहरण) के लिए तेज़, हल्के अनुप्रयोग, ऑफ-लोडिंग गंभीर प्रसंस्करण को डिज़ाइन करने के लिए मजबूर करता है।
  • जल्द ही और भाषाएँ आ रही हैं! Google यह नहीं कहेगा कि :-) जावा पर मेरे पैसे अगले।

फरवरी 2009 तक उपरोक्त कई सीमाओं को आसान कर दिया गया था।
दोपहर

3
यदि कोई इस उत्तर को संपादित कर सकता है, तो यह प्रतिबिंबित करना अच्छा होगा कि जावा वास्तव में अगली भाषा उपलब्ध है।
जेसनस्मिथ

1
@ आपकी टिप्पणी यह ​​अच्छी तरह से करती है!
दोपहर

और गो भाषा अब भी समर्थित है!
davewasthere

6

इस सवाल का पूरी तरह से जवाब दिया गया है। कौन सा अच्छा है। लेकिन एक बात शायद ध्यान देने योग्य है। Google ऐप इंजन में ग्रहण विचार के लिए एक प्लगइन है, जिसके साथ काम करने के लिए एक खुशी है।

यदि आप पहले से ही अपने विकास को ग्रहण के साथ करते हैं तो आप इसके बारे में बहुत खुश होंगे।

Google ऐप इंजन की वेब साइट पर तैनात करने के लिए मुझे बस एक बटन पर क्लिक करना होगा - हवाई जहाज का लोगो - सुपर।


4

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


sql गेम Google App Engine से एक निजी सर्वर में चला गया है।
systempuntoout

4

मैंने एक साधारण एप्लिकेशन का निर्माण करने के लिए GAE का उपयोग किया जो कुछ मापदंडों, स्वरूपों को स्वीकार करता है और ईमेल भेजता है। यह बेहद सरल और तेज था। मैंने GAE डेटास्टोर और मेकचेस सेवाओं ( http://dbaspects.blogspot.com/2010/01/memcache-vs-datastore-on-google-app.html ) पर कुछ प्रदर्शन बेंचमार्क बनाए । यह इतनी जल्दी नहीं है। मेरी राय है कि जीएई एक गंभीर मंच है जो कुछ पद्धति को लागू करता है। मुझे लगता है कि यह वास्तव में स्केलेबल मंच के रूप में विकसित होगा, जहां बुरी प्रथाओं की अनुमति नहीं है।


4

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


3

मैंने फेसबुक एप्लिकेशन बनाने के लिए GAE और Django का उपयोग किया। मैंने अपने शुरुआती बिंदु के रूप में http://code.google.com/p/app-engine-patch का उपयोग किया क्योंकि इसमें Django 1.1 समर्थन है। मैंने किसी भी प्रबंधित कमांड कमांड का उपयोग करने का प्रयास नहीं किया क्योंकि मैंने माना कि वे काम नहीं करेंगे, लेकिन मैंने इसे देखा भी नहीं था। एप्लिकेशन में तीन मॉडल थे और उन्होंने pyfacebook का भी उपयोग किया था, लेकिन यह जटिलता की सीमा थी। मैं एक बहुत अधिक जटिल एप्लिकेशन बनाने की प्रक्रिया में हूं, जिसके बारे में मैं http://brianyamabe.com पर ब्लॉग शुरू कर रहा हूं ।


मैंने सर्वर को चलाने के लिए और कुछ यूनिट परीक्षणों को चलाने के लिए मैनेजमेक्स का उपयोग करना शुरू कर दिया। सर्वर चलाना ठीक काम करता है, लेकिन जैसे ही मेरा एप्लिकेशन फेसबुक ऐप के रूप में चलता है, यह सब उपयोगी नहीं है (मुझे एक होस्टेड सर्वर की आवश्यकता है जो फेसबुक का संदर्भ देता है)। यूनिट परीक्षण ने भी काम किया और इसने जुड़नार के साथ भी काम किया। हालाँकि, मैं अन्य मॉडलों को काम करने के लिए संदर्भित करने वाले जुड़नार प्राप्त करने में सक्षम नहीं था। मुझे अभी भी यह पता नहीं चला है कि यह मेरी समस्या है या ऐप-इंजन-पैच के साथ कोई समस्या है।
बयमाबे डेब
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.