2016-12-15 25 views
6

में विंडोज़ पर सर्वर रहित गणना मुझे कोड का एक टुकड़ा मिला है जिसे मुझे नेट पर उपलब्ध कराने की आवश्यकता है। यह एक एडब्ल्यूएस लैम्ब्डा के लिए एक शीर्ष पर एक HTTP एपीआई के साथ एकदम सही फिट है - एक स्टेटलेस, साइड इफेक्ट फ्री, बल्कि सीपीयू गहन कार्य, ब्लॉब इन, ब्लॉब आउट। यह सी # /। नेट में लिखा गया है, लेकिन यह शुद्ध नेट नहीं है, यह UWP एपीआई का उपयोग करता है, इसलिए विंडोज सर्वर 2016एडब्ल्यूएस

AWS Lambdas only run on Linux hosts, यहां तक ​​कि सी # लोगों की आवश्यकता है। अमेज़ॅन क्लाउड में सर्वर के तरीके से इस टुकड़े को तैनात करने का कोई तरीका है - शायद लैम्ब्डा के अलावा कुछ और? मुझे पता है कि मैं ईसी 2 वीएम के साथ जा सकता हूं, लेकिन यह बहुत ही तरह की चीज है जो सर्वर रहित आर्किटेक्चर का आविष्कार किया गया था।

उत्तर

4

लैम्बडा एडब्ल्यूएस पर सर्वर रहित कंप्यूटिंग और लैम्ब्डा फ़ंक्शंस केवल लिनक्स मशीनों पर चलने का एकमात्र विकल्प है।

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

using System.Management; 
using System.Net; 
using System.Threading.Tasks;  

public static async Task<HttpResponseMessage> Run(HttpRequestMessage req, TraceWriter log) 
{ 
    // Get OS friendly name 
    // http://stackoverflow.com/questions/577634/how-to-get-the-friendly-os-version-name 
    var caption = (from x in new ManagementObjectSearcher("SELECT Caption FROM Win32_OperatingSystem").Get().Cast<ManagementObject>() 
        select x.GetPropertyValue("Caption")).FirstOrDefault(); 
    string name = caption != null ? caption.ToString() : "Unknown"; 

    // the function response 
    return req.CreateResponse(HttpStatusCode.OK, name); 
} 
-1

मुझे लगता है कि yoy CodeDeploy सेवाओं और एडब्ल्यूएस CodePipeline के संयोजन के माध्यम से इस लक्ष्य को हासिल कर सकते हैं: अगर मंच आपको क्या चाहिए, इस समारोह की कोशिश है

पुष्टि करने के लिए।

यह लेख देखें:

http://docs.aws.amazon.com/codedeploy/latest/userguide/getting-started-windows.html

कैसे CodeDeploy के माध्यम से कोड को तैनात करने में जानने के लिए। बाद में यह लेख देखें:

http://docs.aws.amazon.com/codepipeline/latest/userguide/getting-started-4.html

सीखें कि कैसे आप एडब्ल्यूएस कॉन्फ़िगर कर सकते हैं pipline कोड नियोजित कॉल करने के लिए और बाद में (टिप्पणी बनाया विंडोज़ मशीन पर अपने बैच कार्य निष्पादित करने के लिए: आप शायद S3 के बजाय Github उपयोग करना चाहते हैं जाएगा - कोडपिपलाइन के साथ जो संभव है)।

मैं स्क्रिप्ट के माध्यम से पूरे ऐसे विन्यास bootstrap करने के लिए विचार किया जाएगा - का उपयोग कर एडब्ल्यूएस CLI - इस तरह से आप आसानी से साफ कर सकते हैं इस तरह अपने संसाधनों:

: एडब्ल्यूएस codepipeline हटाना-पाइपलाइन --name "MyJob"

बेशक आप वेब वेब कंसोल के माध्यम से पाइपलाइन को कॉन्फ़िगर कर सकते हैं और नियमित रूप से अपना कोड चलाने के लिए कॉन्फ़िगर पाइपलाइन छोड़ सकते हैं।

+1

कोडडिफ्ट ईसी 2 उदाहरणों का तात्पर्य है, है ना? मैं सर्वर के बाद हूँ। –

+0

ठीक है .. लेकिन विचार करें कि लैम्ब्डा वास्तव में क्या कर रहा है .. यह हवा में कोड निष्पादित नहीं कर रहा है .. इसे कुछ ec2 – walkeros

+1

का भी उपयोग करना चाहिए, लेकिन यह अब मेरी चिंता नहीं होगी :) मेरा खर्च नहीं करना चाहता बुनियादी ढांचे को बनाए रखने का समय। इसके अलावा, मैं सीपीयू चक्र द्वारा भुगतान करना चाहता हूं, अपटाइम के लिए नहीं। –

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