EventBridge स्कीमा रजिस्ट्री और इसका उपयोग कैसे करें

EventBridge स्कीमा रजिस्ट्री

EventBridge एक सर्वर रहित ईवेंट बस है जिसे Saa के एप्लिकेशन और AWS सेवाओं के डेटा का उपयोग करके एक साथ एप्लिकेशन कनेक्ट करने के लिए लॉन्च किया गया है। EventBridge SaaS अनुप्रयोगों, जैसे MongoDB, Thundra, और Zendesk को सक्षम करता है, ताकि AWS सेवाओं जैसे लैम्ब्डा, ECS, और इतने पर वास्तविक समय का डेटा भेजा जा सके। EventBridge से आप ईवेंट चालन, वितरण, त्रुटि-हैंडलिंग और सुरक्षा का ध्यान रखकर एक ईवेंट-संचालित प्रवाह का निर्माण आसानी से कर सकते हैं।

EventBridge सेवा के लॉन्च से पहले, सास विक्रेताओं और AWS के बीच सीधा संबंध सक्षम करने के लिए कोई इवेंट बस उपलब्ध नहीं थी। डेवलपर्स AWS सेवाओं को डेटा भेजने के लिए पोलिंग या SaaS webhook पैटर्न का उपयोग करने की कोशिश करते थे, लेकिन इन पैटर्नों की सीमाएं थीं और प्रबंधन करने के लिए जटिल भी थे।

EventBridge को जुलाई 2019 में लॉन्च किया गया था और इसे मौजूदा इवेंट-प्रोसेसिंग मॉडल का उपयोग करके बनाया गया था जिसे क्लाउडवाच इवेंट्स के लिए आधार के रूप में इस्तेमाल किया गया था। इसलिए, यह CloudWatch से विरासत में मिली डिफ़ॉल्ट इवेंट बस है और AWS सेवाओं से ईवेंट स्वीकार करता है। यह सास इवेंट बस का भी समर्थन करता है जो पंजीकृत एडब्ल्यूएस सास विक्रेताओं से घटनाओं को स्वीकार करता है।

यहाँ, इस लेख में, हम दो नए EventBridge सुविधाओं, स्कीमा रजिस्ट्री और डिस्कवरी पर चर्चा करेंगे, जिन्हें "पूर्वावलोकन" स्थिति के माध्यम से लॉन्च किया गया है। लेकिन पहले, आइए EventBridge सेवा के तीन प्रमुख घटकों पर चर्चा करें।

साथी घटना स्रोत

इवेंट स्रोत SaaS प्लेटफ़ॉर्म, कस्टम ऐप्स या AWS सेवा हैं। एक सास प्लेटफ़ॉर्म पर, जब हम AWS खाते को पंजीकृत करते हैं, तो यह AWS खाते में एक इवेंट स्रोत बनाएगा, जो एक इवेंट बस से संबद्ध होगा। इस पंजीकरण प्रक्रिया को सुरक्षित करने के लिए, उपयोगकर्ताओं को AWS में सास भागीदार द्वारा भेजे गए निमंत्रण को स्वीकार करना होगा; इसके बाद, इवेंट स्रोत सक्रिय हो जाता है और घटनाओं को स्वीकार कर सकता है।

घटना बस

EventBridge में, तीन प्रकार की इवेंट बसें हैं:

  • डिफ़ॉल्ट इवेंट बस: प्रत्येक खाते में एक डिफ़ॉल्ट बस होती है, जो AWS सेवाओं द्वारा उत्सर्जित घटनाओं को स्वीकार करती है।
  • पार्टनर इवेंट बस: यह एडब्ल्यूएस सास भागीदारों में होस्ट किए गए एप्लिकेशन से ईवेंट प्राप्त कर सकता है। प्रत्येक सास भागीदार के लिए, एक अलग ईवेंट बस बनाने की आवश्यकता है।
  • कस्टम इवेंट बस: यह प्रकार कस्टम एप्लिकेशन और सेवाओं से ईवेंट प्राप्त कर सकता है।

