निम्न-से-मध्यम बैंडविड्थ वेब मैप ऐप को चलाने के लिए किस प्रकार के एडब्ल्यूएस कॉन्फ़िगरेशन की आवश्यकता है?


17

क्या किसी को अमेज़ॅन वेब सर्विसेज (S3, EC2 आदि ...) पर वेब मैप्स (टाइल सर्वर + क्लाइंट जेएस स्क्रिप्टिंग) चलाने का अनुभव है? निम्न-से-मध्यम बैंडविड्थ वेब मैप ऐप को चलाने के लिए किस तरह के AWS कॉन्फ़िगरेशन की आवश्यकता होती है, एक छोटे (-ish) क्षेत्र (छोटे-देश के आकार के शहर) को कवर करने के लिए?

सभी टाइलों को पूर्व-गाया जाएगा और S3 पर अपलोड किया जाएगा। आदर्श रूप से मुझे वेब सर्वर पर एक टाइल सेवारत ऐप की आवश्यकता होगी जो MBTiles की सेवा दे सके (इसके बजाय व्यक्तिगत रूप से सैकड़ों हज़ार टाइल बिटमैप अपलोड करने की)। तो EC2 उदाहरण की किसी तरह की जरूरत होगी, लेकिन किस तरह?

किसी भी संकेत के लिए धन्यवाद।

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


3
एक परियोजना Mapserver + MapProxy + एडब्ल्यूएस (EC2) Postgres पर ubuntu "एक राष्ट्रीय टाइल सर्वर बिल्डिंग" speakerdeck.com/u/walkermatt/p/building-a-national-tile-server
Mapperz

1
@ मैपरज़ लिंक के लिए धन्यवाद। उनका सेटअप थोड़ा अधिक महत्वाकांक्षी है, टाइल रेंडरिंग पाइपलाइन पूरी तरह से एडब्ल्यूएस पर चल रही है, इसलिए यह (मुझे लगता है) काफी महंगा हो सकता है। लेकिन एक रहस्योद्घाटन MapProxy है, क्योंकि यह MBTiles का समर्थन करता है।
इगोर ब्रजैक

1
छोटे आकार के सर्वर का उपयोग करना और 500 एमबी जीआईएस डेटा की सेवा करना मुझे अमेज़ॅन द्वारा सूचित किया जा रहा है कि मैं मुफ्त टियर के लिए योग्य हूं। बस कह रही है
ब्रैड नेसोम

जवाबों:


6

जब एक सेवा है कि वेब की तरह एक 'क्लासिक' वास्तुकला पर इतना निर्भर करता है के लिए एक वास्तुकला उठा नक्शे की तरह अधिक परंपरागत होस्टिंग समाधान के प्रभाव को नजरअंदाज नहीं रैकस्पेस बादल सर्वर या linode

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

