2011-05-26 11 views
5

पर वेब साइट परिनियोजित करें वर्तमान में मैं विरासत एएसपीनेट वेब एप्लिकेशन के साथ काम करता हूं और आगे बढ़ने की आवश्यकताओं में से एक यह है कि यह विंडोज़ एज़ूर के लिए तैनाती योग्य है।एज़ूर और पारंपरिक आईआईएस

मैं जानना चाहता हूं कि एज़ूर और पारंपरिक आईआईएस वेब सर्वर दोनों पर तैनाती का प्रबंधन करना कितना मुश्किल होगा।

Azure को वेब आवेदकॉन प्रोजेक्ट के एक विशिष्ट अनुकूलित संस्करण की आवश्यकता होती है, यह अनुकूलित होने के बाद अनुकूलित आईआईएस इंस्टेंस में अनुकूलित वेब एप्लिकेशन को तैनात करना संभव है।

संपादित करें:

यह एक वेब साइट एक ASP.NET वेब अनुप्रयोग के बजाय है

अद्यतन (एक dll में सब कुछ संकलित):

अंत में होने के कारण एप्लिकेशन को एज़ूर में काम करने और अन्य क्लाउड सॉल्यूशंस की तुलना में एज़ूर की लागत में परिवर्तित करने में शामिल काम की मात्रा पारंपरिक क्लाउड होस्टेड वर्चुअल सर्वर के साथ जाने का निर्णय लिया गया था।

और वास्तव में अच्छे उत्तरों के लिए धन्यवाद।

उत्तर

8

चाहे आप अपने आवेदन को Azure पर तैनात कर सकते हैं या नहीं, यह इस बात पर निर्भर करता है कि आपका एप्लिकेशन कैसा काम करता है। Azure बहुत अधिक आपके आवेदन स्टेटलेस होना आवश्यक है। यदि यह एक सादा वेनिला वेब एप्लिकेशन है जो सत्र या एप्लिकेशन कैश में डेटा संग्रहीत करता है और डेटा को केवल डेटाबेस में सहेजता है, तो आप इसे Azure पर तैनात कर सकते हैं।

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

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

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

वेब साइट, वेब एप्लिकेशन, एमवीसी, वास्तव में कोई फर्क नहीं पड़ता है। वास्तव में .NET भी नहीं होना चाहिए। PHP या जावा हो सकता है या जो भी आप अपने वीएम पर रखना चाहते हैं। यह सब एक ही काम करेगा जहां तक ​​अज़ूर का संबंध है।

एमएस एक प्लेटफार्म-ए-ए-सर्विस (पास) समाधान के रूप में एज़ूर को धक्का देना पसंद करता है जहां उनके पास कई तरह की सेवाएं हैं और आप अपने मानक प्लेटफ़ॉर्म पर ऐप्स चलाते हैं, और विरोधाभास करते हैं कि अमेज़ॅन एडब्ल्यूएस के साथ जिसे वे इंफ्रास्ट्रक्चर कहते हैं -स-ए-सर्विस (आईएएस) जो "बस" वर्चुअल मशीन है। हालांकि, एमएस वास्तव में एडब्ल्यूएस के रूप में एक आईएएसएस समाधान जितना अधिक है, शायद इससे भी ज्यादा।एडब्ल्यूएस और एज़ूर के बीच एकमात्र अंतर एडब्ल्यूएस आपको अपने वीएम पर स्थापित करने के लिए चुनने की अनुमति देता है और एज़ूर के साथ आपको अपने वीएम के आधार के रूप में विंडोज सर्वर 2008 आर 2 का उपयोग करना होगा (लेकिन आप शीर्ष पर कस्टम सॉफ्टवेयर स्थापित करने के लिए वीएम छवि को कस्टमाइज़ कर सकते हैं खिड़कियों के)। Azure और AWS दोनों के साथ, मेजबान अतिरिक्त PaaS सेवाएं प्रदान करते हैं, जिन्हें आप डेटा संग्रहण और संदेश रूटिंग के लिए लाभ उठा सकते हैं। एडब्ल्यूएस वीडियो स्ट्रीमिंग जैसी कई अतिरिक्त सेवाएं भी प्रदान करता है।

यह भी ध्यान रखें कि Azure (और AWS मुझे लगता है) के साथ आप गैर-होस्टेड एप्लिकेशन में भी प्रदान की जाने वाली सेवाओं का उपयोग कर सकते हैं। यदि आप एक गैर-Azure एप्लिकेशन से Azure के डेटा संग्रहण का उपयोग करना चाहते हैं, तो आप ऐसा कर सकते हैं, यह डेटा प्राप्त करने/रखने के लिए केवल HTTP REST कॉल है। डेटासेंटर और आपके गैर-डेटासेंटर-होस्टेड एप्लिकेशन के बीच डेटा के अंदर/बाहर के लिए केवल एक ही अंतर जो निःशुल्क होगा यदि ऐप डेटासेंटर के अंदर भी था (केवल डेटा इन/आउट फ्री इन-डेटासेंटर है, आपके पास अभी भी स्टोरेज है और लेनदेन शुल्क)।

+0