इवेंट बसों में अधिकतम 100 नियम जुड़े हो सकते हैं।

नियम

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

इवेंट डिस्कवरी की प्रक्रिया

EventBridge को इवेंट-संचालित आर्किटेक्चर के विकास को आसान बनाने के लिए पेश किया गया था और एक दूसरे से अनुप्रयोगों को डिकूप करने की अनुमति देता है। डेवलपर्स एक इवेंट बस से कनेक्ट होने वाला स्वतंत्र कोड लिखते हैं, इसलिए कोई पॉइंट-टू-पॉइंट एकीकरण सेवा की आवश्यकता नहीं है। हालांकि, घटनाओं को खोजने और घटना के स्कीमा की चुनौती है।

वर्तमान मैनुअल प्रक्रिया

हर घटना एक डेटा पेलोड है। इसके पास कई क्षेत्र हो सकते हैं जैसे कि जसन या किसी अन्य डेटा संरचना के रूप में। वर्तमान में, निर्माता एक दस्तावेज में घटना स्कीमा प्रकाशित करते हैं, जिसे समझने के लिए डेवलपर्स को गुजरना पड़ता है। यह स्कीमा खोजने के लिए एक मैनुअल प्रक्रिया है और फिर उस घटना के लिए मैन्युअल रूप से कोड में एक ऑब्जेक्ट बनाएं। यह पूरी प्रक्रिया अनाड़ी है और त्रुटियों से ग्रस्त है। आपको किसी भी त्रुटि को ठीक करने और ईवेंट को काम करने के लिए कई प्रयासों से गुजरना होगा, जो कि लागत और डिलीवरी करने के लिए आवश्यक समय को जोड़ता है।

स्कीमा रजिस्ट्री और डिस्कवरी

स्कीमा रजिस्ट्री, जिसे स्कीमा के संग्रह को संग्रहीत करने के लिए उपयोग किया जाता है, मैन्युअल रजिस्ट्री प्रक्रिया को संबोधित करने के लिए EventBridge में शुरू की गई एक नई सुविधा है। स्कीमा डिस्कवरी स्कीमा की खोज और उन्हें रजिस्ट्री में जोड़ने की प्रक्रिया को स्वचालित करता है। ईवेंट-बस स्तर पर सक्षम होने के बाद, ईवेंट को बस में भेजे जाने और रजिस्ट्री में संग्रहीत होने के आधार पर एक स्कीमा स्वचालित रूप से उत्पन्न होता है। घटनाओं में कोई भी परिवर्तन स्वचालित रूप से रजिस्ट्री में स्कीमा का एक नया संस्करण बनाता है और स्कीमा के लिए कोड बाइंडिंग उत्पन्न करने का विकल्प प्रदान करता है। स्कीमा जानकारी प्राप्त करने के लिए स्कीमा डिस्कवरी को आम तौर पर एक परीक्षण वातावरण में सक्षम किया जाता है। हालांकि, यह भी घटनाओं का ऑडिट करने के लिए एक prod env में इस्तेमाल किया जा सकता है।

कोड बाइंडिंग

जैसा कि पहले बताया गया है, स्कीमा बनने के बाद, यह एक कोड बाइंडिंग डाउनलोड करने का विकल्प प्रदान करता है। यह घटनाओं को बनाने और भेजने से पहले सत्यापन करने के लिए कोड में एक जोरदार टाइप की गई वस्तु बनाने में मदद करता है।

EventBridge कोड बाध्यकारी पायथन, जावा, या टाइपस्क्रिप्ट के लिए उपलब्ध है-AWS सीएलआई, एक कंसोल या एक आईडीई के माध्यम से डाउनलोड किया जा सकता है। IDE के लिए, जैसे VSCode या IntelliJ, आपको AWS टूलकिट प्लगइन का उपयोग करने की आवश्यकता है। एडब्ल्यूएस एसएएम फ्रेमवर्क भी स्कीमा-पीढ़ी सुविधाओं का समर्थन करता है।