कुछ समय पहले खुद के माध्यम से जाने के बाद मैं आपको बता सकता हूं कि एडब्ल्यूएस के बजाय रैकस्पेस पर एक वेब मैप सेवा की मेजबानी करने के मेरे फैसले में महत्वपूर्ण कारक थे:

  1. क्लाउड सर्वर EC2 उदाहरणों की तुलना में (अधिक) लचीला हैं। EC2 उदाहरण वास्तव में विफल होने की उम्मीद है और वे असफल होंगे
  2. ईबीएस वॉल्यूम भी विफल रहता है (समाचार में बहुत दुखद कहानियाँ हैं) और आम तौर पर गरीब I / O है
  3. जब तक आप बड़े उदाहरणों को नहीं चुनते हैं I / O विवाद एक मुद्दा हो सकता है (विशेषकर यदि आप EC2 पर टाइलों को बोने की योजना बनाते हैं, बजाय उन्हें कॉपी करने के)। यह MTBtiles डेटाबेस के साथ भी एक समस्या हो सकती है
  4. जब भी आप अपने सर्वर को रिबूट करते हैं, तो सार्वजनिक आईपी बदल जाएगा: यह लिनोड या रैकस्पेस पर नहीं होता है
  5. आपको एक बैकअप के साथ आना होगा और अपने आप को रणनीति को बहाल करना होगा जबकि लिनोड और रैकस्पेस दोनों बिंदु प्रदान करते हैं और दैनिक और साप्ताहिक स्वचालित स्नैपशॉट और पुनर्स्थापना पर क्लिक करते हैं।
  6. यदि आपका VPS चलाने वाला होस्ट विफल हो जाता है, तो Rackspace आपके उदाहरण को स्थानांतरित करने और इसे एक अलग सर्वर पर पुनरारंभ करने का ध्यान रखेगा और वे इसे 4h (यह उनके SLA में) करेंगे। यह मेरे साथ तब हुआ जब मैं छुट्टी पर था: यह बहुत ही पेशेवर लगा। लिकोड को ऐसा ही करना चाहिए
  7. लिनोड की एक बड़ी उपलब्धता SLA: 99.9% है और वे शानदार प्रदर्शन का दावा करते हैं क्योंकि वे ओवरप्रोविजन नहीं करते हैं
  8. रैकस्पेस हाल ही में ईबीएस की तरह एक वॉल्यूम रणनीति के साथ आया है इसलिए डिस्क स्पेस अब एक मुद्दा नहीं होना चाहिए। पहले यदि आपको बहुत सारे डिस्क स्थान की आवश्यकता होती है तो EC2 पर आप एक बड़ा उदाहरण प्राप्त करने के लिए HAD कर सकते हैं। आप बेहतर नियंत्रण के साथ स्टोरेज, सीपीयू और मेमोरी का प्रावधान कर सकते हैं।

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


इसलिए, आपके मामले में मैं रैकस्पेस पर एक बड़ा उदाहरण शुरू करूंगा और फिर सभी डेटा को स्थानीय पोस्टगिस उदाहरण में लोड करूंगा। फिर, रेंडरिंग इंजन को कॉन्फ़िगर करने के बाद मैं कैश को सीड कर दूंगा। एक बड़ा उदाहरण बोने की प्रक्रिया को तेजी से पूरा करेगा ताकि इसे चलाना बहुत महंगा न हो। तुम भी S3 (Btw, आप के साथ एक CDN पर S3 डेटा सेवा कर सकते हैं पर, एफएस, MTBtiles में टाइल्स स्टोर कर सकते हैं CloudFront )।

बोने के पूरा होने के बाद मैं सर्वर को रिबूट करेगा और इसे एक छोटे (शायद 512 एमबी) उदाहरण में बदल देगा क्योंकि यह केवल स्थैतिक डेटा की सेवा के लिए होगा।


यह एक लंबा जवाब मिल रहा है तो मैं यहाँ रुकने जा रहा हूँ। यदि आप चाहते हैं कि मैं कुछ पहलुओं पर विस्तृत टिप्पणी करूं

अस्वीकरण: मैं Rackspace, Linode, या मेरे द्वारा उद्धृत किसी अन्य प्रदाता से संबद्ध नहीं हूं।


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

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

5

मैं MapServer के साथ एक Postgresql / PostGIS डेटाबेस में GIS डेटा की मेजबानी के लिए WebFaction का उपयोग कर रहा हूं और मुझे लगता है कि सेवा <$10प्रति माह की लागत के लिए बेजोड़ है । यदि आप PostGIS 2.0 का उपयोग करना चाहते हैं, तो आपको इसे स्वयं स्थापित करने की आवश्यकता है जो थोड़ा मुश्किल है, लेकिन वे डिफ़ॉल्ट रूप से PostGIS 1.5 प्रदान करते हैं (आपको समर्थन टिकट खोलने की आवश्यकता है)। यह CentOS पर एक साझा होस्टिंग सेवा है जहां आपके पास सर्वर के अपने हिस्से में कुछ भी स्थापित करने के लिए पूर्ण लचीलापन है।

मैं टाइलों की सेवा के लिए Webfaction का उपयोग नहीं कर रहा हूं, लेकिन वे 100GB स्थान प्रदान करते हैं; मुझे यकीन नहीं है कि अगर RAM बहुत महंगा हो जाएगा क्योंकि डिफ़ॉल्ट 256 एमबी है (और प्रत्येक 256 ब्लॉक की लागत प्रति माह अतिरिक्त 7 डॉलर है)


