2013-04-29 7 views
51

समझाया तो मैं क्लाउड फाउंड्री पर पढ़ रहा हूं और फिर भी मैं अभी भी उलझन में हूं कि यह क्या है। सीएफ़ पर पैस पर वैसे भी मेरा लेना है, और उम्मीद है कि आप लोग मुझे बता सकते हैं कि मैं गलत हूं और इसे थोड़ा बेहतर समझाता हूं।क्लाउड फाउंड्री ने

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

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

उत्तर

73

मैं क्लाउड फाउंड्री पर एक डेवलपर हूं - और हाँ, क्लाउड फाउंड्री वास्तव में थोड़ा अस्पष्ट है (कोई इरादा नहीं है)। उम्मीद है कि मैं चीजों को थोड़ा सा स्पष्ट करने में मदद कर सकता हूं।

क्लाउड फाउंड्री platform as a service है, लेकिन इसके नीचे infrastructure as a service की आवश्यकता है। क्लाउड फाउंड्री , vCloud, OpenStack, और Amazon AWS को BOSH टूल के माध्यम से आधारभूत संरचना के रूप में समर्थन करता है। अधिकांश वेब एप्लिकेशन डेवलपर्स को इनमें से किसी के बारे में परवाह नहीं है, लेकिन यह उन लोगों के लिए वास्तव में अच्छा है जिन्हें बड़े आईटी बुनियादी ढांचे के बारे में चिंता करने की ज़रूरत है।

कहें कि आप AcmeCorp के लिए आईटी के प्रभारी हैं। आपके पास 50,000 कर्मचारी हैं जो सभी अपनी आंतरिक वेब सेवा, फिजबज़ का उपयोग करते हैं, ताकि वे अपनी नौकरी कर सकें। सभी कर्मचारियों का समर्थन करने के लिए, आपको शक्तिशाली प्रोसेसर और मेमोरी के साथ कई मशीनों पर चल रहे फिजबज़ एप्लिकेशन के दर्जनों उदाहरणों की आवश्यकता है, और आपको उपयोग की जाने वाली Foo, Bar, और Baz अनुप्रयोगों द्वारा उत्पन्न जानकारी संग्रहीत करने के लिए बड़ी मात्रा में डिस्क स्थान की आवश्यकता है आंतरिक रूप से भी। आप अपने खुद के ब्लेड सर्वर पर प्रबंधन करने के लिए जो भी देखभाल करेंगे, उससे परे आप आगे बढ़ गए हैं, इसलिए आप डेटासेंटर को पट्टे पर ले जाने का फैसला करते हैं।

दुर्भाग्यवश, AcmeCorp बहुत ही निष्क्रिय है। वित्त विभाग का कहना है कि आप किस डेटासेंटर का उपयोग करते हैं, और हर दो साल में वे आपको एक डेटासेंटर से दूसरे में स्विच करते हैं। प्रत्येक जोड़े के वर्षों में, आपके पास डाउनटाइम के कई सप्ताह होते हैं जबकि आपके इंजीनियर VSphere, vCloud, OpenStack, या जो भी हो, के बीच स्विच करके उजागर Fizzbuzz में बग को ठीक करने का प्रयास करते हैं।

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

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

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

मुझे आशा है कि क्लाउड फाउंड्री हल करने वाली समस्याओं की एक तस्वीर चित्रित करेगी। किसी टिप्पणी में अधिक जानकारी मांगने के लिए स्वतंत्र महसूस करें, या यदि आप भविष्य के प्रश्नों के लिए अधिक समझदारी करते हैं तो Cloud Foundry mailing list देख सकते हैं।

+0

और अभी भी धुंधला क्या मूल्य निर्धारण है? सीएफ ढेर मुक्त है, और आप क्या भुगतान कर रहे हैं? क्या कोई पकड़ है? :) – Tomo

+0

