डेवऑप्स क्या है?
DevOps सॉफ्टवेयर डेवलपमेंट (Dev) और IT ऑपरेशंस (Ops) का एक संयोजन है। यह शब्द इन दो विषयों के संलयन से लिया गया है, जो संपूर्ण सॉफ्टवेयर विकास जीवनचक्र के लिए अधिक सहयोगात्मक और सुव्यवस्थित दृष्टिकोण की आवश्यकता पर बल देता है। DevOps केवल एक कार्यप्रणाली या उपकरणों का एक सेट नहीं है; यह एक संस्कृति और मानसिकता है जिसका उद्देश्य तेज़ और अधिक विश्वसनीय एप्लिकेशन डिलीवरी के लिए विकास और संचालन टीमों के बीच अंतर को पाटना है।
DevOps को अपनाने वाले संगठन बेहतर टीम संचार, सहयोग और सहयोग की सुविधा प्रदान कर सकते हैं। इसके परिणामस्वरूप तेजी से प्रोटोटाइपिंग, विकास, परीक्षण और उच्च गुणवत्ता वाले सॉफ़्टवेयर एप्लिकेशन और अपडेट की तैनाती होती है, जिससे अंतिम-उपयोगकर्ता अनुभव और उच्च संतुष्टि दर में सुधार होता है। वेब विकास के संदर्भ में, DevOps वेब अनुप्रयोगों की कुशल डिलीवरी सुनिश्चित करने के लिए ध्वनि प्रथाओं, सिद्धांतों और उपकरणों के संयोजन के माध्यम से निरंतर एकीकरण, निरंतर वितरण और निरंतर सुधार पर जोर देता है।
DevOps के सिद्धांत और व्यवहार
DevOps की स्थापना चार मुख्य सिद्धांतों पर की गई है, जिन्हें अक्सर CAMS (संस्कृति, स्वचालन, माप और साझाकरण) के रूप में जाना जाता है, जो DevOps पहल की सफलता को संचालित करते हैं:
- संस्कृति: DevOps संगठन में सांस्कृतिक बदलाव को प्रोत्साहित करता है, सिलोस को तोड़ता है और विकास और संचालन टीमों के बीच सहयोग को बढ़ावा देता है। यह साझा जिम्मेदारी एक दोष-मुक्त वातावरण को बढ़ावा देती है जो सीखने और सुधार को प्रोत्साहित करती है।
- स्वचालन: DevOps का प्राथमिक लक्ष्य सॉफ़्टवेयर विकास जीवनचक्र में शामिल दोहराए जाने वाले कार्यों, जैसे निर्माण, परीक्षण और परिनियोजन प्रक्रियाओं को स्वचालित करना है। स्वचालन समय बचाने में मदद करता है, मानवीय त्रुटियों को कम करता है, और त्वरित फीडबैक लूप सक्षम करता है, जो निरंतर सुधार के लिए महत्वपूर्ण है।
- मापन: प्रमुख प्रदर्शन संकेतक (केपीआई) की निगरानी, लॉगिंग और माप प्रक्रियाओं की दक्षता और प्रभावशीलता में मूल्यवान अंतर्दृष्टि प्रदान करते हैं। यह डेटा-संचालित दृष्टिकोण संगठनों को सूचित निर्णय लेने, बाधाओं की पहचान करने और अपने वर्कफ़्लो को लगातार अनुकूलित करने में सक्षम बनाता है।
- साझा करना: DevOps वातावरण में टीमों के भीतर और पार ज्ञान, संसाधन और टूलसेट साझा करना आवश्यक है। खुला संचार और सहयोग यह सुनिश्चित करता है कि हर कोई लक्ष्यों, जिम्मेदारियों और प्रगति से अवगत हो, स्वामित्व और पारदर्शिता की संस्कृति को बढ़ावा दे।
इन सिद्धांतों के अलावा, कई लोकप्रिय DevOps प्रथाएं DevOps दृष्टिकोण के सफल कार्यान्वयन में योगदान करती हैं:
- सतत एकीकरण (सीआई): सीआई में एक साझा भंडार में कोड परिवर्तनों को नियमित रूप से एकीकृत करना शामिल है। स्वचालित निर्माण और परीक्षण प्रक्रियाओं के साथ, सीआई तेजी से प्रतिक्रिया सक्षम करता है और मर्जिंग कोड परिवर्तनों के जोखिम को कम करता है।
- सतत वितरण (सीडी): सीडी यह सुनिश्चित करती है कि सॉफ़्टवेयर परिवर्तन हमेशा रिलीज़ योग्य स्थिति में हों। यह सॉफ़्टवेयर अद्यतनों की रिलीज़ को स्वचालित करके, तेज़ और अधिक लगातार तैनाती को सक्षम करके सीआई का विस्तार करता है।
- सतत निगरानी: उच्च गुणवत्ता वाली सेवा वितरण को बनाए रखने के लिए एप्लिकेशन प्रदर्शन, बुनियादी ढांचे के स्वास्थ्य और उपयोगकर्ता अनुभव का अवलोकन और ट्रैकिंग महत्वपूर्ण है। निरंतर निगरानी से मुद्दों की शीघ्र पहचान करने में मदद मिलती है, जिससे सक्रिय समाधान होता है और सुचारू संचालन सुनिश्चित होता है।
- कोड के रूप में बुनियादी ढांचा (IaC): IaC कोड के माध्यम से बुनियादी ढांचे के प्रबंधन और प्रावधान करने, संस्करण नियंत्रण, स्वचालित तैनाती और तेजी से स्केलिंग को सक्षम करने का अभ्यास है। यह दृष्टिकोण बुनियादी ढांचे के प्रबंधन में स्थिरता, दोहराव और दक्षता हासिल करने में मदद करता है।
- माइक्रोसर्विसेज: माइक्रोसर्विसेज आर्किटेक्चर छोटे, शिथिल युग्मित और स्वतंत्र रूप से तैनात करने योग्य सेवाओं के संग्रह के रूप में अनुप्रयोगों को डिजाइन और विकसित करने की एक शैली है। DevOps संदर्भ में, माइक्रोसर्विसेज संपूर्ण एप्लिकेशन को प्रभावित किए बिना व्यक्तिगत घटकों के तेजी से विकास, परीक्षण और तैनाती को सक्षम करते हैं।
वेब विकास में DevOps की भूमिका
वेब अनुप्रयोगों की बढ़ती जटिलता और गतिशीलता गुणवत्ता से समझौता किए बिना तेजी से विकास और तैनाती चक्र की मांग करती है। वेब विकास में DevOps को अपनाने से सहयोग, स्वचालन में सुधार और पूरी प्रक्रिया को सुव्यवस्थित करके इस चुनौती का महत्वपूर्ण समाधान किया जा सकता है। यहां कुछ महत्वपूर्ण पहलू दिए गए हैं कि DevOps वेब विकास में कैसे योगदान देता है:
- विकास चक्र को छोटा करना: निरंतर एकीकरण और निरंतर डिलीवरी के साथ, DevOps नई सुविधाओं और अपडेट को रोल आउट करने के लिए आवश्यक समय को कम करते हुए, निर्माण, परीक्षण और तैनाती प्रक्रियाओं को स्वचालित करने में मदद करता है। तेज़ गति वाले वेब विकास उद्योग के साथ तालमेल रखते हुए, छोटे विकास चक्र उपयोगकर्ताओं को अधिक तेज़ी से मूल्य प्रदान करने में सक्षम बनाते हैं।
- उन्नत सहयोग: DevOps विकास और संचालन टीमों के बीच बाधाओं को तोड़ता है, खुले संचार और साझा उद्देश्यों को बढ़ावा देता है। यह संरेखण सहयोग की संस्कृति को बढ़ावा देता है, और साझा जिम्मेदारी वेब अनुप्रयोगों की गुणवत्ता और प्रदर्शन को बढ़ाती है।
- बढ़ी हुई दक्षता: स्वचालन DevOps की आधारशिला है, और वेब अनुप्रयोगों के निर्माण, परीक्षण और तैनाती जैसे दोहराए जाने वाले कार्यों को स्वचालित करके, डेवलपर्स और संचालन टीमों को मैन्युअल काम से राहत मिलती है। इससे उन्हें फीचर विकास, संवर्द्धन और अनुकूलन जैसी अधिक मूल्यवर्धित गतिविधियों पर ध्यान केंद्रित करने की अनुमति मिलती है।
- स्केलेबिलिटी और लचीलापन: इंफ्रास्ट्रक्चर एज़ कोड (IaC) और माइक्रोसर्विसेज आर्किटेक्चर के साथ, DevOps वेब एप्लिकेशन डेवलपमेंट में तेजी से स्केलिंग और लचीलेपन को सक्षम बनाता है। IaC बुनियादी ढांचे के संसाधनों के सुसंगत और स्वचालित प्रावधान की अनुमति देता है, और माइक्रोसर्विसेज पूरे एप्लिकेशन से स्वतंत्र रूप से व्यक्तिगत घटकों को स्केल करना आसान बनाता है।
विकास और संचालन टीमों को एक साथ लाकर और स्वचालन का लाभ उठाकर, DevOps वेब विकास प्रक्रिया को महत्वपूर्ण रूप से सुव्यवस्थित करता है, जिससे तेजी से समय-समय पर बाजार में पहुंचने और वेब अनुप्रयोगों के शानदार प्रदर्शन को सुनिश्चित किया जाता है।
वेब विकास के लिए DevOps के लाभ
वेब विकास प्रक्रिया में DevOps को लागू करने से निम्नलिखित सहित कई महत्वपूर्ण लाभ मिलते हैं:
- सतत एकीकरण और वितरण: DevOps निरंतर एकीकरण (CI) और निरंतर वितरण (CD) वर्कफ़्लो के कार्यान्वयन को प्रोत्साहित करता है। ये प्रथाएं सुनिश्चित करती हैं कि कोड अपडेट का नियमित रूप से परीक्षण, एकीकृत और तैनात किया जाता है, जिसके परिणामस्वरूप एक आसान विकास प्रक्रिया होती है। सीआई/सीडी के साथ, अपडेट और नई सुविधाओं को तैनात करने का समय काफी कम हो जाता है, जिससे वेब विकास की तेज गति वाली दुनिया में प्रतिस्पर्धात्मक बढ़त मिलती है।
- बढ़ी हुई विश्वसनीयता और स्केलेबिलिटी: DevOps कार्यप्रणाली और उपकरण विभिन्न प्रक्रियाओं, जैसे कोड परीक्षण, तैनाती और निगरानी को स्वचालित करके वेब अनुप्रयोगों की विश्वसनीयता और स्केलेबिलिटी में सुधार करते हैं। परिणामस्वरूप, समग्र सिस्टम स्थिरता बढ़ जाती है, और टीमें एप्लिकेशन प्रदर्शन से समझौता किए बिना बढ़े हुए ट्रैफ़िक और अन्य मांग वृद्धि को संभालने के लिए बेहतर ढंग से सुसज्जित होती हैं।
- उच्च गुणवत्ता वाला कोड और प्रदर्शन: DevOps के कार्यान्वयन के साथ, टीमें कोड गुणवत्ता और एप्लिकेशन प्रदर्शन को बेहतर ढंग से प्रबंधित कर सकती हैं। डेवलपर्स नियमित रूप से स्वचालित परीक्षण चलाकर और परिणामों के गंभीर होने से पहले उनका विश्लेषण करके समस्याओं की पहचान और समाधान कर सकते हैं। इससे समग्र सॉफ़्टवेयर गुणवत्ता में सुधार होता है और उपयोगकर्ताओं को बेहतर प्रदर्शन करने वाला वेब अनुभव प्रदान होता है।
- लागत में कमी: DevOps जीवनचक्र में विभिन्न प्रक्रियाओं को स्वचालित करने का अर्थ है कम मैन्युअल कार्य और कम मानवीय त्रुटि। इन ऑटोमेशन के कारण एप्लिकेशन की गुणवत्ता और प्रदर्शन में सुधार से व्यापक बग फिक्स और समर्थन की आवश्यकता कम हो सकती है। नतीजतन, विकास और परिचालन लागत दोनों कम हो जाती हैं, जिससे व्यवसायों को दीर्घकालिक वित्तीय लाभ होता है।
वेब विकास के लिए DevOps को अपनाने में आने वाली चुनौतियाँ
हालाँकि वेब विकास में DevOps कार्यप्रणाली को लागू करने के निर्विवाद लाभ हैं, लेकिन इन प्रथाओं को अपनाने का प्रयास करते समय संगठनों को अक्सर चुनौतियों का सामना करना पड़ता है। सबसे आम बाधाओं में से कुछ में शामिल हैं:
- सांस्कृतिक प्रतिरोध: DevOps मानसिकता में परिवर्तन में अक्सर गहराई से निहित संगठनात्मक संरचनाओं, भूमिकाओं और वर्कफ़्लो को बदलना शामिल होता है। परिणामस्वरूप, परिवर्तन के प्रति प्रतिरोध उन कर्मचारियों में उत्पन्न हो सकता है जो पारंपरिक विकास प्रक्रियाओं के साथ सहज हैं और नई कार्य पद्धतियों को अपनाने के लिए अनिच्छुक हैं।
- उपकरणों और प्रौद्योगिकियों का एकीकरण: DevOps को सफलतापूर्वक लागू करने के लिए, संगठनों को विभिन्न उपकरणों और प्रौद्योगिकियों को अपने मौजूदा वर्कफ़्लो में एकीकृत करना होगा। यह एक चुनौतीपूर्ण कार्य हो सकता है, क्योंकि नए समाधानों के सफल एकीकरण से पहले संगतता समस्याओं को हल करने की आवश्यकता हो सकती है।
- विशेषज्ञता और समझ की कमी: DevOps को अपनाने के लिए अक्सर नई प्रथाओं और उपकरणों में विशेषज्ञता की आवश्यकता होती है। DevOps सिद्धांतों को लागू करते समय टीम के सदस्यों के बीच समझ की कमी के कारण गलत संरेखण और अक्षमताएं हो सकती हैं। इसलिए, DevOps पद्धतियों को सुचारू रूप से अपनाने और निष्पादित करने को सुनिश्चित करने के लिए उचित प्रशिक्षण और शिक्षा आवश्यक हो जाती है।
- सफलता को मापना: DevOps का एक महत्वपूर्ण पहलू इसका निरंतर सुधार पर ध्यान केंद्रित करना है। हालाँकि, प्रमुख प्रदर्शन संकेतक (KPI) की पहचान करना और DevOps प्रथाओं के परिणामों को मापना चुनौतीपूर्ण हो सकता है। DevOps अपनाने के सकारात्मक प्रभाव को प्रदर्शित करने और आगे संवर्द्धन को आगे बढ़ाने के लिए टीमों को ट्रैक करने के लिए मेट्रिक्स का सही संतुलन ढूंढना होगा।
DevOps और No-Code आंदोलन: तुलना
नो-कोड आंदोलन और DevOps के कुछ सामान्य लक्ष्य हैं, जैसे एप्लिकेशन डिलीवरी में तेजी लाना और समग्र सॉफ़्टवेयर गुणवत्ता में सुधार करना। आइए उनके रिश्ते का पता लगाएं और वे एक-दूसरे के पूरक कैसे हैं:
- विकास प्रक्रिया का सरलीकरण: DevOps और नो-कोड प्लेटफ़ॉर्म दोनों का लक्ष्य एप्लिकेशन विकास प्रक्रिया को सरल और अधिक कुशल बनाना है। जबकि DevOps वर्कफ़्लो को सुव्यवस्थित करने और प्रक्रियाओं को स्वचालित करने पर ध्यान केंद्रित करता है, no-code प्लेटफ़ॉर्म उपयोगकर्ताओं को विज़ुअल टूल और पूर्व-निर्मित टेम्पलेट प्रदान करके कोड लिखे बिना एप्लिकेशन बनाने की अनुमति देता है।
- त्वरित डिलीवरी: सीआई/सीडी जैसी डेवऑप्स प्रथाएं तेजी से एप्लिकेशन डिलीवरी और अपडेट को बढ़ावा देती हैं, जिससे बाजार की मांगों पर त्वरित प्रतिक्रिया सुनिश्चित होती है। इसी तरह, no-code प्लेटफ़ॉर्म समय लेने वाले कोडिंग कार्य को समाप्त करके तेजी से ऐप विकास को सक्षम बनाता है। दोनों दृष्टिकोण बाजार में तेजी लाने में योगदान करते हैं, जिससे व्यवसायों को प्रतिस्पर्धात्मक लाभ मिलता है।
- पहुंच का विस्तार: No-code प्लेटफ़ॉर्म बिना कोडिंग अनुभव वाले लोगों को पूरी तरह कार्यात्मक एप्लिकेशन विकसित करने की अनुमति देता है, जिससे संभावित ऐप निर्माताओं के पूल का विस्तार होता है। हालाँकि DevOps सिद्धांतों को मुख्य रूप से विकास और संचालन टीमों द्वारा अपनाया जाता है, वे विभिन्न विशेषज्ञताओं में सहयोग और साझा ज्ञान को प्रोत्साहित करते हैं। नतीजतन, दोनों दृष्टिकोण ऐप विकास प्रक्रिया के भीतर संसाधनों और विशेषज्ञता की पहुंच को व्यापक बनाते हैं।
- नवाचार को सक्षम करना: DevOps और no-code प्लेटफ़ॉर्म त्वरित पुनरावृत्तियों और प्रयोग की अनुमति देकर नवाचार की सुविधा प्रदान करते हैं। टीमें तेजी से नए विचारों का परीक्षण कर सकती हैं, फीडबैक एकत्र कर सकती हैं और परिवर्तनों को शामिल कर सकती हैं, जिसके परिणामस्वरूप एप्लिकेशन विकास के लिए अधिक चुस्त और अनुकूली दृष्टिकोण प्राप्त होगा।
अपने मतभेदों के बावजूद, DevOps और no-code प्लेटफ़ॉर्म अधिक कुशल अनुप्रयोग विकास वातावरण बनाने के लिए सहयोग कर सकते हैं। उदाहरण के लिए, AppMaster.io, बैकएंड, वेब और मोबाइल एप्लिकेशन विकसित करने के लिए एक no-code प्लेटफ़ॉर्म है, जिसे DevOps वातावरण में मूल रूप से एकीकृत किया जा सकता है। स्रोत कोड, परीक्षण और तैनाती की पीढ़ी को स्वचालित करके, AppMaster.io DevOps पाइपलाइन में एक मूल्यवान उपकरण हो सकता है, जो यह सुनिश्चित करता है कि वेब विकास टीमों के पास त्वरित और उच्च गुणवत्ता वाले एप्लिकेशन डिलीवरी के लिए आवश्यक संसाधन हैं।
AppMaster.io DevOps परिवेश में कैसे फिट बैठता है
AppMaster.io एक शक्तिशाली no-code प्लेटफ़ॉर्म है जो बैकएंड, वेब और मोबाइल एप्लिकेशन के विकास को सरल बनाता है। यह DevOps वातावरण में अच्छी तरह से एकीकृत होता है, एप्लिकेशन विकास प्रक्रिया के कई पहलुओं को स्वचालित करता है, जैसे कोड निर्माण, परीक्षण और तैनाती। AppMaster.io को अपनी DevOps पाइपलाइन में जोड़कर, विकास टीमें दक्षता में सुधार कर सकती हैं, मैन्युअल कार्यों पर लगने वाले समय को कम कर सकती हैं और कम त्रुटियों के साथ उच्च गुणवत्ता वाले एप्लिकेशन बना सकती हैं।
यहां कई तरीके दिए गए हैं जिनसे AppMaster.io आपके मौजूदा DevOps वातावरण में फिट हो सकता है और उसे बढ़ा सकता है:
विज़ुअल एप्लिकेशन निर्माण और स्वचालन
AppMaster.io डेटा मॉडल , बिजनेस लॉजिक, REST API endpoints, वेबसॉकेट सर्विस एंडपॉइंट (WSS), और बैकएंड, वेब और मोबाइल एप्लिकेशन के लिए UI घटक बनाने के लिए विज़ुअल टूल प्रदान करता है। इसके सहज ज्ञान युक्त ड्रैग-एंड-ड्रॉप इंटरफ़ेस के साथ, उपयोगकर्ता एप्लिकेशन डिज़ाइन कर सकते हैं और कोड की एक भी पंक्ति लिखे बिना स्रोत कोड उत्पन्न कर सकते हैं। यह स्वचालन एप्लिकेशन विकास प्रक्रिया को सुव्यवस्थित करने में मदद करता है और नई सुविधाओं को बनाने और जारी करने में लगने वाले समय को कम करता है।
DevOps वर्कफ़्लो के साथ निर्बाध एकीकरण
AppMaster.io मौजूदा DevOps वर्कफ़्लोज़ के साथ अच्छी तरह से जुड़ता है, स्रोत कोड, प्रोजेक्ट फ़ाइलों और दस्तावेज़ीकरण की पीढ़ी को स्वचालित करता है। डेवलपर्स मौजूदा DevOps बुनियादी ढांचे के लाभों को बनाए रखते हुए AppMaster.io को एक एप्लिकेशन डेवलपमेंट संसाधन के रूप में उपयोग कर सकते हैं। इस सहज एकीकरण से विकास चक्र तेज़ होते हैं और विकास टीमों के बीच बेहतर सहयोग होता है।
सतत एकीकरण और सतत वितरण (सीआई/सीडी)
AppMaster.io स्वचालित रूप से एप्लिकेशन अपडेट उत्पन्न और तैनात करके DevOps प्रथाओं के हिस्से के रूप में सतत एकीकरण (CI) और सतत वितरण (CD) को सक्षम बनाता है। जब एप्लिकेशन ब्लूप्रिंट में परिवर्तन किए जाते हैं, AppMaster.io तकनीकी ऋण को समाप्त करते हुए, 30 सेकंड से कम समय में एप्लिकेशन का एक नया सेट तैयार करता है। एप्लिकेशन अपडेट की यह तीव्र पीढ़ी और तैनाती यह सुनिश्चित करती है कि उपयोगकर्ताओं के पास हमेशा नवीनतम सुविधाओं और सुधारों तक पहुंच हो।
बदलती आवश्यकताओं के प्रति उत्तरदायी अनुप्रयोग
व्यावसायिक आवश्यकताएँ और लक्ष्य अक्सर समय के साथ बदलते रहते हैं। AppMaster.io के साथ DevOps प्रथाओं को अपनाने से डेवलपर्स को एप्लिकेशन ब्लूप्रिंट को दोबारा आकार देने और स्क्रैच से स्रोत कोड को पुनर्जीवित करके बदलती आवश्यकताओं को जल्दी से अनुकूलित करने में मदद मिलती है। यह क्षमता किसी भी तकनीकी ऋण को समाप्त करती है, यह सुनिश्चित करती है कि एप्लिकेशन हमेशा वर्तमान व्यावसायिक आवश्यकताओं के लिए अनुकूलित हों।
स्केलेबल और एंटरप्राइज़-तैयार अनुप्रयोग
गो (गोलंग) के साथ उत्पन्न संकलित स्टेटलेस बैकएंड एप्लिकेशन को शामिल करके, AppMaster.io एंटरप्राइज़-ग्रेड, उच्च-लोड एप्लिकेशन वितरित कर सकता है। DevOps में स्केलेबिलिटी एक मूलभूत आवश्यकता है, जो एप्लिकेशन को अलग-अलग ट्रैफ़िक लोड और सिस्टम मांगों को संभालने में सक्षम बनाती है। AppMaster.io लागू डेटाबेस और कुशल तैनाती का समर्थन करके DevOps के स्केलेबिलिटी पहलुओं को पूरा करता है।
एपीआई दस्तावेज़ीकरण और डेटाबेस स्कीमा माइग्रेशन खोलें
AppMaster.io स्वचालित रूप से प्रत्येक प्रोजेक्ट के लिए आवश्यक दस्तावेज़ तैयार करता है, जैसे सर्वर endpoints और डेटाबेस स्कीमा माइग्रेशन स्क्रिप्ट के लिए स्वैगर (ओपन एपीआई) दस्तावेज़। ये ऑटोमेशन एप्लिकेशन विकास प्रक्रिया को सरल बनाते हैं और डेवलपर्स के लिए एपीआई और डेटाबेस स्कीमा को उनके DevOps वर्कफ़्लो में समझना और एकीकृत करना आसान बनाते हैं।
अंत में, AppMaster.io उच्च गुणवत्ता वाले अनुप्रयोगों के सहयोग, स्वचालन और सुव्यवस्थित वितरण को प्राथमिकता देने वाले DevOps वातावरण के लिए एक उत्कृष्ट फिट है। अपने DevOps वर्कफ़्लो के भीतर AppMaster.io को अपनाने से आप तेज़ी से एप्लिकेशन बना सकते हैं, विकास दक्षता बढ़ा सकते हैं और बढ़ती व्यावसायिक आवश्यकताओं के सामने चुस्त रहते हुए त्रुटियों को कम कर सकते हैं।