धन्यवाद मुझे लगता है कि वास्तव में मेरे अधिकांश प्रश्नों में से एक है। और हाँ हम फाइल सिस्टम का उपयोग करते हैं, इसलिए हमें फ़ाइल सिस्टम एक्सेस के लिए एक इंटरफ़ेस परत की आवश्यकता होगी जो एक बार जब मैं समझता हूं कि वेब रोल सामग्री कैसे काम करती है तो सबसे अधिक काम की तरह दिखता है। – eaglestorm

4

कुछ बातें:

  • शमूएल Neff का जवाब एक ब्लॉब में एक फाइल सिस्टम बढ़ते उल्लेख किया (एक बादल ड्राइव)। केवल एक उदाहरण इस क्लाउड ड्राइव को लिखने के लिए लॉक कर सकता है, इसलिए यह नेटवर्क फ़ाइल शेयर की तरह व्यवहार नहीं करता है। आपको इसके लिए योजना बनाने की आवश्यकता होगी।
  • आपको अपने ऐप के रन स्टेटस (जैसे प्रदर्शन काउंटर, ट्रेस लॉग इत्यादि) में दृश्यता प्राप्त करने के लिए, विंडोज एज़ूर डायग्नोस्टिक सबसिस्टम के साथ एकीकृत करने की आवश्यकता होगी।
  • यदि तृतीय पक्ष ऐप्स हैं जो आपका वेब ऐप निर्भर करता है, तो आपको इन्हें इंस्टॉल करना होगा। ये वास्तव में रोल इंस्टेंस की बूट प्रक्रिया के हिस्से के रूप में स्थापित होते हैं, या तो आपके ऑनस्टार्ट() ईवेंट हैंडलर या startup task के माध्यम से। उत्तरार्द्ध व्यवस्थापक स्तर के संस्थापन के लिए अनुमति देता है (रजिस्ट्री परिवर्तन, COM घटक प्रतिष्ठान, आदि सहित)। उदाहरण के बूट समय को प्रभावित करने के लिए आपको इन इंस्टॉलेशन को सावधानी से प्रबंधित करने की आवश्यकता होगी।
  • एएसपीनेट ऐप के लिए, आपको सत्र स्थिति के बारे में सोचना होगा। इन-प्रो सत्र सत्र काम नहीं करेगा, क्योंकि प्रत्येक इंस्टेंस में स्मृति में अपना स्वयं का राज्य स्टोर होगा। एसक्यूएल एज़ूर सत्र राज्य प्रदाता में पृष्ठभूमि क्लीनअप एजेंट नहीं हैं, इसलिए आपको इसे अपने वेब या कार्यकर्ता भूमिका के उदाहरण में बनाना होगा (कार्यान्वयन के लिए SQL Azure टीम द्वारा this blog post देखें)। सबसे अच्छा विकल्प ऐपफैब्रिक कैश का उपयोग करना है, जो एक नई सेवा है जो अभी उत्पादन में आई है। यह कैश-ए-ए-सर्विस एएसपीनेट के लिए कस्टम सत्र स्टेट प्रदाता भी प्रदान करता है। नोट: आज तक, ऐपफ़ैब्रिक कैश सेवा केवल .NET इंटरफ़ेस के माध्यम से पहुंच योग्य है; इसके लिए कोई आरईएसटी इंटरफ़ेस नहीं है (अन्य सभी स्टोरेज सेवाएं - टेबल, ब्लॉब्स, कतार - REST interface है)। .NET, Java, और PHP सभी में स्टोरेज क्लाइंट लाइब्रेरीज़ हैं। रूबी ओपन सोर्स समुदाय में से एक है।
  • आवश्यकता होने पर आपको एक से अधिक उदाहरणों के लिए स्केलिंग का प्रबंधन करना होगा। यह आज एक अंतर्निर्मित सेवा नहीं है, लेकिन तीसरे पक्ष की सेवाएं हैं जैसे पैरालीप के AzureWatch। माइक्रोसॉफ्ट के सिस्टम सेंटर ऑपरेशंस मैनेजर भी हैं, जिनमें अब विंडोज़ एज़ूर निगरानी का समर्थन है। आपको स्केल-बैक स्थितियों को संभालने की भी आवश्यकता होगी, जहां आप सर्वर के उदाहरणों की संख्या को कम करते हैं।

मेरे पास एक समान स्टैक ओवरफ्लो प्रश्न, here के उत्तर में कुछ अतिरिक्त विवरण हैं।

+0

धन्यवाद, अभी तक ईमेल करने के बारे में सोचा नहीं था इसलिए इसे todo सूची में जोड़ना होगा।इसके अलावा लिखना लॉकिंग एक समस्या हो सकती है क्योंकि हमारे पास एक वेब भूमिका होगी और एक ही एज़ूर ड्राइव – eaglestorm

0

मैंने Windows Azure Migration Scanner व्यक्तिगत रूप से प्रयास नहीं किया है, लेकिन यदि यह विज्ञापित के रूप में काम करता है, तो यह वास्तव में काम में आ जाएगा।

+0

का आकलन करने वाला कार्यकर्ता भूमिका टूट जाएगी। – RichVel

+0

हां यह नीचे है और मुझे इसके ठिकाने के बारे में कोई जानकारी नहीं मिली। – Chandermani

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