"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > AWS सर्वरलेस आर्किटेक्चर पर PHP कैसे चलाएं? भाग सर्वर रहित क्या है?

AWS सर्वरलेस आर्किटेक्चर पर PHP कैसे चलाएं? भाग सर्वर रहित क्या है?

2024-11-04 को प्रकाशित
ब्राउज़ करें:297

लैम्ब्डा, AWS फ्लैगशिप सर्वर रहित सेवा, विभिन्न रनटाइम पर कोड चलाने की अनुमति देती है। हालाँकि PHP स्पष्ट रूप से आधिकारिक उत्पाद विवरण में नहीं है। क्या इसका मतलब यह है कि आप लैम्ब्डा पर PHP कोड नहीं चला सकते? नहीं, ऐसा नहीं है!

इस श्रृंखला में (एडब्ल्यूएस यूजर ग्रुप पोइटियर्स को मेरे द्वारा दी गई बातचीत से ली गई), हम चर्चा करेंगे कि सर्वर रहित क्या है और लैम्ब्डा पर चलने के लिए PHP (यदि वह आपकी पसंदीदा भाषा है) कैसे प्राप्त करें।

सर्वर रहित क्या है?

सर्वरलेस एक होस्टिंग प्रतिमान है जहां क्लाउड प्रदाता गतिशील रूप से ग्राहक के कार्यभार के लिए आवंटित संसाधनों को मापता है, जबकि न केवल भौतिक बुनियादी ढांचे (सर्वर, पावर कूलिंग) का प्रबंधन करता है बल्कि निष्पादन रनटाइम (पैचिंग, ..) तक भी प्रबंधन करता है।

How to run PHP on AWS ServerLess architecture ? Part  What

सख्त अर्थों में, प्रत्येक अनुरोध के लिए गणना आवंटित की जाती है, जिससे "स्केल-टू-ज़ीरो" मूल्य निर्धारण मॉडल तैयार होता है (कोई संसाधन घंटे के हिसाब से भुगतान नहीं किया जाता है, बल्कि केवल वास्तविक मांग के अनुपात में होता है), जबकि अंतर्निहित उच्च प्रदान करता है -उपलब्धता.

यह अन्य क्लाउड लाभों को जोड़ता है, मुख्य रूप से यह तथ्य कि सब कुछ एक एपीआई के साथ आता है, जिससे स्वचालन संभव हो जाता है।

इन लाभों का योग वस्तुतः मुफ्त सुविधा-शाखा अल्पकालिक वातावरण, डेवलपर उत्पादकता और लीड समय को बढ़ावा देना संभव बनाता है।

How to run PHP on AWS ServerLess architecture ? Part  What

सर्वर रहित केवल गणना के बारे में नहीं है!

सर्वर रहित पारिस्थितिकी तंत्र में बहुत सारे समाधान हैं। जब 2014 में सर्वर रहित कंप्यूट (लैम्ब्डा) सामने आया, तो प्रबंधित कतारें (एसक्यूएस) लगभग एक दशक तक और एस3 8 वर्षों तक मौजूद रहीं।

How to run PHP on AWS ServerLess architecture ? Part  What

ध्यान दें कि ऊपर की स्लाइड में, ऑरोरा सर्वरलेस की हमारी सख्त परिभाषा से मेल नहीं खाता है क्योंकि यह शून्य तक स्केल नहीं करता है (v1 को शून्य से स्केल किया गया है लेकिन फिर शुरू होने में कुछ मिनट लग सकते हैं, v2 के साथ आपको यह करना होगा) डेटाबेस को प्रश्नों को प्रस्तुत करने के लिए तैयार करने के लिए आपके लेखक और पाठक दोनों उदाहरणों पर कम से कम 0.5 एसीयू।

आपको केवल सर्वर रहित सेवाओं को शामिल करने वाले वेब एप्लिकेशन को होस्ट करने के लिए एक विशिष्ट आर्किटेक्चर नीचे मिलेगा। सीमित संख्या में उपयोगकर्ताओं के लिए ऐसे एप्लिकेशन को होस्ट करने की लागत $1/वर्ष से कम हो सकती है।

How to run PHP on AWS ServerLess architecture ? Part  What

क्या सर्वरलेस केवल माइक्रोसर्विसेज के लिए है?

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

How to run PHP on AWS ServerLess architecture ? Part  What

माइक्रोसर्विसेज के साथ आम चुनौती को हल करने के लिए सर्वर रहित विकल्प: ऑर्केस्ट्रेशन और कोरियोग्राफी

