यह लेख उन संगठनों के लिए Google क्लाउड विकल्पों का परिचय देता है जो दो-स्तरीय वेब एप्लिकेशन को क्लाउड पर ले जाने का आंतरिक मूल्यांकन कर रहे हैं ## आवेदन प्रकार टू-टियर वेब एप्लिकेशन में एक एप्लिकेशन चलाने वाला वेब सर्वर और एप्लिकेशन डेटा स्टोर करने के लिए एक डेटाबेस होता है। Linux, Apache, MySQL, और PHPâÃÂà को चलाना, जिसे आमतौर पर LAMP स्टैक के रूप में संदर्भित किया जाता है, दो-स्तरीय वेब एप्लिकेशन का एक सामान्य उदाहरण है। Linux वितरण, वेब सर्वर सॉफ़्टवेयर, डेटाबेस, या प्रोग्रामिंग भाषा में बदलाव किसी भी माइग्रेशन के तकनीकी विवरण को प्रभावित करते हैं, लेकिन माइग्रेशन ओवरव्यू और चरण संगत होते हैं ## प्रवासन चरण क्लाउड माइग्रेशन निम्नलिखित चार चरणों में होता है आकलन अपने वर्कलोड की सभी विशेषताओं को पहचानें, अपने वर्कलोड को क्लाउड में चलाने के लिए आवश्यक संसाधनों की सूची बनाएं, और अन्य वर्कलोड के लिए सभी प्रमुख निर्भरताओं और कनेक्शनों को कॉल करें। विशेषताओं की पूरी सूची का उपयोग करके, आप तब योजना बनाना शुरू कर सकते हैं कि कौन से एप्लिकेशन और वर्कलोड को स्थानांतरित करना चाहिए और किस क्रम में आधुनिक उद्यमों में, ग्राहक-सामना करने वाले ऐप से लेकर बैक ऑफिस ऐप, डेवलपर टूल से लेकर प्रायोगिक एप्लिकेशन तक कई अलग-अलग तरह के एप्लिकेशन हैं। इन सभी अनुप्रयोगों को एक ही समय में और उसी तरह से स्थानांतरित करना जोखिम भरा और अक्षम होगा एक उदाहरण अनुप्रयोगों को निम्नलिखित तीन व्यापक बकेट में क्रमबद्ध करना होगा: - एप्लिकेशन जिन्हें स्थानांतरित करना आसान है। इनमें कम निर्भरताएं हैं, नए हैं, आंतरिक रूप से लिखे गए हैं, इसलिए लाइसेंस संबंधी कोई विचार नहीं है, और क्लाउड डिज़ाइन पैटर्न के स्केलिंग और समर्थन के लिए अधिक सहिष्णु हैं - एप्लिकेशन जिन्हें स्थानांतरित करना मुश्किल है। इनमें अधिक निर्भरताएँ होती हैं, स्केलिंग के प्रति कम सहिष्णु होते हैं, क्लाउड सेवाओं के साथ चलना मुश्किल होता है, या जटिल लाइसेंस आवश्यकताएँ होती हैं - ऐसे एप्लिकेशन जिन्हें स्थानांतरित नहीं किया जा सकता है। कुछ एप्लिकेशन जो माइग्रेट करने के लिए अच्छे उम्मीदवार नहीं हो सकते हैं वे विशेष या पुराने हार्डवेयर पर चलते हैं, उनकी व्यावसायिक या नियामक आवश्यकताएं होती हैं जो उनके लिए आपके डेटा केंद्र में रहना आवश्यक बनाती हैं, या जटिल लाइसेंस आवश्यकताएं होती हैं जो कि नहीं होती हैं Âउन्हें क्लाउड पर जाने की अनुमति न दें ये अनुप्रयोगों को क्रमबद्ध करने के तरीकों के कुछ उदाहरण हैं। यह संभावना है कि आपके अनुप्रयोगों में कई और निर्णायक कारक हैं जिनका उपयोग आप सभी अनुप्रयोगों का प्राथमिकताकरण मैट्रिक्स बनाने के लिए कर सकते हैं। उस रैंकिंग से, आप स्थानांतरित करने के लिए अपना पहला आवेदन चुन सकते हैं, और अपनी Google क्लाउड नींव की योजना बनाना शुरू कर सकते हैं नींव नए क्लाउड वातावरण को तैनात करने के लिए वास्तुकार और विशिष्ट विवरण की योजना बनाएं। इसमे शामिल है: - क्लाउड आर्किटेक्चर और सुरक्षा मॉडल आपके वर्कलोड के लिए आधारभूत संरचना प्रदान करने के लिए अनुप्रयोगों के बीच सुरक्षित और विश्वसनीय संचार की अनुमति देने के लिए नेटवर्क संसाधन। इसके लिए आइडेंटिटी एंड एक्सेस मैनेजमेंट (IAM), वर्चुअल प्राइवेट क्लाउड (VPC) डिजाइन और बाहरी एक्सेस विधियों के लिए व्यापक योजना की आवश्यकता है अंतिम-राज्य प्रौद्योगिकी और उपकरण जिस पर आपका कार्यभार चलेगा निर्भरता प्रबंधन, समय-सीमा और डेटा स्थानांतरित करने के तरीकों के लिए लेखांकन प्रवास डेटा को स्थानांतरित करें और सेवाओं, बुनियादी ढांचे और कोड को अपने गंतव्य पर तैनात करें। इन परिचालनों का समर्थन करने के लिए आपको स्वचालन और टूलींग का उपयोग करना चाहिए अनुकूलन सत्यापित करें कि आपने मूल्यांकन और नींव चरणों में किए गए निर्णय और धारणाएं माइग्रेशन चरण के बाद वास्तविकता से मेल खाते हैं या नहीं। आप किसी भी बदलाव की पहचान कर सकते हैं जिसकी आपको आवश्यकता हो सकती है। विचार करें कि अन्य क्लाउड-नेटिव विकल्पों का पता कैसे लगाया जाए, जैसे कि सेवा (IaaS) के रूप में बुनियादी ढांचे से सेवा (PaaS) के रूप में प्लेटफ़ॉर्म पर जाना, या प्रबंधित सेवा प्रस्तावों का लाभ उठाना। अनुकूलन चरण के परिणाम के आधार पर, आप परिवर्तनों या संशोधनों को संबोधित करने के लिए फिर से चक्र शुरू कर सकते हैं। मूल्यांकन चरण में हमेशा वापस शुरू करें और प्रत्येक पुनरावृत्ति के साथ अधिक कुशल बनने के लिए अपने अनुभव का उपयोग करें ## पलायन के प्रकार एप्लिकेशन को क्लाउड पर ले जाने के लिए तीन सबसे आम माइग्रेशन रणनीतियों का वर्णन निम्नलिखित अनुभागों में किया गया है लिफ्ट और शिफ्ट उपयोग *लिफ्ट और शिफ्ट* जब आप इस रूप में बदलते समय एप्लिकेशन को स्थानांतरित करना चाहते हैं जितना संभव हो उतना कम कि वे कैसे काम करते हैं। यह उन अनुप्रयोगों के लिए सबसे अच्छा काम करता है जो क्लाउड के भीतर असंशोधित चल सकता है, जब एप्लिकेशन को तेज़ी से ले जाना एक है प्राथमिकता, या जब व्यवसाय में कम भूख या परिवर्तन की आवश्यकता हो। यह माइग्रेशन के लिए इंफ्रास्ट्रक्चर और ऑपरेशंस कर्मियों से अधिक काम करने की आवश्यकता होती है सेवा कहाँ चलेगी, और कम काम में मूलभूत परिवर्तनों का समर्थन करें डेवलपर्स से बहुत कम, यदि कोई हो, तो कोड को बदलने की आवश्यकता होनी चाहिए उदाहरण के लिए, यदि आपके वेब एप्लिकेशन के दोनों स्तरों को वीएम पर होस्ट किया गया है, तो आप माइग्रेट टू वर्चुअल मशीन का उपयोग करके उन्हें माइग्रेट कर सकते हैं। जब वे वीएम क्लाउड पर होते हैं, तब आप अतिरिक्त लाभों के लिए अधिक क्लाउड नेटिव कंप्यूट प्लेटफॉर्म पर अपग्रेड करने पर विचार कर सकते हैं सुधारो और आगे बढ़ो उपयोग जब आप अपने आवेदन को आधुनिक बनाना चाहते हैं तो *सुधारें और आगे बढ़ें* इसे क्लाउड में माइग्रेट करने की प्रक्रिया। यह आमतौर पर प्रयोग किया जाता है जब आवेदन क्लाउड में समर्थित नहीं है, या जब सॉफ़्टवेयर में प्रमुख अपडेट या हार्डवेयर पहले से ही कार्यक्षेत्र और नियोजित हैं। इस माइग्रेशन के लिए इंफ्रास्ट्रक्चर की जरूरत है, संचालन, और डेवलपर्स के कार्य को बेहतर बनाने के लिए एक साथ काम करने के लिए क्लाउड में एप्लिकेशन, और एप्लिकेशन को इसका लाभ उठाने की अनुमति देता है अधिक पोर्टेबिलिटी, स्केलेबिलिटी और विश्वसनीयता जैसे क्लाउड-नेटिव लाभ इस रणनीति की एक और भिन्नता एक गति में सुधार और आगे बढ़ना है। यदि आपके वेब एप्लिकेशन के दोनों स्तरों को VMs पर होस्ट किया गया है, तो आप उन VMs को स्वचालित रूप से स्थानांतरित करने और Google Kubernetes Engine (GKE) पर चलने वाले कंटेनरों में बदलने के लिए माइग्रेट टू कंटेनर का उपयोग कर सकते हैं। रिप करें और रिप्लेस करें उपयोग *रिप एंड रिप्लेस* जब आप क्लाउड में एक नया समाधान बनाना चाहते हैं, और अपने ऑन-प्रिमाइसेस समाधान के वर्तमान संस्करण को समाप्त करें। यह आमतौर पर प्रयोग किया जाता है जब निम्नलिखित शर्तें लागू होती हैं: - मौजूदा एप्लिकेशन तकनीकी या आर्थिक रूप से क्लाउड में बनाए रखने के लायक नहीं है - क्लाउड में सॉफ़्टवेयर का लाइसेंस देना निषेधात्मक या अव्यावहारिक है - आवेदन व्यवसाय की जरूरतों को पूरी तरह से पूरा करना बंद कर देता है क्योंकि रिप और रिप्लेस के लिए किसी एप्लिकेशन को शुरू से ही फिर से लिखने की आवश्यकता होती है, यह इस माइग्रेशन गाइड में शामिल नहीं है ## आकलन चरण कोई भी माइग्रेशन शुरू करने से पहले, आपको अपने शुरुआती बिंदु की पूरी समझ होनी चाहिए कोई भी अनुत्तरित प्रश्न माइग्रेशन की सफलता के लिए जोखिम पैदा करता है। मूल्यांकन चरण में समय व्यतीत करने से एक सुचारू और असमान प्रवासन चरण सुनिश्चित करने में मदद मिलती है। अपने प्रवासन के समर्थन में अधिक से अधिक प्रासंगिक जानकारी प्राप्त करने के लिए जितना संभव हो उतना समय व्यतीत करें एप्लिकेशन सॉफ़्टवेयर स्टैक निम्नलिखित विवरणों की पहचान करने के लिए अपने बुनियादी ढांचे, संचालन और विकास टीमों के साथ काम करें: - ऑपरेटिंग सिस्टम: सटीक वितरण, संस्करण, पैच, स्थापित पैकेज - वेब सर्वर: सटीक सॉफ़्टवेयर पैकेज, संस्करण संख्या, पैकेज या अन्य सॉफ़्टवेयर संशोधन, और वेब सर्वर सॉफ़्टवेयर के लिए सभी कॉन्फ़िगरेशन फ़ाइलें और नियम - डेटाबेस: सटीक सॉफ़्टवेयर नाम, संस्करण, स्कीमा, प्रतिकृति रणनीति और बैकअप शेड्यूल - रनटाइम वातावरण: सभी बैकएंड और फ्रंटएंड वातावरणों के सटीक संस्करण सिस्टम हार्डवेयर संसाधन वेब सर्वर और डेटाबेस स्तरों के लिए, निम्नलिखित प्रश्नों के उत्तर दें: - अभी कितने सर्वर चल रहे हैं? - जनरेशन, आर्किटेक्चर प्रकार और स्पीड सहित CPU का कुल आवंटन क्या है? - प्रत्येक सर्वर को आवंटित RAM और डिस्क स्थान क्या हैं? क्या एचडीडी या एसएसडी उपयोग में हैं? RAID? - सीपीयू, रैम और डिस्क स्थान का वर्तमान उपयोग, औसत उपयोग और चरम उपयोग क्या है?अपने विशिष्ट व्यावसायिक उपयोग के संदर्भ में अपने औसत और शिखर को देखें।उदाहरण के लिए, ओलंपिक का समर्थन करने वाली कंपनी को यह देखने के लिए दो साल पीछे देखने की आवश्यकता हो सकती है कि वास्तविक शिखर कैसा दिखता है, जबकि अन्य अनुप्रयोगों में अधिक स्थिर रन रेट हो सकता है।औसत के लिए सबसे विशिष्ट उपयोग समयरेखा देखें, और शिखर के लिए आपकी सबसे भारी उपयोग समयरेखा।चक्रीय उपयोग पैटर्न भी देखें, जैसे सप्ताहांत, शाम और कार्यदिवस- डेटाबेस के लिए, कौन सा बैकअप, प्रतिकृति, या शार्डिंग रणनीति उपयोग में है, और कैसे करता है जो डिस्क स्थान आवश्यकताओं और आवश्यक सर्वरों की संख्या को प्रभावित करता है?नेटवर्क संसाधननेटवर्क आर्किटेक्चर का विश्लेषण करें जो आपके एप्लिकेशन को कार्य करने की अनुमति देता है।सुनिश्चित करें कि आपके पास आपके आवेदन का समर्थन करने वाले बुनियादी ढांचे के सटीक और अद्यतित तार्किक और भौतिक नेटवर्क टोपोलॉजी आरेख हैं।आरेखों में स्पष्ट रूप से सभी कनेक्शन, निर्भरताओं और नेटवर्क सेवाओं की रूपरेखा होनी चाहिएनिम्नलिखित प्रश्नों के उत्तर दें:- ग्राहक आपके एप्लिकेशन तक कैसे पहुंचते हैं?एक वेब ब्राउज़र के माध्यम से?सीधे एक आईपी पते के माध्यम से?एक मोबाइल ऐप के माध्यम से?वर्चुअल प्राइवेट नेटवर्क कनेक्शन का उपयोग कर रहे हैं?- क्या आपके पास सभी लागू एसएसएल/टीएलएस प्रमाणपत्रों और एन्क्रिप्शन कुंजियों की सूची है?- सभी लागू एसएसएल/टीएलएस प्रमाणपत्र कहां होस्ट किए जाते हैं?वे कब समाप्त होते हैं?आप प्रमाणपत्रों का नवीनीकरण कैसे करते हैं?आप नए प्रमाणपत्र कैसे प्राप्त करते हैं?क्या आपके पास सभी मौजूदा प्रमाणपत्रों तक पहुंच है?- क्या आपके पास एप्लिकेशन का समर्थन करने वाले सभी लागू डोमेन की सूची है?- ये डोमेन कहां होस्ट किए जाते हैं?वे कब समाप्त होते हैं?आप उन्हें कैसे नवीनीकृत करते हैं?क्या आपके पास उन खातों तक पहुंच है जो पंजीकरण को नियंत्रित करते हैं?- आपका DNS कहां होस्ट और नियंत्रित किया जाता है?- क्या आपके पास DNS को नियंत्रित करने वाले सभी सिस्टम और टूल तक पहुंच है?प्रत्येक डोमेन के लिए वर्तमान CNAME से IP मैपिंग क्या हैं, और क्या आपके पास बैकअप है?- आपकी DNS टाइम-टू-लाइव (TTL) सेटिंग क्या हैं?- आपके फायरवॉल और अन्य नेटवर्क एक्सेस और कंट्रोल डिवाइस आर्किटेक्चर में कहां फिट होते हैं?ट्रैफिक को अनुमति देने या अस्वीकार करने के लिए अब कौन से नियम हैं?कौन जिम्मेदार है, और उन नियमों को बदलने या अद्यतन करने की प्रक्रिया क्या है?- क्या आप किसी बाहरी नेटवर्क सेवा का उपयोग करते हैं?उदाहरण के लिए, एक सामग्री वितरण नेटवर्क (CDN) प्रदाता, या एक वितरित इनकार सेवा (DDoS) सुरक्षा सेवा?## फाउंडेशन चरणGoogle क्लाउड LAMP जैसे बहु-स्तरीय अनुप्रयोगों के लिए कंप्यूट और डेटाबेस वर्कलोड चलाने के लिए कई विकल्प प्रदान करता है।यह खंड उन विकल्पों का परिचय देता है और समझाता है कि आप एक को दूसरे के ऊपर क्यों चुन सकते हैंकंप्यूट-केंद्रित विकल्पकंप्यूट इंजनकंप्यूट इंजन एक IaaS है पेशकश जो आपको Google क्लाउड पर वर्चुअल मशीन (वीएम) चलाने की अनुमति देती है।आप वेब फ्रेमवर्क, सर्वर सॉफ्टवेयर, डेटाबेस और कोई भी अन्य सॉफ्टवेयर इंस्टॉल कर सकते हैं जिसे आपका ऑपरेटिंग सिस्टम सपोर्ट करता है।यदि आप अपना स्वयं का LAMP एप्लिकेशन नंगे धातु पर, VM पर, डेटा सेंटर में, या किसी अन्य क्लाउड प्रदाता पर चला रहे हैं, तो यह विकल्प आपके मौजूदा सर्वर को बारीकी से, यदि नहीं, तो बारीकी से दोहरा सकता है।यह विकल्प ऑपरेटिंग सिस्टम कॉन्फ़िगरेशन और वेब सर्वर सॉफ़्टवेयर सेटिंग्स पर सबसे बड़ा नियंत्रण प्रदान करता है।कंप्यूट इंजन मशीन के प्रकार, उदाहरण समूह, स्टोरेज विकल्प, लोड बैलेंसर्स और कई अन्य विवरणों पर गहन नियंत्रण की अनुमति देता है।अधिक क्विकस्टार्ट, ट्यूटोरियल, और अधिकअपने एप्लिकेशन को सीधे कंप्यूट इंजन में ले जाना सबसे आम लिफ्ट-एंड-शिफ्ट माइग्रेशन है।कंप्यूट इंजन के लिए ऑन-प्रिमाइसेस संसाधनों की मैपिंग पर मार्गदर्शन के लिए, वर्चुअल मशीनों को कंप्यूट इंजन में माइग्रेट करने के सर्वोत्तम अभ्यास देखेंक्लाउड परिनियोजन प्रबंधकGoogle क्लाउड मार्केटप्लेस भी परिनियोजन प्रबंधक के माध्यम से एक साधारण LAMP स्थापना प्रदान करता है।आप डेबियन लिनक्स, अपाचे, MySQL, PHP, और phpMyAdmin के साथ एक सर्वर लॉन्च कर सकते हैं जो पहले से ही एक डिफ़ॉल्ट सेटअप में स्थापित और कॉन्फ़िगर किया गया है।आपको कुछ ही मिनटों में MySQL इंस्टॉलेशन के लिए पूरी तरह से काम करने वाला वेब सर्वर और क्रेडेंशियल्स मिलते हैंGoogle Kubernetes EngineGKE एक प्रबंधित, उत्पादन-तैयार वातावरण है कंटेनरीकृत अनुप्रयोगों को तैनात करने के लिए।GKE का उपयोग करके आप अपने वेब सर्वर सॉफ़्टवेयर को कंटेनराइज़ करके एक ऑपरेटिंग सिस्टम का प्रबंधन करना बंद कर देते हैं।उदाहरण के लिए, Apache और NGINX वेब सर्वर हर सार्वजनिक कंटेनर रिपॉजिटरी से उपलब्ध हैं।यदि आप अपने वातावरण में कार्यभार चलाने के लिए कंटेनरों का उपयोग करते हैं, तो GKE एक समान परिनियोजन और परीक्षण कार्यप्रवाह को बनाए रखने के लिए एक कुशल सेवा है, जब आप अपने LAMP कार्यभार को Google क्लाउड में स्थानांतरित करते हैं।यदि आप कंटेनरों का उपयोग नहीं करते हैं, तो तेजी से तैनाती और पुनर्प्राप्ति, संसाधनों का उपयोग करने में अधिक दक्षता, और अंतर्निहित ऑपरेटिंग सिस्टम और VM का प्रबंधन न करने के लिए GKE की खोज करने पर विचार करेंके लिए बड़े पैमाने पर कंटेनर अनुप्रयोग प्रबंधन के बारे में अधिक जानकारी, त्वरित प्रारंभ, ट्यूटोरियल, अवधारणाओं, कैसे करें मार्गदर्शिकाओं और अन्य संसाधनों के लिए GKE दस्तावेज़ीकरण देखें ताकि आपको आरंभ करने में मदद मिल सकेअपने ऑन-प्रिमाइसेस LAMP एप्लिकेशन को स्थानांतरित करना जीकेई के लिए एक सुधार-और-स्थानांतरण है, जबकि एक स्व-प्रबंधित कंटेनर-आधारित बुनियादी ढांचे से स्थानांतरित करना एक जीवन-और-शिफ्ट प्रवासन हैऐप इंजनऐप इंजन है अत्यधिक मापनीय अनुप्रयोगों के निर्माण के लिए एक सर्वर रहित मंच।आपके द्वारा चलाए जा रहे एप्लिकेशन के प्रकार के आधार पर, ऐप इंजन सर्वर, कंटेनर या परिनियोजन को प्रबंधित करने की आवश्यकता को समाप्त कर सकता है, जिससे आपके डेवलपर्स कोड लिखने पर ध्यान केंद्रित कर सकते हैं और किसी भी अंतर्निहित बुनियादी ढांचे के प्रबंधन की जटिलता को कम कर सकते हैं।ऐप इंजन में जाने के लिए सभी वर्कलोड अच्छे उम्मीदवार नहीं हैं, लेकिन जो स्केलिंग की गति और लोड के तहत एप्लिकेशन की लचीलापन बढ़ाने के दौरान लागत और जटिलता में कमी देखते हैंऐप इंजन दो स्वादों में आता है: मानक वातावरण विभिन्न भाषाओं को कवर करता है (हमारे LAMP एप्लिकेशन के लिए PHP सहित), और लचीला वातावरण रनटाइम, प्रदर्शन और बुनियादी ढांचे के अधिक अनुकूलन की अनुमति देता है।अधिक जानने के लिए अपनी पसंद की भाषा के लिए दस्तावेज़ देखेंडेटाबेस विकल्प कंप्यूट इंजन पर स्व-प्रबंधित आप कंप्यूट इंजन इंस्टेंस पर MySQL, PostgreSQL, या किसी अन्य SQL-आधारित डेटाबेस को स्थापित कर सकते हैं। यह उसी स्तर का नियंत्रण प्रदान करता है जो आपके पास वर्कस्टेशन पर MySQL चलाते समय, डेटा सेंटर में सर्वर पर या किसी अन्य क्लाउड प्रदाता में VM के रूप में होता है। जब आप वीएम पर अपना डेटाबेस चलाते हैं, तो यह आपकी जिम्मेदारी है कि आप फेलओवर, प्रतिकृति, विभाजन और उच्च उपलब्धता को कॉन्फ़िगर, मॉनिटर और बनाए रखें। आप सीपीयू, रैम और डिस्क स्पेस को ध्यान में रखते हुए डेटाबेस को कम्प्यूट वर्कलोड के रूप में मान सकते हैं ताकि यह सुनिश्चित हो सके कि एप्लिकेशन को मज़बूती से चलाने के लिए पर्याप्त संसाधन हैं कंप्यूट वर्कलोड को कंप्यूट इंजन में ले जाने की तरह, यह दृष्टिकोण लिफ्ट-एंड-शिफ्ट माइग्रेशन का प्रतिनिधित्व करता है क्लाउड एसक्यूएल Cloud SQL पूरी तरह से प्रबंधित डेटाबेस सेवा है जो Google क्लाउड पर आपके डेटाबेस की स्थापना, सेटअप और रखरखाव को ऑफ़लोड करती है। यह बैकअप, प्रतिकृति, पैच और अपडेट को स्वचालित करता है, और आपको अपने एप्लिकेशन पर ध्यान केंद्रित करने देता है। क्लाउड SQL डेटाबेस का उपयोग Google की किसी भी कंप्यूट सेवाओं पर चल रहे वर्कलोड द्वारा किया जा सकता है, जिसमें कंप्यूट इंजन, GKE और ऐप इंजन शामिल हैं। जब तक आपको अपने MySQL डेटाबेस पर गहरे स्तर के नियंत्रण की आवश्यकता नहीं होती है, क्लाउड SQL एक आसान-से-सेट-अप और LAMP वर्कलोड चलाने के लिए पूरी तरह से फीचर्ड विकल्प है। Cloud SQL मूल रूप से MySQL और PostgreSQL को चला और सपोर्ट कर सकता है। यदि आप उन डेटाबेस में से किसी एक से Cloud SQL में माइग्रेट कर रहे हैं, तो यह एक लिफ्ट-एंड-शिफ्ट माइग्रेशन है। यदि आप प्रतिकृति, बैकअप रणनीति, या अपने बुनियादी ढांचे के प्रबंधन में सरलता के लिए नए तरीकों की खोज कर रहे हैं, तो यह एक बेहतर और स्थानांतरित माइग्रेशन हो सकता है अन्य भंडारण विकल्प क्लाउड स्टोरेज एक स्केलेबल, पूरी तरह से प्रबंधित, अत्यधिक विश्वसनीय और लागत-कुशल वस्तु या ब्लॉब स्टोर है, जो छवियों, स्थिर संपत्तियों और अन्य असंरचित डेटा को संग्रहीत करने के लिए आदर्श है। क्लाउड स्टोरेज का उपयोग एक स्थिर वेबसाइट को होस्ट करने के लिए किया जा सकता है लेकिन इसे सक्रिय डेटाबेस सामग्री को स्टोर करने के लिए डिज़ाइन नहीं किया गया है। यह बैकअप और डिजास्टर रिकवरी ऑब्जेक्ट्स और स्ट्रीमिंग के लिए उपयोग किए जाने वाले डेटा को स्टोर करने के लिए भी एक आदर्श स्थान है अपने माइग्रेशन के दौरान और बाद में अपने डेटाबेस के बैकअप को स्टोर करने के लिए क्लाउड स्टोरेज को एक स्थान के रूप में उपयोग करने पर विचार करें इस firestore फायरस्टोर पूरी तरह से प्रबंधित, सर्वर रहित, क्लाउड-देशी NoSQL दस्तावेज़ डेटाबेस है जो वैश्विक स्तर पर आपके मोबाइल, वेब और इंटरनेट ऑफ़ थिंग्स (IoT) अनुप्रयोगों के लिए डेटा को स्टोर करना, सिंक करना और क्वेरी करना आसान बनाता है। इसकी क्लाइंट लाइब्रेरी लाइव सिंक्रोनाइज़ेशन और ऑफ़लाइन समर्थन प्रदान करती है, जबकि इसकी सुरक्षा सुविधाएँ और फायरबेस और Google क्लाउड के साथ एकीकरण वास्तव में सर्वर रहित ऐप बनाने में तेजी लाते हैं। यदि आपके एप्लिकेशन में ऐसी सामग्री है जो नोएसक्यूएल प्रारूप से लाभ उठा सकती है, जैसे उपयोगकर्ता प्रोफाइल, उत्पाद कैटलॉग या गेम स्टेट, तो आपको अपने माइग्रेशन के अनुकूलन चरण में फायरस्टार का पता लगाना चाहिए। फायरबेस फायरबेस एक व्यापक मोबाइल डेवलपमेंट प्लेटफॉर्म है जिसमें स्टोरेज और डेटाबेस विकल्प शामिल हैं। यदि आपका एप्लिकेशन मोबाइल वर्कलोड का समर्थन करता है, तो आपके अनुकूलन चरण में फायरबेस प्लेटफॉर्म पर विचार किया जाना चाहिए क्लाउड स्पैनर स्पैनर एक उद्यम-ग्रेड, विश्व स्तर पर वितरित, और क्लाउड के लिए निर्मित दृढ़ता से सुसंगत डेटाबेस सेवा है। यह गैर-संबंधपरक डेटाबेस की क्षैतिज मापनीयता के साथ संबंधपरक डेटाबेस संरचनाओं के लाभों को जोड़ता है। यदि आपका एप्लिकेशन उन्नत प्रबंधनीयता, मापनीयता और मजबूत स्थिरता वाले लेन-देन से लाभान्वित हो सकता है, तो अपने अनुकूलन चरण में अपने डेटाबेस को स्पैनर में माइग्रेट करने पर विचार करें। Google क्लाउड विभिन्न प्रकार के वर्कलोड का समर्थन करने के लिए कई अन्य संग्रहण विकल्प प्रदान करता है ## प्रवासन चरण जब आप अपना आकलन पूरा कर लें और अपने माइग्रेशन की योजना बना लें, तो आप डेटा, सेवाओं और संसाधनों को Google क्लाउड पर ले जाने का काम शुरू कर सकते हैं। प्रत्येक एप्लिकेशन की अपनी आवश्यकताएं होती हैं। इस चरण में क्या शामिल है, यह प्रदर्शित करने में सहायता के लिए यह खंड कुछ उदाहरणों के माध्यम से चलता है लिफ्ट और शिफ्ट: कंप्यूट इंजन अपने लिफ्ट-एंड-शिफ्ट माइग्रेशन को शुरू करने के लिए पहला कदम कंप्यूट इंजन में एक संगत बहु-स्तरीय सेवा स्थापित करना है। जबकि इसके कई तरीके हैं; निम्नलिखित तीन सबसे आम हैं: - स्वतः व्यवस्था। अपने इच्छित ऑपरेटिंग सिस्टम के साथ एक वीएम लॉन्च करें, फिर रिपॉजिटरी को मैन्युअल रूप से अपडेट करें, सॉफ़्टवेयर को स्थापित और कॉन्फ़िगर करें, और डेटाबेस और रनटाइम वातावरण को मैन्युअल रूप से प्रावधान और कॉन्फ़िगर करें। यह दृष्टिकोण उच्च स्तर का नियंत्रण प्रदान करता है, लेकिन अधिक समय लेता है, अधिक त्रुटि प्रवण होता है, और अन्य तरीकों की तुलना में कम प्रतिलिपि प्रस्तुत करने योग्य होता है - स्वचालित। ऑन-प्रिमाइसेस से वीएम के स्टैक (एक निर्दिष्ट क्रम में) को सही आकार में माइग्रेट करने के लिए वीएम में माइग्रेट करें, स्वचालित रूप से प्रावधानित, और कंप्यूट इंजन में कॉन्फ़िगर किए गए वीएम का उपयोग करें - क्लाउड मार्केटप्लेस। अपने Google क्लाउड प्रोजेक्ट में पूर्व-कॉन्फ़िगर LAMP स्टैक लॉन्च करें। यह सुनिश्चित करना सुनिश्चित करें कि प्रदान किया गया ऑपरेटिंग सिस्टम और सॉफ़्टवेयर संस्करण आपके एप्लिकेशन के साथ काम करेंगे। अधिक जानने के लिए क्लाउड मार्केटप्लेस दस्तावेज़ देखें - स्वचालित परिनियोजन। निरंतर एकीकरण / निरंतर परिनियोजन अवधारणाओं और विभिन्न प्रकार के कॉन्फ़िगरेशन प्रबंधन टूल (शेफ, कठपुतली, Ansible, नमक), कोड टूल (परिनियोजन प्रबंधक, टेराफॉर्म), और ऑटोमेशन फ्रेमवर्क (क्लाउड बिल्ड) के रूप में बुनियादी ढांचे का उपयोग करके उत्पादन-तैयार वीएम बनाएं। स्वचालित परिनियोजन वीएम और सॉफ़्टवेयर को परिनियोजित करने के लिए परीक्षण योग्य, दोहराने योग्य और स्वचालित विधियों की अनुमति देता है जो आपके एप्लिकेशन और शासन की आवश्यकताओं को पूरा करते हैं सुधारें और स्थानांतरित करें: GKE और Cloud SQLकिसी प्रबंधित कंटेनर समाधान पर जाने के लिए, आपको पहले अपने क्लस्टर और प्रबंधित SQL समाधान के लिए नींव स्थापित करनी होगीGKE क्लस्टर लॉन्च करनाGKE पर एक क्लस्टर बनाना और उस क्लस्टर को प्रबंधित करना पहला चरण है।अपने प्रारंभिक क्लस्टर को आकार देने और उचित रूप से कॉन्फ़िगर करने के लिए अपने मूल्यांकन और नींव चरणों से जानकारी का उपयोग करें और सुरक्षा को सख्त करने वाली सर्वोत्तम प्रथाओं को लागू करने के लिएक्लाउड एसक्यूएल के लिए विकल्प लॉन्च करेंका उपयोग करना आपके मूल्यांकन और नींव के चरणों में प्राप्त डेटाबेस जानकारी, एक नया क्लाउड एसक्यूएल उदाहरण बनाएं, और अपने आवेदन के लिए डेटाबेस बनाने के लिए अन्य कैसे-कैसे गाइड का पालन करें।Google Cloud SQL सर्वोत्तम अभ्यासों की एक सूची प्रदान करता है, उच्च उपलब्धता स्थापित करने के लिए मार्गदर्शिकाएँ, और क्षैतिज स्केलिंग के लिए अन्य ट्यूटोरियल प्रदान करता है।Google Kubernetes Engine से Cloud SQL से जुड़ने के विकल्पों का अन्वेषण करें और वह विकल्प चुनें जो आपके एप्लिकेशन और अनुभव स्तर के लिए मायने रखता हैसर्वर रहित सुधार और स्थानांतरित करें: ऐप इंजन और क्लाउड SQLयदि आप अपने LAMP एप्लिकेशन को सर्वर रहित फ्रेमवर्क में माइग्रेट करने का निर्णय लेते हैं, तो आपको ऐप इंजन का समर्थन करने के लिए अपने एप्लिकेशन को संशोधित करने की आवश्यकता हो सकती है।हर एप्लिकेशन अलग है, और कई रणनीतियां हैं।निम्नलिखित की समीक्षा करके शुरू करें:- ऐप इंजन पर माइक्रोसर्विस आर्किटेक्चर का अवलोकन करें- देव, टेस्ट, क्यूए, स्टेजिंग बनाने और नाम देने का तरीका समझें , और ऐप इंजन में माइक्रोसर्विसेज के साथ उत्पादन वातावरण- माइक्रोसर्विसेज के बीच संवाद करने के लिए एपीआई डिजाइन करने के सर्वोत्तम अभ्यास सीखें- माइक्रोसेवा प्रदर्शन के लिए सर्वोत्तम अभ्यास सीखेंआपके संगठनात्मक और व्यक्तिगत अनुभव और सर्वर रहित कोड चलाने के साथ परिचित होने के आधार पर, सर्वर रहित सुधार और स्थानांतरित करने की रणनीति में लिफ्ट-एंड-शिफ्ट विकल्पों की तुलना में काफी अधिक समय लग सकता है।हालाँकि, आपके लिए सर्वर रहित सर्वश्रेष्ठ लाना आपके संगठन के लिए एक बड़ी संपत्ति हो सकती है## अनुकूलन चरणआपका एप्लिकेशन Google क्लाउड पर चलने के बाद, आप पिछले तीन चरणों से अपनी धारणाओं और निर्णयों को मान्य कर सकते हैं।पूर्ण माइग्रेशन में लंबा समय लग सकता है और पूरी प्रक्रिया के दौरान कई विवरण बदल सकते हैं।अनुकूलन कई क्षेत्रों को कवर करता है, लेकिन यहां कुछ सामान्य श्रेणियां हैंलागत अनुकूलनऑन-प्रिमाइसेस से क्लाउड पर जाने से आपके एप्लिकेशन पर पैसे खर्च करने का तरीका बदल जाता है , सेवाएं और बुनियादी ढांचा।आप किसी पुरानी ऑन-प्रिमाइसेस सेवा का मूल्यांकन पूरा कर सकते हैं और माइग्रेशन के बाद पता लगा सकते हैं कि आधुनिक हार्डवेयर, तेज मेमोरी और नए CPU आर्किटेक्चर इसे अधिक कुशलता से चलाते हैं।इसका मतलब यह हो सकता है कि आपके वीएम जरूरत से ज्यादा प्रोविजन किए गए हैं और पैसे बर्बाद कर रहे हैंआप कंप्यूट इंजन पर प्रीमेप्टिबल वीएम इंस्टेंसेस का उपयोग करके जांच कर सकते हैं।शायद आपको उतने लोड बैलेंसर्स की जरूरत नहीं थी जितना आपने सोचा था, या आप इस कदम में अपने डेटाबेस को साफ करने में कामयाब रहे और अब आपके पास जगह है जिसका आप उपयोग नहीं कर रहे हैं।क्लाउड में पैसे बचाने और परिचालन लागत कम करने के तरीके ढूंढना एक पूर्णकालिक काम बन सकता है जो खुद के लिए भुगतान करता है।Google क्लाउड में कई लागत प्रबंधन उपकरण हैं जो क्लाउड मूल्य निर्धारण को समझने में आपकी सहायता कर सकते हैंऑटोमेशनक्लाउड में अपने कंप्यूट वर्कलोड को सही ढंग से स्वचालित करने से लागत बढ़ सकती हैबचत और दक्षता लाभपरिनियोजन प्रबंधकएक Google क्लाउड उत्पाद है जो आपको क्लाउड बनाने और प्रबंधित करने में मदद करने के लिए डिज़ाइन किया गया हैसंसाधनों को सरल टेम्पलेट्स का उपयोग करकेgcloudके साथ स्क्रिप्टिंग करना एक विकल्प है यदि आप अपने स्वयं के ऑटोमेशन लिखना पसंद करते हैं।जबकि वित्तीयलाभ स्वचालन के साथ आते हैं, अन्य लाभों में निम्नलिखित शामिल हैं:- त्रुटि दर कम करने के लिए मानक और दोहराने योग्य प्रक्रियाएं- श्रव्य ट्रैकिंग अनुपालन और शासन के लिए- आपका एप्लिकेशन कैसे काम करता है, यह कैसे टूटता है, और इसे कैसे ठीक किया जाए, इसकी बेहतर समझस्वचालन चेतावनी और मानव प्रतिक्रिया समय पर निर्भरता को कम करके अपटाइम बढ़ाता है, कार्यप्रवाह का दस्तावेजीकरण करके तकनीकी ऋण को कम करता है, और आपके इंजीनियरों को बेहतर उत्पादों, उपकरणों और सेवाओं के निर्माण पर रोशनी कम रखने और अधिक ध्यान केंद्रित करने देता है।ये अवधारणाएं साइट रिलायबिलिटी इंजीनियरिंग (एसआरई) के मूल में हैं।Google क्लाउड साइट रिलायबिलिटी इंजीनियरिंग पर मुफ़्त-पढ़ने-में-ऑनलाइन पुस्तक के साथ-साथ व्यावहारिक उदाहरण और केस स्टडी प्रदान करने वाली एक SRE कार्यपुस्तिका प्रदान करता हैअपने बुनियादी ढाँचे और कोड को अलग करनाएप्लिकेशन बढ़ने पर आप सेवाओं को कई बार घटाते हैं।कनेक्टेड सेवाओं को अलग करना, और उन्हें स्वतंत्र रूप से स्केल करने का तरीका जानना, आपके एप्लिकेशन की उपलब्धता और विश्वसनीयता में सुधार करता है।इस प्रक्रिया के आम तौर पर तीन चरण होते हैं:- इंफ्रास्ट्रक्चर को हर जगह कोड (IaC) के रूप में लागू करें।IaC और कॉन्फ़िगरेशन प्रबंधन प्रक्रियाओं को लागू करके, आप अपने संपूर्ण बुनियादी ढांचे के प्रावधान और कॉन्फ़िगरेशन के लिए पता लगाने योग्य, ऑडिट करने योग्य और प्रतिलिपि प्रस्तुत करने योग्य बिल्डिंग ब्लॉक प्राप्त करते हैं- अपनी मौजूदा सेवाओं को माइक्रोसर्विसेज में अलग करें।संदेश-उन्मुख मिडलवेयर का उपयोग करें, जैसे पब/उप, प्रत्येक माइक्रोसर्विस को अपना स्वयं का विफलता डोमेन होने की अनुमति देने के लिए- एक सेवा के रूप में बुनियादी ढांचे से एक सेवा के रूप में प्लेटफॉर्म पर सेवाओं को माइग्रेट करना शुरू करें , या सेवा के रूप में भी कार्य करता है या सेवा के रूप में सर्वर रहित।"मोनोलिथिक कोड और इंफ्रास्ट्रक्चर"से "IaaS स्पेक्ट्रम में कुशलता से चलने वाली डीकपल्ड माइक्रोसर्विसेज"तक की यात्रा एक मूल्यवान लक्ष्य है जिसमें समय, प्रयास और समर्पण लगेगाप्रदर्शन ट्यूनिंगप्रदर्शन ट्यूनिंग सिस्टम उपयोग और प्रतिक्रिया समय में महत्वपूर्ण लाभ प्राप्त कर सकता है।प्रत्येक वर्कलोड में प्रदर्शन ट्यूनिंग के लिए एक अलग विधि होती है, सॉफ़्टवेयर कॉन्फ़िगरेशन फ़ाइलों से लेकर ट्यूनिंग कर्नेल फ़्लैग तक।LAMP अनुप्रयोगों के लिए, प्रदर्शन ट्यूनिंग आमतौर पर तीन श्रेणियों में आती है:- क्लाउड, नेटवर्क और ऑपरेटिंग सिस्टम की ट्यूनिंग: - Google क्लाउड नेटवर्क के बेहतर प्रदर्शन के लिए 5 कदम आपको यह समझने में मदद कर सकते हैं कि Google क्लाउड नेटवर्किंग का अधिकतम लाभ कैसे उठाया जाए - Google मेघ में नेटवर्क प्रदर्शन के लिए टीसीपी अनुकूलन मदद कर सकता है यदि आपके पास विशिष्ट टीसीपी विलंबता आवश्यकताएं हैं - लगातार डिस्क और स्थानीय एसएसडी प्रदर्शन को अनुकूलित करने से आपको IOPS भारी वर्कलोड के लिए आर्किटेक्चरिंग के बारे में जानने में मदद मिल सकती है - अन्य Google क्लाउड एपीआई और सेवाओं के साथ बातचीत करते समय कंप्यूट इंजन पर प्रदर्शन में सुधार एपीआई एप्लिकेशन के प्रदर्शन में मदद कर सकता है - वेब सर्वर ट्यूनिंग: - अपाचे प्रदर्शन ट्यूनिंग और एनजीआईएनएक्स प्रदर्शन ट्यूनिंग, या "आपके वेब सर्वर प्रदर्शन ट्यूनिंग"के लिए एक सामान्य Google खोज आपको सही दिशा में ले जाएगी डेटाबेस ट्यूनिंग: ## आगे क्या होगा - कंप्यूट इंजन पर LAMP की स्थापना - एक LAMP स्टैक तैनात करें - कंप्यूट इंजन या GKE पर कंप्यूट वर्कलोड चलाने के बारे में अधिक जानें GKE को Cloud SQL से कनेक्ट करें वीएम में माइग्रेट करें और कंटेनर में माइग्रेट करें का अन्वेषण करें ऐप इंजन के साथ पूरी तरह से प्रबंधित सर्वर रहित प्लेटफॉर्म पर अत्यधिक स्केलेबल एप्लिकेशन बनाएं Google क्लाउड पर डेटाबेस विकल्पों के बारे में और जानें Google क्लाउड के बारे में संदर्भ आर्किटेक्चर, आरेख, ट्यूटोरियल और सर्वोत्तम अभ्यासों का अन्वेषण करें। हमारे क्लाउड आर्किटेक्चर सेंटर पर एक नज़र डालें।