मार्क, महान जानकारी। क्या होगा यदि AcmeCorp लगातार Fizzbuzz ऑन-प्रिमाइज़ के नए उदाहरणों को तैनात कर रहा था, प्रत्येक कैशिंग, मैसेजिंग, लॉगिंग, डेटाबेस कनेक्शन, पर्यावरण चर, इत्यादि के लिए थोड़ा अलग कॉन्फ़िगरेशन के साथ, इन कॉन्फ़िगरेशन को पैरा-साइज और एक सेल्फ-सर्विस कंसोल में उजागर किया जा सकता है क्लाउडफाउंड्री, विकास टीमों को फिट बैठने के लिए फिजबज़ के नए उदाहरणों को प्रावधान और तैनात करने की इजाजत देता है? – raffian

+0

अच्छी तरह से लिखा ... – underdog

20

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

सबसे पहले, आप GAE और Azure का उल्लेख करते हैं। इनमें से दोनों की कुछ सीमाएं हैं - उदाहरण के लिए, जीएई आपको विशिष्ट भाषाओं और एपीआई तक सीमित करता है। न तो ओपन सोर्स हैं। सीएफ एक्स्टेंसिबल (नए संस्करण में उदाहरण के लिए बिल्डपैक समर्थन है, जो आपको "किसी भी" भाषा रनटाइम को चुनने में सक्षम बनाता है), और आप जहां चाहें इसे चलाने के लिए चुन सकते हैं।

मार्क 4 आईएएएस प्रदाताओं का उल्लेख करता है कि हम आज सीएफ चला सकते हैं, लेकिन यह मानते हुए कि आईएएस प्रश्न में है (मान लीजिए कि हम Azure, CloudStack, Google Compute Engine आदि को भविष्य के लक्ष्यों के रूप में शामिल करते हैं) हम क्लाउड को कॉल करने की एक छोटी संख्या का समर्थन कर सकते हैं प्रदाता इंटरफेस (सीपीआई) तो आप क्लाउड फाउंड्री को उन बुनियादी ढांचे पर भी तैनात कर सकते हैं।

आप पूछते हैं कि विभिन्न प्रदाताओं से सेवाओं का उपयोग करना संभव है। हेरोकू की तरह, क्लाउड फाउंड्री (.com) का आगामी संस्करण "मार्केटप्लेस" का समर्थन करेगा जहां आप अतिरिक्त विक्रेताओं से फ़ंक्शन प्लगइन कर सकते हैं, और यदि आप अपना क्लाउड फाउंड्री इंस्टेंस चला रहे हैं तो आप चुन सकते हैं कि कौन से सेवाएं तैनात और अपने ऐप्स से कनेक्ट हों ।

यह बहुत अच्छा है :-) यदि आप और जानना चाहते हैं तो मेलिंग सूची पर हमसे बात करें!

+0

मेरे जवाब से रिक्त स्थान भरने के लिए धन्यवाद, एंडी! –

+0

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

+0

कोई "क्लाउड फाउंड्री एपीआई" नहीं है जिसके बारे में आपको चिंता करने की ज़रूरत है। यदि आप एक मृत मानक node.js, Grails, रूबी, आदि ऐप सही है तो आप किसी भी विशेष कोड परिवर्तन के बिना इसे सीएफ में धक्का दे सकते हैं। ट्यूटोरियल्स पर, आप docs.cloudfoundry.com पर देख सकते हैं –

6

एडी के उत्तर में एपीआई के बारे में टिप्पणी के रूप में इसे जोड़ना चाहते हैं लेकिन दुर्भाग्य से ऐसा करने के लिए पर्याप्त प्रतिष्ठा नहीं है। जहां तक ​​मैं क्लाउड फाउंड्री को समझता हूं वास्तव में कोई विशिष्ट एपीआई नहीं है, लेकिन यह पर्यावरण चर के माध्यम से बहुत उपयोगी जानकारी प्रदान करता है (उदा। VCAP_SERVICES, VCAP_APPLICATION, VCAP_CONSOLE_IP, VCAP_APP_PORT), जिसे किसी भी भाषा या ढांचे से एक्सेस किया जा सकता है। जबकि इस तरह के चर से बहुत सारी जानकारी क्लाउड फाउंड्री में आंतरिक हैं, उनमें से कुछ काफी उपयोगी हो सकती हैं। मुख्य एक VCAP_SERVICES है जो सेवाओं के बारे में जानकारी प्रदान करता है, जो आपके ऐप से बंधे हैं।

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

