web applications - क्लाउड फाउंड्री ने समझाया




web-applications service (3)

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

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

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


निश्चित रूप से सीएफ़ आपके आईएएएस (सर्वर, स्टोरेज और नेटवर्किंग) और आपके एप्लिकेशन के बीच एक अमूर्त परत है, जो आपको सार्वजनिक और निजी बादलों के बीच अपने ऐप को स्थानांतरित करने के लिए पोर्टेबिलिटी प्रदान करता है, लेकिन यह बहुत अधिक है:

1. एक अत्यधिक क्षैतिज-स्केलेबल कंटेनर-आधारित मंच

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

2. एक स्वयं-चिकित्सा मंच जो आपके आवेदन के लिए एचएएल के कई परत प्रदान करता है

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

3. एक राययुक्त, बहुभाषी आवेदन रन-टाइम

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

4. राज्यपूर्ण डेटा सेवाओं के डेवलपर पर डिमांड प्रावधानीकरण

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


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

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

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

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

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


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

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

इसके बदले में क्लाउड फाउंड्री 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 ) हमारे ऐप्स के लिए सामने VCAP_LOGS, VCAP_PERFORMANCE_COUNTERS