सामान्य उपयोग के मामले

आइए कुछ सामान्य उपयोग के मामलों के माध्यम से चलते हैं जहां EventBridge और एक स्कीमा रजिस्ट्री का उपयोग किया जा सकता है।

सुरक्षा संचालन

AWS इंफ्रास्ट्रक्चर पर एक एप्लिकेशन को सुरक्षित करना एक साझा जिम्मेदारी है। इसका मतलब है कि सुरक्षा घटनाओं को लॉग करने के लिए आवेदन मालिक पर बोझ है।

एक SaaS समाधान प्रदाता जो AWS सेवाओं के साथ एकीकृत होता है, खतरे का पता लगाने वाली घटनाओं को पुनः प्राप्त कर सकता है और एक संचार वर्कफ़्लो का निर्माण कर सकता है, साथ ही घटना आधारित नियमों का उपयोग करके AWS को रिपोर्ट वापस भेज सकता है। एक बार वास्तविक समय की घटनाओं के माध्यम से प्रवाहित होने पर ये घटनाएं स्वचालित रूप से एक घटना बस में एक स्कीमा उत्पन्न कर सकती हैं। फिर, लैम्ब्डा जैसी AWS सेवाएँ कोड बाइंडिंग का उपयोग कर सकती हैं, इवेंट ऑब्जेक्ट जेनरेट कर सकती हैं, और दिए गए खतरे की घटना के अनुसार आवश्यक कार्रवाई करने के लिए सुरक्षा और एप्लिकेशन टीमों को अधिसूचना (SNS सेवा का उपयोग करके) भेज सकती हैं।

अनुप्रयोगों की निगरानी

कई सास विक्रेता हैं, जो निगरानी से संबंधित रीयल-टाइम एप्लिकेशन मेट्रिक्स प्राप्त करने के लिए AWS के साथ एकीकृत हैं। सीपीयू उपयोग, लोड वॉल्यूम और त्रुटि दर जैसे मेट्रिक्स का उपयोग विक्रेताओं द्वारा अलर्ट उत्पन्न करने और लैम्बडा फ़ंक्शन को ट्रिगर करने के लिए EventBridge के माध्यम से वापस भेजने के लिए किया जा सकता है।

अलर्ट कई प्रकार के हो सकते हैं। जब उन्हें एक इवेंट बस में भेजा जाता है, तो यह स्वचालित रूप से एक स्कीमा उत्पन्न करता है और इन अलर्ट घटनाओं के प्रत्येक प्रकार के लिए एक अनुभाग होता है। कोड बाइंडिंग के माध्यम से, वस्तुओं को विभिन्न प्रकार के अलर्ट को फ़िल्टर करने और तदनुसार कार्रवाई करने के लिए बनाया जा सकता है। उदाहरण के लिए, यदि CPU उपयोग अधिक है, तो EC2 उदाहरणों को स्केल करने के लिए CloudWatch ईवेंट से कनेक्ट करने के लिए नियमों को परिभाषित किया जा सकता है। यदि त्रुटि दर अधिक है, तो यह पुनर्प्राप्ति के लिए कार्रवाई करने के लिए टीम का समर्थन करने के लिए एक अधिसूचना (एसएनएस का उपयोग करके) भेज सकता है।

सीआरएम एकता

प्रत्येक एंटरप्राइज़ के पास अपनी उपयोगकर्ता जानकारी को प्रबंधित करने के लिए एक CRM उपकरण होता है, और OneLogin जैसे विक्रेता EventBridge का उपयोग करके AWS सेवाओं के साथ एकीकृत होते हैं। एक नए उपयोगकर्ता के निर्माण की एक घटना को एक इवेंट बस के माध्यम से लंबोदा फंक्शन में भेजा जाता है जो टीम में नए जोड़े गए इंजीनियरों के लिए आवश्यक संसाधनों को स्पिन कर सकता है।