माइक्रोसर्विसेज आर्किटेक्चर एप्लिकेशन घटकों के बीच युग्मन को कम करना संभव बनाता है (विभिन्न भाषाओं का उपयोग करके, अतुल्यकालिक पैटर्न के माध्यम से, बुनियादी ढांचे-स्तरीय युग्मन को हटाकर स्केलेबिलिटी में सुधार करता है)।

हालाँकि, जब हमारे पास कई एकल-उद्देश्यीय कार्य होते हैं, तो व्यावसायिक तर्क को लागू करने के लिए कार्यों के बीच समन्वय की आवश्यकता हो सकती है। यह समन्वय दो मूलभूत पैटर्न का उपयोग करके कार्यान्वित किया जा सकता है।

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

लैम्ब्डा को जानना

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

लैम्ब्डा का उपयोग सिंक्रोनस इनवोकेशन (एपीआई गेटवे, एक एप्लिकेशन लोड बैलेंसर या लैम्ब्डा फ़ंक्शन यूआरएल के माध्यम से) या एसिंक्रोनस इनवोकैटन (या तो एडब्ल्यूएस-जनरेटेड या उपयोगकर्ता-जनित घटनाओं पर प्रतिक्रिया) के साथ किया जा सकता है।

जब आप लैम्ब्डा तैनात करते हैं तो आप चुनते हैं कि इसे चलाने के लिए कितनी मेमोरी की आवश्यकता है। आवंटित सीपीयू आनुपातिक है. फिर आप उपयोग किए गए मिलीसेकंड की संख्या के आधार पर भुगतान करते हैं। उदाहरण के लिए 128एमबी लैम्ब्डा की कीमत 1.7*10^-9$/ms है। अपना पहला डॉलर खर्च करने से पहले यह 164 घंटे की गणना है।

How to run PHP on AWS ServerLess architecture ? Part  What

और लैम्ब्डा स्केल। तेज़। किसी भी अन्य चीज़ की तुलना में बहुत तेज़. उच्च ट्रैफ़िक भिन्नता के कारण अब 429 (या 500 यदि आपका कार्यभार अच्छी तरह से सुरक्षित नहीं है) त्रुटियाँ नहीं होंगी।

How to run PHP on AWS ServerLess architecture ? Part  What

लैम्बडालिथ्स के साथ मुख्य चुनौती का समाधान: ठंड की शुरुआत

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

यदि कोल्ड स्टार्ट आपके एप्लिकेशन के लिए हानिकारक है (फिर से, यह शायद बेहतर है कि सभी ट्रैफ़िक धीमा हो या 429 पर पहुंच जाए), तो कुछ विकल्प हैं। AWS के पास लैम्ब्डा वार्मर का उपयोग करने या इसे संबोधित करने के लिए प्रावधानित समवर्ती सेटिंग सेट करने के बारे में एक अच्छा लेख है। इसके अलावा, जावा उपयोगकर्ताओं के लिए, लैम्ब्डा स्नैपस्टार्ट सुविधाएँ जेवीएम इनिट के बाद माइक्रोवीएम को स्नैपशॉट करके, अच्छा कोल्ड स्टार्ट प्रदर्शन प्रदान करना संभव बनाती हैं।

PHP समर्थन के बारे में क्या?

आधिकारिक उत्पाद FAQ में कहा गया है कि यह "मूल रूप से Java, Go, PowerShell, Node.js, C#, Python और Ruby कोड का समर्थन करता है, और एक रनटाइम एपीआई प्रदान करता है जो आपको अपने कार्यों को लिखने के लिए किसी भी अतिरिक्त प्रोग्रामिंग भाषा का उपयोग करने की अनुमति देता है।"

इस श्रृंखला के अगले ब्लॉग पोस्ट में, हम बताएंगे कि आप दो अलग-अलग फ्रेमवर्क, ब्रेफ और लैम्ब्डा वेब एडाप्टर का लाभ उठाकर लैम्ब्डा पर PHP कैसे चला सकते हैं, और उनमें से प्रत्येक द्वारा पेश की गई संभावनाओं की तुलना करें।

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/aws-builders/how-to-run-php-on-aws-serverless-architecture-part-1-whats-serverless-3j3m?1 यदि कोई उल्लंघन है , कृपया स्टडी_गोलंग @163.कॉमडिलीट से संपर्क करें
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3