संयोग से, इन सवालों के जवाब देते समय एक रेफरल लिंक शामिल करना ठीक है? यह जानबूझकर मेरे विचार को प्रभावित नहीं करता है, लेकिन यह सिद्धांत में हो सकता है!
djq

1
संकेत के लिए धन्यवाद। WebFaction की कीमतें आमंत्रित दिखती हैं। बहुत बुरा वे उन ऐप्स के बारे में अधिक जानकारी नहीं देते हैं जो वे पेश करते हैं। इस पर BTG, PostWIS और MapServer को स्थापित करना कितना मुश्किल था?
इगोर ब्रेजक

यदि PostGIS 1.5 वह सब है जिसकी आवश्यकता है तो यह सिर्फ एक समर्थन टिकट है। PostGIS 2.0 बहुत मुश्किल नहीं है, लेकिन इसके लिए केवल कुछ पैकेज जैसे GDAL इत्यादि को डाउनलोड करने और इंस्टॉल करने की आवश्यकता होती है, हालांकि सपोर्ट स्टाफ जवाब देने के लिए बहुत सहायक और त्वरित है। (महसूस करते हैं कि मैंने लिखते समय अपने उत्तर में से कुछ को मिटा दिया; इसे अद्यतन करेगा।)
djq

1
मैंने हाल ही में अपने WebFaction webhosting खाते पर MapServer और TinyOWS स्थापित किए हैं। मेरा स्थानिक डेटा उसी Webhosting खाते पर PostGIS 1.5 डेटाबेस में संग्रहीत है। मैंने उन चरणों का वर्णन किया जो मैंने एक MapServer WMS सेवा को ऊपर और यहाँ चलाने के लिए किया था: लिंक
jirikadlec2

5

एक अन्य संभावना जो AWS का उपयोग करती है:

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

एक पूरी तरह से ब्लॉग पोस्ट है जो मैंने लिखा था कि दस्तावेज़ों को माध्यम डॉट कॉम पर AWS लैम्ब्डा टिलर कैसे सेट किया जाए । ध्यान दें कि ब्लॉग पोस्ट केवल टाइलिंग रैस्टर डेटा को कवर करती है, लेकिन हमने स्टैमेन में इस प्रक्रिया का उपयोग हमारे ग्लोबल टेरेन क्लासिक मैप टाइल्स को चलाने के लिए भी किया है जो कि पोस्टग्रैसक्यूसी, पोस्टजीआईएस, मैपनिक और कार्टोएसएस के माध्यम से ओएसएम और प्राकृतिक पृथ्वी डेटा के संयोजन से उत्पन्न होते हैं।

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


अच्छा उत्तर। क्या किसी एडब्ल्यूएस सेवाओं के साथ वेक्टर टाइल विकसित करने का कोई स्वचालित तरीका है?
डेविल्स ड्रीम

निश्चित नहीं है कि आपका "स्वचालित" से क्या मतलब है, लेकिन ब्रेन बैन्क्रॉफ्ट का एक एडब्ल्यूटी पर
टेगोला

3

AWS सेवाओं के लिए विस्तृत मूल्य निर्धारण प्राप्त करने के लिए आप यहाँ स्थित ऑनलाइन कैलकुलेटर का उपयोग कर सकते हैं: http://calculator.s3.amazonaws.com/calter5.html

Linux चलाने वाले एक छोटे EC2 उदाहरण के लिए, यदि आप एक वर्ष के लिए प्रतिबद्ध हैं, तो आप एक आरक्षित इंस्टेंस खरीद सकते हैं, जिसकी कीमत लगभग $ 25 / महीना होगी। यह मांग मूल्य निर्धारण, या संविदा मूल्य निर्धारण के लिए लगभग 44 / महीने की तुलना में है।

