तीन रेप्लिका वाला एक क्लस्टर लगातार खुद से ही असहमत रहता था। वजह हमारे अपने कोड में थी: पीयर-डिस्कवरी रूटीन में एक catch ब्लॉक था जो multicast के विफल होने पर डिस्कवरी को बंद कर देता था, और मैनेज्ड Kubernetes पर multicast हमेशा विफल होता है। यह कहानी है कि हमने gossip को पूरी तरह क्यों हटा दिया और उसकी जगह blob lease से एक leader क्यों चुना, और क्यों वह मेंबरशिप जिसे आप Storage Explorer में खोलकर देख सकते हैं, उस मेंबरशिप से बेहतर है जिसका आपको अनुमान लगाना पड़े।
लॉगिन एक वीकेंड का काम है। बिल बाद में आता है: सिग्नेचर वेरिफ़िकेशन, SCIM डिप्रोविज़निंग, MFA, ऑडिट लॉग, key रोटेशन, ब्रीच की देनदारी, और एक tier-zero सिस्टम के लिए ऑन-कॉल। एक ईमानदार बनाएँ-बनाम-ख़रीदें, यह भी कि कब बनाना सही है।
OIDC या SAML? चुनने का मौका आपको शायद ही मिलता है। हर प्रोटोकॉल क्या है, कब कौन जीतता है, वे XML-सिग्नेचर वाले जोखिम जो SAML को खुद बनाना खतरनाक बना देते हैं, और क्यों एक B2B प्रोडक्ट को आखिरकार दोनों की ज़रूरत पड़ती है।
Authagonal का सपोर्ट सिस्टम: बिना रिफ़्रेश के रियल-टाइम मैसेजिंग, ग्राहक के पहले मैसेज से ही पिन की गई पारदर्शी दो-तरफ़ा AI अनुवाद, और एक ऐसी थ्रेड जो ईमेल पर भी पूरी तरह अनूदित रहती है। सरल, खूबसूरत, और सचमुच सक्षम।
हमारे दो टेनेंट चुपचाप एक ही टेनेंट थे: एक ही डेटाबेस, एक ही टोकन-साइनिंग की, अलग-अलग नाम। वजह थी एक एक-लाइन का हेल्पर जो स्लग को हाइफ़न हटाकर सैनिटाइज़ करता था, जिससे एक यूनीक पहचानकर्ता गैर-यूनीक बन जाता था। यह रही कहानी कि कैसे एक लॉसी स्ट्रिंग ट्रांसफ़ॉर्म एक क्रॉस-टेनेंट टेकओवर बन गया, और क्यों हमने इसे आपसे पहले पकड़ लिया।
हम ऑथेंटिकेशन बेचते हैं, इसलिए हमारा सबसे महत्वपूर्ण टेस्ट वही है जो एक ग्राहक बन जाता है: एक अकेला Playwright रन जो एक टेनेंट साइन अप करता है, हर फ़ीचर कॉन्फ़िगर करता है, उस पर एक असली ऐप को इंगित करता है, सही क्लेम्स के साथ एक असली यूज़र को लॉग इन करवाता है, फिर बैकअप लेता है, रिस्टोर करता है और खुद को डिलीट कर देता है। कैसे संपूर्ण एंड-टू-एंड टेस्टिंग ने हमें गो-लाइव का भरोसा दिलाया।
हमारा स्टाफ़ कंसोल खुद Authagonal के ज़रिए ऑथेंटिकेट करता है, जिसमें प्रोविज़निंग का काम Entra SSO और SCIM करते हैं। अपना ही ग्राहक होना उन किनारे के मामलों को सामने ले आता है जिन्हें लिखने का ख़याल किसी टेस्ट सूट को नहीं आता। यहाँ वे हैं जो मायने रखते थे।
आपकी Terraform स्टेट आपके पूरे क्लाउड का नक़्शा है, साथ ही सीक्रेट्स का एक ढेर भी, और डिफ़ॉल्ट रूप से यह एक सार्वजनिक एंडपॉइंट के पीछे रहती है। यह रहा कि कैसे हमने शून्य से रिमोट स्टेट को बूटस्ट्रैप किया, उसे एक प्राइवेट एंडपॉइंट के पीछे रखा, और VPN गेटवे का टैक्स चुकाए बिना एक ज़ीरो-ट्रस्ट कनेक्टर के ज़रिए उस तक पहुँचे, बिना कभी खुद को बाहर ताला लगाए।
"हर कोई अपना पासवर्ड रीसेट करता है" एक माइग्रेशन का चुनाव है, भौतिकी का कोई नियम नहीं। आइडेंटिटी-प्रोवाइडर बदलते समय अपने यूज़र के मौजूदा पासवर्ड हैश को कैसे साथ ले जाएँ ताकि कटओवर अदृश्य रहे, और वह एक मामला जहाँ आप सचमुच नहीं ले जा सकते।
Auth उद्योग अनुमति को मीटर करता है, लागत को नहीं। यह SSO, MFA, और provisioning को टियरों और per-connection शुल्कों के पीछे रोक देता है, ऐसे फ़ीचर्स के लिए जिन्हें देने में असल में कोई लागत नहीं आती। यहाँ वह फ़र्क़ है जो pricing pages चाहती हैं कि आप कभी न समझें।
सेल्फ़-होस्टेड Duende IdentityServer से managed auth की ओर बढ़ना — SQL config और ASP.NET Identity से असल में क्या माइग्रेट होता है, और वह ऑपरेशनल बोझ जिसे ढोना आप बंद कर देते हैं।
Auth0 माइग्रेशन में असल में क्या शामिल होता है, इस पर एक व्यावहारिक नज़र: क्या आसान है, क्या झंझट भरा है, और वह एक चीज़ जो Auth0 सचमुच आपको नहीं देगा।