Skip Ribbon Commands
Skip to main content

​​​​​​

  मायक्रोसॉफ्ट सुरक्षा जोखमीचा शोध

 


 

समजा आपल्याजवळ अॅझूर अॅप सर्व्हिस वेब अॅप आहे जे मोठ्या प्रमाणात वाहतूकीची हाताळणी करते व त्याला डाटाबेसचा अॅक्सेस आहे, ज्याचे आर्किटेक्चर चित्र 1 मध्ये दाखवल्याप्रमाणे आहे. आपण डिप्लॉय करीत असतांना आपल्याला बग्ज डिप्लॉय करण्याचा किंवा नवीन रिलिज करतांना मोठ्या प्रमाणात डाउनटाइम होण्याचा धोका पत्करायचा नाही, आपल्याला असाच डिप्लॉयमेंट स्लॉट पाहिजे आहे. डिप्लॉयमेंट स्लॉट हा अतिरिक्त अॅझूर अॅप सर्व्हिस वेब अॅप इंस्टंस (W3WP) आहे जो आपल्या त्याच नावाच्या अॅझूर अॅप सर्व्हिस वेब अॅपशी बांधलेला आहे आणि त्याच अॅप सर्व्हिस प्लान (ASP) वर चालत आहे ज्यांची मी here चर्चा केलेली आहे. लाईव्ह वेब अॅपच्या रिलिजपूर्वी आपली चाचणी किंवा चाचणीकरीता गैर-उत्पादन तयार कोडना डिप्लॉय करण्याची हे विकासात्मक स्लॉट आपल्याला मुभा देतात. डिप्लॉयमेंट स्लॉटचे वैशिष्ट्य हे आहे की आपण एक बटण दाबू शकता आणि नवीन आवृत्तीचा समावेश असलेले डिप्लॉयमेंट स्लॉट निर्मितीसोबत बदलले जातील आणि बघा फक्त एका क्लिकद्वारे नवीन आवृत्ती लाईव्ह झालेली आहे.

लक्षात घ्या की चित्र 1 मधील SQL सर्व्हरवर 2 SQL अॅझूर डाटाबेस आहेत, एकाला stickyslot-pro म्हणतात आणि दुसऱ्याला stickyslot-tst म्हणतात. याव्यतिरिक्त, येथे अॅप सर्व्हिस प्लान (ASP) आहे ज्याला STICKYSLOT-ASP म्हणतात जो testing नावाच्या डिप्लॉयमेंट स्लॉटसोबत stickyslot नावाचा अॅझूर अॅप सर्व्हिस वेब अॅप चालवतो. यापैकी सर्व STICKSLOT-RG नावाच्या रिसोर्स गटामध्ये सामिल आहे.


 

चित्र 1, सर्वोत्तम प्रकरण, अॅप सर्व्हिस आर्किटेक्चर आकृती

स्टिकी स्लॉटची चर्चा करणारा एक अतिशय उत्तम लेख Here दिलेला आहे.

या लेखात मी अॅझूर अॅप सर्व्हिस वेब अॅप डिप्लॉयमेंट स्लॉटला PRO (उत्पादन) ते TST (टेस्टिंग इंस्टंसेस) मध्ये स्वॅप करण्याविषयी चर्चा करीत आहे. बाय डिफॉल्ट, अॅप सेटिंग्ज आणि डाटाबेस कनेक्शन स्ट्रींग्ज या स्लॉटशी स्टिकी नसतात आणि चाचणीचा स्लॉट उत्पादन स्लॉटशी स्वॅप केल्यानंतर होतात. या परिस्थितीमध्ये, याचा अर्थ असा होतो की जेव्हा मी माझा testing डिप्लॉयमेंट स्लॉट, ज्याला stickslot-tst डाटाबेसमधून डाटा मिळतो त्याला उत्पादनाशी स्वॅप केल्यावर स्वॅप झालेले वेब अॅप stickyslot-pro डाटाबेसऐवजी stickyslot-tst डाटाबेसकडे निर्देश करते. त्यामुळे, वेब अॅप डेव्हलपमेंट स्लॉट स्वॅप करण्याकरीता मला मार्ग हवा आहे मात्र सध्याच्या उत्पादन वेब अॅपच्या डाटाबेस कनेक्शन स्ट्रींग उत्पादनाकडे आणि टेस्टिंग या टेस्टिंग डाटाबेसकडे निर्देश देतांना हव्या आहेत. सेटिंग ‘स्टिकी टू द स्लॉट’ करून हे साध्य करता येते.