फिर, इवेंट स्कीमा एक प्रमुख भूमिका निभाता है, क्योंकि कई प्रकार के संसाधन हो सकते हैं और आपको उपयोगकर्ता को उसकी भूमिका और विभाग के आधार पर फ़िल्टर करने की आवश्यकता होती है। स्कीमा की स्वचालित पीढ़ी लाइव घटनाओं के आधार पर ईवेंट ऑब्जेक्ट बनाने में मदद करती है, और उन घटनाओं को फ़िल्टर करने और उन्हें प्रासंगिक लक्ष्य सेवाओं को भेजने के लिए नियम लिखे जा सकते हैं।

प्रदर्शन और सुरक्षा अवलोकन

प्रदर्शन की निगरानी और सुरक्षा निगरानी अनुप्रयोग निगरानी के बहुत महत्वपूर्ण पहलू हैं। विशेष रूप से सर्वर रहित अनुप्रयोगों के लिए, एंड-टू-एंड दृश्यता बहुत जरूरी है।

थुंड्रा वितरित ट्रेसिंग के माध्यम से सर्वर रहित ईवेंट-चालित ऐप्स को समाप्त करता है। यह समृद्ध मेट्रिक्स डेटा उत्पन्न करता है और इसे एक्शनेबल इनसाइट्स में बदल देता है और ईवेंटब्रिज के साथ एकीकृत भी कर सकता है, जिससे ग्राहकों को प्रदर्शन और सुरक्षा मुद्दों को हल करने की अनुमति मिलती है। एक बार EventBridge को अलर्ट भेजे जाने के बाद, AWS लैम्ब्डा या किसी भी अन्य AWS संसाधन को ट्रिगर किया जा सकता है ताकि घटना की जानकारी का उपयोग करके तुरंत आवश्यक प्रतिक्रिया निष्पादित की जा सके और समस्या का निवारण किया जा सके।

एक लैम्ब्डा फंक्शन लें जिसमें 100 मिलीसेकंड के भीतर निष्पादित करने का तर्क है। यदि यह उस सीमा को पार कर जाता है, तो यह उपयोगकर्ता के अनुभव के साथ-साथ लागत को भी प्रभावित करने वाला है। निष्पादन को इस सीमा से ऊपर होने की स्थिति में सूचनाएं भेजने के लिए आपको एक चेतावनी तंत्र को सक्षम करने की आवश्यकता है।

रिपोर्ट अनुरोध: 0858f0d2-8e67-4150-b705-7c1b4329192f

अवधि: 177.70 एमएस बिलिंग अवधि: 200 एमएस मेमोरी का आकार: 2048 एमबी अधिकतम मेमोरी का इस्तेमाल किया: 141 एमबी

  • थंड्रा के प्लगइन का उपयोग करते हुए, लॉग को एक लैम्बडा सेवा से थुंड्रा तक उत्सर्जित किया जा सकता है। समस्या की पहचान करने और चेतावनी बढ़ाने के लिए क्वेरी (AVG (अवधि)> 100) का उपयोग करके एक चेतावनी नीति लिखी जा सकती है।
  • यह नीति अलर्ट उत्पन्न करेगी और उन्हें लक्ष्य लैम्ब्डा सेवा में वापस भेज देगी।

अलर्ट घटना का एक नमूना:

"" संस्करण ": 0," आईडी ":" aadfdsfj-2e22-d23f-2se9-awek09bs1c "," डिटेल-टाइप ":" थंडर-इवेंट "," स्रोत ":" aws.partner / thundra.io / 3fdf2sd2- thundra-event-source "," खाता ":" XXXXXXX "," समय ":" क्षेत्र ":" संसाधन ":" विस्तार ": {" गंभीरता ":" महत्वपूर्ण "," सारांश ":" एक thundra चेतावनी घटना द्वारा " चेतावनी नीति। "," थ्रेशोल्ड ऑपेरशन ":" से अधिक "," पेरियनड ":" 5 मिनट "," अलर्टपिलसीनेम ":" क्रिटिकल अलर्ट "," क्वेरी ":" एवीजी (अवधि>> 100 "," अलर्टइवेंटलिंक ":" https "// कंसोल.thundra.io/alert-event/alert-event-9kj2io2u-2dw4-1sd3-98l23hc2ff2", "resultNumber": "2"}}
  • EventBridge में, स्कीमा रजिस्ट्री और स्कीमा नामक एक खंड होता है। उपरोक्त घटना के आधार पर, यह स्कीमा और कोड बाइंडिंग उत्पन्न करेगा। उस स्कीमा पर नेविगेट करें, और कोड बाइंडिंग डाउनलोड करें।
  • यह कोडबिन्डिंग वास्तव में एक ओपनएपीआई 3.0.0 कल्पना है। इस स्कीमा का उपयोग करने का सबसे अच्छा तरीका यह है कि इसे एडब्ल्यूएस एक्सप्लोरर का उपयोग करके आईडीई के साथ एकीकृत किया जाए। यदि हम एक सर्वरहीन लैम्ब्डा फ़ंक्शन का निर्माण करते हैं, तो SAM विकल्प AWS एक्सप्लोरर के अंतर्गत उपलब्ध होता है। यह उपरोक्त घटना के लिए खोजे गए स्कीमा (एवे कंसोल में डिस्कवर स्कीमा रजिस्ट्री अनुभाग) का चयन करके एक लैम्ब्डा हैंडलर विधि उत्पन्न करने में मदद करेगा।
  • अब, लैम्ब्डा हैंडलर में, ऐसे अलर्ट इवेंट्स को फ़िल्टर करने के लिए तर्क लिखें, उस विशेष उदाहरण को नीचे रखें, और सुरक्षा टीम को एक SNS अधिसूचना भेजें, जिसमें दिए गए उपयोगकर्ता से संबंधित जानकारी के साथ आगे की कार्रवाई की जा सके।

इस प्रवाह का उपयोग करके कई वास्तविक समय परिदृश्यों को हल किया जा सकता है। स्कीमा की स्वचालित खोज मैन्युअल रूप से ईवेंट ऑब्जेक्ट बनाने के दर्द को कम करती है और संभावित मैनुअल त्रुटियों से बचाती है।

मूल्य निर्धारण

स्कीमा रजिस्ट्री का उपयोग करने से जुड़ी कोई लागत नहीं है।

स्कीमा डिस्कवरी के लिए, प्रति माह 5 मिलियन अंतर्निर्मित घटनाएं फ्री-टियर योजना के तहत मुफ्त हैं। यह एक बहुत ही उच्च सीमा है और यह पर्याप्त होना चाहिए, क्योंकि आमतौर पर इसका उपयोग केवल विकास के चरण के दौरान गैर-ठेस वाले वातावरण में किया जाता है।

यदि आप फ्री-टियर सीमा को पार करते हैं, तो EventBridge खोज के लिए प्रति मिलियन इवेंट में $ 0.10 चार्ज करता है, जिसे 8 KB की मात्रा में मापा जाता है।

सारांश

निष्कर्ष निकालने के लिए, EventBridge अधिक से अधिक लोकप्रिय हो रहा है क्योंकि यह एक सरल और मजबूत सेवा है जो AWS में ईवेंट-चालित प्रवाह को सक्षम और बनाता है। यह लगातार इस पारिस्थितिकी तंत्र को विकसित करने के लिए नए सास विक्रेताओं को जोड़ रहा है। इसके अलावा, स्वचालित स्कीमा पीढ़ी और खोज कई वास्तविक समय के उपयोग के मामलों को हल करने में मदद करते हैं, जैसा कि इस लेख में चर्चा की गई है, इस सेवा में और भी अधिक मूल्य और आसानी का उपयोग शामिल है।

मूल रूप से https://blog.thundra.io पर प्रकाशित।