इसकी बारी में क्लाउड फाउंड्री VCAP_APPLICATION env प्रदान करता है। चर, जो निम्नलिखित क्षेत्रों में शामिल होंगे:

{"application_users": [], 
"instance_id":"97467a9cf508cb75273284b948b6319b", 
"instance_index":1, 
"application_version":"330b7caf-50e5-48f4-8792-1c80a90b06f1", 
"application_name":"helloworld", 
"application_uris":["helloworld.vcap.me"], 
"started_at":"2013-07-22 10:58:16 +0300", 
"started_at_timestamp":1374479896, 
"host":"0.0.0.0", 
"port":61014, 
"limits":{"mem":256,"disk":1024,"fds":16384}, 
"version":"330b7caf-50e5-48f4-8792-1c80a90b06f1", 
"name":"helloworld", 
"uris":["helloworld.vcap.me"], 
"users":[], 
"start":"2013-07-22 10:58:16 +0300", 
"state_timestamp":1374479896} 

और अंत में, लॉग, निगरानी और नैदानिक ​​बारे में कुछ शब्द। यह वर्तमान में सीएफ पाएएस स्तर पर लागू नहीं किया गया है, हालांकि मुझे आशा है कि यह लागू किया जाएगा (क्योंकि यह वास्तव में उपयोगी सुविधा है) और शायद कुछ नए एनवी। चर (VCAP_LOGS, VCAP_PERFORMANCE_COUNTERS कहें) हमारे ऐप्स के संपर्क में आ जाएंगे।

+1

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

+0

"जहां तक ​​मैं क्लाउड फाउंड्री को समझता हूं वास्तव में कोई विशिष्ट एपीआई नहीं है" - वास्तव में यह क्लाउड कंट्रोलर एपीआई (यहां http://docs.cloudfoundry.com/docs/reference/cc-api.html दस्तावेज किया गया है)। "लॉग, निगरानी और नैदानिक ​​के बारे में कुछ शब्द। वर्तमान में इसे सीएफ़ पीएएस स्तर पर लागू नहीं किया गया है" - इन सुविधाओं को लॉजिगेटर के माध्यम से जोड़ा जा रहा है जो विकास में है। –

+1

ठीक है, जैसा कि मैंने प्रश्न में उल्लिखित एपीआई को समझ लिया था, वह पीएएस प्रबंधन एपीआई नहीं था (जिसका कारण है, सीएफ में लागू किया गया है और लिंक एंडी लिंक में वर्णित है), लेकिन तैनात आवेदन बिंदु से एपीआई (एपीआई जो तैनात ऐप द्वारा बुलाया जा सकता है)। ऐसी कोई एप्लिकेशन एपीआई नहीं है (मूल रूप से, जैसा कि मैं समझता हूं, क्योंकि बड़ी मात्रा में ढांचे के लिए समर्थन है)। अगर मैं गलत हूं कृपया मुझे सही। –

2

निश्चित रूप से CF सार्वजनिक और निजी बादलों के बीच में अपने app स्थानांतरित करने के लिए आप पोर्टेबिलिटी देने, अपने IaaS (सर्वर, भंडारण और नेटवर्किंग) और अपने आवेदन के बीच एक अमूर्त परत है, बल्कि यह भी बहुत अधिक है:

1 ।एक अत्यधिक क्षैतिज-स्केलेबल कंटेनर-आधारित प्लेटफ़ॉर्म

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

2. एक आत्म चिकित्सा

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

3. एक स्वच्छंद, बहुभाषी आवेदन क्रम

, Heroku का उपयोग करना "buildpack" का निर्माण, अनुप्रयोग भाषा स्वतः पता लगाए गए है और उचित क्रम ढेर एक वेनिला ओएस छवि के शीर्ष पर बनाया गया है की अनुमति देता है डेवलपर्स लेखन कोड पर ध्यान केंद्रित करने के लिए।

4. डेवलपर पर मांग स्टेटफुल डाटा सेवाओं के प्रावधान

डेवलपर्स स्वयं प्रावधान एक MySQL, RabbitMQ, Redis, आदि uri/पहचान के साथ क्लस्टर का एक टुकड़ा स्वचालित रूप से अपने एप्लिकेशन के वातावरण में इंजेक्ट किया जा सकता है।

संबंधित मुद्दे