2015-07-23 8 views
5

मैं अभी भी एडब्ल्यूएस लैम्ब्डा की सीमाओं के आस-पास अपने दिमाग को लपेटने की कोशिश कर रहा हूं, खासकर अब एडब्ल्यूएस एपीआई गेटवे लैम्ब्डा के साथ आरईएसटी अनुरोधों की सेवा के लिए कई विकल्प खोलता है।कोणीय बैक एंड के लिए एडब्ल्यूएस लैम्ब्डा डब्ल्यू/एपीआई गेटवे?

मैं लैंगडा के साथ कोणीय में एक वेब ऐप बनाने के लिए बैक एंड के रूप में सेवा करने पर विचार कर रहा हूं।

सरल सीआरयूडी सामान के लिए यह काफी सरल लगता है, लेकिन प्रमाणीकरण के बारे में क्या? क्या मैं उपयोगकर्ता प्रमाणीकरण करने के लिए लैम्ब्डा के भीतर Passport जैसे कुछ उपयोग करने में सक्षम हूं?

+0

क्या आपने कभी यह कोशिश की और इसे काम करने के लिए लिया? मैं अपने एपीआई गेटवे एंडपॉइंट्स को मार सकता हूं और पोस्टमैन के साथ लैम्ब्डा फ़ंक्शंस चला सकता हूं, लेकिन कोणीय बस ऐसा नहीं करेगा। – dudemonkey

उत्तर

12

हां, आप बहुत कुछ कर सकते हैं, बस अपने सत्र को एडब्ल्यूएस होस्टेड डेटाबेस (आरडीएस, डायनेमो, आदि) पर स्टोर करें। लेकिन जागरूक रहें बिल्कुल आप लैम्ब्डा के साथ खरीद रहे हैं। इसमें बहुत सारे व्यापार-बंद हैं।

  • कीमत: एक EC2 सर्वर प्रति माह एक निश्चित मूल्य लागत है, लेकिन लैम्ब्डा कॉल के मूल्य प्रति है। जो सस्ता है आपके उपयोग पैटर्न पर निर्भर करता है। जब कोई भी आपके उत्पाद का उपयोग नहीं कर रहा है तो लैम्ब्डा सस्ता है, ईसी 2 उपयोग की वृद्धि के रूप में सस्ता है।

  • स्केल: EC2 (कई मायनों में) पैमाने पर कर सकते हैं, लेकिन इसे और अधिक "मैनुअल" और "chunky" है (आप केवल 1 या 2 सर्वर 1.5 चला सकते हैं, नहीं)। लैम्ब्डा में बढ़िया स्केलिंग है। आप इसके बारे में चिंता नहीं करते हैं, लेकिन आप पर भी कम नियंत्रण है।

  • प्रदर्शन: लैम्ब्डा एक निश्चित गति है, और आपके पास बहुत कम नियंत्रण है। कुछ मामलों में इसमें बड़ी लेटेंसी हो सकती है, क्योंकि वे यातायात को संभालने के लिए नए कंटेनरों को बढ़ाते हैं। ईसी 2 आपको प्रदर्शन ट्यूनिंग के लिए कई और विकल्प देता है। (बॉक्स आकार, ऑन-बॉक्स कैश, नवीनतम node.js का उपयोग करके, बॉक्स से अन-आवश्यक सेवाओं को हटाने, स्ट्रेस चलाने में सक्षम होने आदि) आप कम विलंबता सुनिश्चित करने के लिए अतिरिक्त क्षमता के लिए भुगतान कर सकते हैं।

  • कोड: जिस तरह से आप लैम्ब्डा बनाम ईसी 2 में कोड थोड़ा अलग होंगे। लैम्ब्डा आपको कुछ सम्मेलनों का पालन करने के लिए मजबूर करता है जो अधिकतर सर्वोत्तम अभ्यास हैं। लेकिन ईसी 2 आपको प्रदर्शन, या विकास की गति के लिए उनका उल्लंघन करने की अनुमति देता है। लैम्ब्डा एक "ब्लैक बॉक्स" है जहां आपको समस्या निवारण की आवश्यकता होने पर कम नियंत्रण और दृश्यता होती है।

  • सेटअप: लैम्ब्डा सेटअप करना आसान है और कुल ज्ञान कम आवश्यकता है। EC2, आप एक सिस्टम प्रशासक हो सकता है और VPC, EBS, वीपीएन, एएमआई तरह के संक्षिप्त रूप को समझने के लिए की आवश्यकता है आदि

1

लेकिन क्या प्रमाणीकरण के बारे में?

सबसे मॉड्यूलर दृष्टिकोण का उपयोग करने के लिए है एपीआई गेटवे के Custom Authorizers (नई के बाद से Feb'16) एक एडब्ल्यूएस लैम्ब्डा समारोह है कि प्रमाणीकरण और प्राधिकरण को लागू करने के लिए आपूर्ति।

मैंने एक सामान्य Custom Authorizer that works with Auth0 तृतीय पक्ष एकल-साइन-ऑन सेवा लिखा था। How to - AWS Rest API Authentication

मैं उपयोगकर्ता प्रमाणीकरण करने के लिए लैम्ब्डा के भीतर पासपोर्ट की तरह कुछ का उपयोग करने में सक्षम नहीं होगा:

भी इस सवाल का देखते हैं?

आसानी से नहीं। पासपोर्ट कॉलबैक यूआरएल पर निर्भर करता है जिसे आपको बनाना और कॉन्फ़िगर करना होगा।

3

इसे यहां पोस्ट करना, चूंकि यह पहला धागा है जब मैंने Lamdba पर NodeJS पासपोर्ट प्रमाणीकरण चलाने के लिए खोज की थी।

चूंकि आप Express apps on Lamda चला सकते हैं, तो आप वास्तव में सीधे लैम्ब्डा पर पासपोर्ट चला सकते हैं। हालांकि, पासपोर्ट वास्तव में एक्सप्रेस के लिए मिडलवेयर है, और यदि आप पहले स्थान पर लैम्डा के लिए डिज़ाइन कर रहे हैं तो शायद आप एक्सप्रेस के ब्लोट को नहीं चाहते हैं (क्योंकि एपीआई गेटवे मूल रूप से वह सब करता है)।

जैसा कि @ जेसन ने उल्लेख किया है कि आप एक कस्टम प्राधिकरण का उपयोग कर सकते हैं। यह बहुत सीधे आगे लगता है, लेकिन सभी संभव औथ विधियों को कौन बनाना चाहता है? यह पासपोर्ट के फायदों में से एक है, लोगों ने पहले ही यह आपके लिए किया है।

यदि आप Servlerless Framework का उपयोग कर रहे हैं, तो किसी ने "Serverless-authentication" प्रोजेक्ट बनाया है। इसमें कई मानक लेख प्रदाताओं के लिए मॉड्यूल शामिल हैं: Facebook, Google, Microsofta boilerplate for building out more auth providers भी है।

यह मुझे यह सब चलाने के लिए अनुसंधान का एक अच्छा गुच्छा ले गया, इसलिए उम्मीद है कि यह किसी और की मदद करेगा।

संबंधित मुद्दे