समजा माझ्या उत्पादन वेब अॅपकरीता माझ्याजवळ 2 व्हॅल्यू आहेत ज्या मला मी स्वॅप करतांना ‘उत्पादन’ म्हणूनच असायला हव्या आहेत. चित्र 2 बघा.

 

चित्र 2, टेस्टिंग स्लॉटसोबत स्वॅप केल्यानंतर सुद्धा उत्पादनामध्ये राहणाऱ्या स्टिकी स्लॉट सेटिंग्ज

लक्षात घ्या की येथे एक STICKSLOT नावाची अॅप सेटिंग आहे व तिची व्हॅल्यू Value = ProductionEnvironment आहे व एक StickySlotConnectionString नावाची कनेक्शन स्ट्रींग आहे ज्यामध्ये उत्पादन डाटाबेसचे नाव, यूजर आयडी आणि पासवर्ड आहे, उदाहरणार्थ. हे लक्षात घेणे सर्वात महत्वाचे आहे की ज्यांना वेब अॅपमध्ये ठेवायचे आहे आणि स्वॅप केल्यावर हलवायचे नाही त्या स्लॉट सेटिंग्जचा चेक बॉक्स निवडायचा आहे. हे सुद्धा लक्षात घ्या की टेस्टिंग डेव्हलपमेंट स्लॉटमध्ये, चित्र 3 बघा, माझ्याजवळ त्याच अॅप सेटिंग आणि कनेक्शन स्ट्रींग (की आणि नाव) आहे मात्र त्यांच्या व्हॅल्यू वेगळ्या आहे, तसेच स्लॉट सेटिंग चेकबॉक्स सुद्धा निवडलेले आहे जेणेकरून ते टेस्टिंग वेब अॅपमध्ये राहतील, माझ्या टेस्टिंग वेब अॅपने कधीही उत्पादन पर्यावरणाकडे निर्देश न करणे मला पाहिजे आहे.​

 

 

चित्र 3, स्टिकी स्लॉट सेटिंग्ज ज्या उत्पादन स्लॉटसोबत स्वॅप केल्यानंतर सुद्धा टेस्टिंग मध्येच राहतात

मी एक अतिरिक्त अॅप सेटिंग जोडलेली आहे MoveWhenSwapped, ज्याला मी स्टिकी बनवलेले नाही, म्हणजेच ही स्वॅप करण्यासोबत जाईल. त्यामुळे मी जेव्हा उत्पादन आणि टेस्ट स्वॅप करतो, तेव्हा ती अॅप सेटिंग उत्पादन वेब अॅप कॉन्फिगरेशन मध्ये असेल व टेस्टिंगमध्ये असणार नाही. चला बघूया, जेव्हा सर्व काही टेस्ट झालेले असेल आणि टेस्टिंग वातावरणामध्ये उत्पादनाकरीता तयार असेल तेव्हा टेस्टिंग वेब अॅपकडे नॅव्हिगेट करा आणि स्वॅप लिंकवर क्लिक करा, जसे की चित्र 4 मध्ये दाखवलेले आहे.

 

 

चित्र 4, स्लॉट्स, स्टिकी स्लॉट्स दरम्यान अॅझूर अॅप सर्व्हिस वेब अॅपला स्वॅप करा

येथे “swap with preview” नावाची एक सुविधा आहे ज्याबद्धल here उत्तमप्रकारे लिहलेले आहे. सामान्यपणे, ही सुविधा आपल्याला आपण आपली वास्तविक वाहतूक सुरू करण्यापूर्वी सर्वकाही आपल्या अपेक्षेप्रमाणे काम करीत आहे याची खात्री करण्याकरीता आपल्या टेस्टिंग वातावरणाला उत्पादनाकडे निर्देश करण्याची मुभा देते. आपण एकतर स्वॅप पूर्ण करावे किंवा ते मागे घ्यावे कारण की आपल्याला दीर्घकाळ आपल्या टेस्टिंग उत्पादनाकडे निर्देश देत असलेले ठेवायचे नसेल. जर डाटाबेसच्या संरचनेमध्ये बदल झाला असेल तर हे सर्व परिस्थितींमध्ये कार्य करेलच असे नाही, ज्यामुळे डिप्लॉईड केल्यास उत्पादनाचे वातावरण खंडीत होऊ शकते आणि अपग्रेड केल्याशिवाय विद्यमान उत्पादन डाटाबेसवर टेस्टिंग इंस्टंस चालणार नाही. तथापि, JIC वर आपण प्रयत्न करू शकता. तरीसुद्धा, स्वॅप करा आणि नंतर अॅप सेटिंग्जची पुष्टी करण्याकरीता उत्पादन वेब अॅप तपासा आणि कनेक्शन स्ट्रींगचे अपेक्षित परिणाम येतील. खरोखर ते चित्र 5 मध्ये दाखवल्याप्रमाणे असतील.

 

 