मुझे लगता है कि आपके प्रश्न का संक्षिप्त उत्तर यह है कि यदि आप अपने व्यक्तिगत वेब मैपिंग एप्लिकेशन की जरूरतों का ध्यान रखने के लिए एक बुनियादी ढांचा प्रदाता की तलाश कर रहे हैं, तो AWS ओवरकिल हो सकता है। यदि आप उत्पादन ऐप के लिए आईटी प्रदाता की तलाश कर रहे हैं, खासकर यदि उन्हें एचए और स्केलेबिलिटी की आवश्यकता है, तो एडब्ल्यूएस आपका जवाब है। यह तब और भी सच हो जाता है जब आप ऐसे ऐप्स बना रहे होते हैं जो AWS द्वारा प्रदान की जाने वाली कई गोंद सेवाओं का लाभ उठाते हैं, जैसे SQS, SNS, SWF आदि।

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


3

मैं बहुत समय से इसके बारे में कोई विशेषज्ञ नहीं हूँ या वास्तव में इसके अलावा कोई ज्ञान नहीं है जो मैं पिछले कुछ समय से amazon EC2 पर वेब सर्वर चला रहा हूँ, इसलिए यह कोई उत्तर नहीं है।

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

  • मेरे aws खर्च का सबसे बड़ा हिस्सा मेरे डेटा ट्रांसफर (जो आप लोडिंग के बारे में बात कर रहे हैं) पर है।
  • आपके सर्वर को और क्या करना है (जब तक आप टाइल्स को रेंडर करने के लिए लाइसेंस का उपयोग नहीं कर रहे हैं और AWS के लिए लाइसेंस नहीं है)।

यदि वह फिर से विचार नहीं करता है या फिर नहीं करता है, तो संभवतः पहले अपना पसंदीदा मैप सर्वर चुनें, फिर उस मैप सर्वर के लिए एक समर्थित OS चुनें, फिर AWS EC2 पर जाएं और उस इंस्टेंस को ढूंढें जो आपकी आवश्यकताओं (आकार, स्मृति) को पूरा करता हो अंतरिक्ष, क्षेत्र)।
कोई एएमआई हो सकता है या नहीं हो सकता है जिसमें सभी स्टैक की आवश्यकता हो ताकि अगले इसे कॉन्फ़िगर किया जा सके और फिर अपना स्टैक स्थापित करें।
एक मजबूत अधिभोग है जिसे आप "मुक्त" या सस्ते के लिए पूरा करेंगे।


1
आपके उत्तर के लिए धन्यवाद। मैं मानता हूं कि प्री-रेंडरिंग आदर्श नहीं है, लेकिन ऑन-डिमांड रेंडरिंग के लिए बहुत अधिक क्लाउड ऐप संसाधनों की आवश्यकता होती है, जो काफी महंगे भी होते हैं। प्री-रेंडरिंग परिदृश्य में सर्वर को केवल MBTiles (sqlite) स्टोरेज से टाइलें प्राप्त करनी होती हैं और उनकी सेवा करनी होती है, इसलिए आपको बहुत कम CPU, डिस्क स्टोरेज और कोई वास्तविक RDBMS की आवश्यकता नहीं होती है। और अगर आप उच्चतम जूम स्तर को किसी प्रबंधनीय चीज तक सीमित करते हैं, तो ऐसा नहीं है कि अपलोड करने के लिए कई टाइलें हैं। BTW मैंने अपना प्रश्न थोड़ा अपडेट किया है।
बजे इगोर ब्रजक

0

यह सच है कि आप AWS के लिए जा सकते हैं यदि आप उनमें से विभिन्न सेवाओं का उपयोग कर रहे हैं क्योंकि AWS काफी महंगा है। यदि आप एक ही लाभ के साथ सस्ती कीमतों के लिए जाना चाहते हैं तो मैं https://fxdata.cloud या https://digitalocean.com के लिए सिफारिश करूंगा क्योंकि दोनों की सेवाएं सराहनीय हैं और सस्ती कीमतें हैं। आपको मूल रूप से उच्च विश्वसनीयता के साथ सभी ओएस और डीबीएमएस विकल्प मिलेंगे।

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