चित्र 5, स्टिकी स्लॉट्स, अॅझूर अॅप सर्व्हिस वेब अॅप, अॅप सेटिंग्ज आणि कनेक्शन स्ट्रींग्ज

व्हॅल्यू अपेक्षेप्रमाणे तशाच असतील आणि MoveWhenSwapped टेस्टिंगपासून उत्पादन वेब अॅप प्रक्रियेमध्ये जातील. तसेच हे सुद्धा लक्षात घ्या की जेव्हा MoveWhenSwapped हलवले जाते, त्याचा अर्थ असा की ते टेस्टिंग वेब अॅप वर अस्तित्वात असत नाही. याचा अर्थ, जर आपल्याला आपला वेब अॅप स्वॅप करायचा असेल आणि कनेक्शन स्ट्रींग जसेच्या तसे ठेवायचे असेल तर स्लॉट सेटिंग चेक बॉक्स निवडून सेटिंगला स्टिकी म्हणून मार्क करा आणि आपण तयार असाल.

आपण जरा खोलवर जाऊया

मला असलेली काही प्रश्ने:

  • मी माय कोडमधून कनेक्शन स्ट्रींग व अॅप सेटिंग्जना अॅक्सेस कसे करावे.
  • जर माझ्या web.config फाइलमध्ये कनेक्शन स्ट्रींग असतील तर काय होईल आणि जर माझ्याजवळ दोन्ही असतील तर काय होईल

चला या प्रश्नांचे उत्तर देऊया.

मी माय कोडमधून कनेक्शन स्ट्रींग व अॅप सेटिंग्जना अॅक्सेस कसे करावे

एकतर पोर्टलमध्ये किंवा web.config मध्ये कॉन्फिगर केलेल्या व्हॅल्यूमधून कनेक्शन स्ट्रींग अॅक्सेस करण्याकरीता आपण खालील कोड वापरू शकता.

ConfigurationManager.ConnectionStrings["StickySlotConnectionString"]?.ConnectionString;

 
कनेक्शन स्ट्रींगचे नाव पास करावे आणि व्हॅल्यू रिटर्न होईल.

अॅप सेटिंग व्हॅल्यू अॅक्सेस करण्याकरीता खालील कोड वापरा.

ConfigurationManager.AppSettings["STICKYSLOT"];

 
जर माझ्या web.config फाइलमध्ये कनेक्शन स्ट्रींग असतील तर काय होईल आणि जर माझ्याजवळ दोन्ही असतील तर काय होईल

नाव वेगळे असेल तर तसे काहीच होणार नाही, मग जर व्हॅल्यू web.config मध्ये असेल तर ती शोधली जाईल आणि जर व्हॅल्यू पोर्टलमध्ये असेल तरीही ती शोधली जाईल. कोणत्याही कनेक्शन स्ट्रींग किंवा अॅप सेटिंगकरीता आपल्याजवळ एकच नाव नसेल याची खात्री करा. जर असे झाले तर जेव्हा मी त्याची चाचणी घेईल तेव्हा पोर्टलमध्ये कॉन्फिगर केलेल्या व्हॅल्यू कोड द्वारे अॅक्सेस केलेल्या व्हॅल्यू असतील. त्यामुळे, जर आपल्याजवळ दोन्ही पोर्टलमध्ये कॉन्फिगर केलेली StickySlotConnectionString नावाची कनेक्शन स्ट्रींग आणि web.config असेल तर web.config मध्ये आपण केलेले बदल दुर्लक्षित केले जातील.​​

​​
​​​​​​​​​​​​​​​​​​​​​​​​​​​​

    Read More on....

​​​​
This site uses Unicode and Open Type fonts for Indic Languages. Powered by Microsoft SharePoint
©2017 Microsoft Corporation. All rights reserved.