2016-12-15 3 views
6

'인터넷을 통해 사용할 수 있도록 코드가 있어야합니다. HTTP API를 사용하여 AWS Lambda에 완벽하게 적합합니다. stateless, 부작용이없고, CPU 집약적 인 기능, blob in, blob out 등이 있습니다. 그것은 C# /. NET로 작성하지만, 그것은 순수한 .NET 아니다는 UWP API를 사용합니다 것, 그러므로AWS의 Windows 서버리스 컴퓨팅

AWS Lambdas only run on Linux hosts 윈도우 서버 2016도 C#을 사람이 필요합니다. 아마존 클라우드에 서버리스 방식으로이 조각을 배포 할 수있는 방법이 있습니까? 아마도 Lambda 이외의 다른 것이 있습니까? 저는 EC2 VM을 사용할 수 있다는 것을 알고 있습니다 만, 이것은 serverless 아키텍처가 개발 된 바로 그 종류의 것입니다.

답변

4

람다는 Linux 시스템에서만 실행되는 AWS 및 Lambda 기능의 서버리스 컴퓨팅을위한 유일한 옵션입니다.

Windows 시스템에서 서버리스 기능을 실행해야하는 경우 Azure Functions을 시도하십시오. 이것이 Microsoft 클라우드의 Lambda에 해당합니다. Windows Server 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

내가 증가율이 CodeDeploy 서비스와 AWS 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을 AWS를 구성하는 방법을 배울 이상 (생성 된 윈도우 머신에 메모를 일괄 작업을 실행 : 나중에이 문서를 참조하십시오 당신은 아마 S3 대신 Github에서를 사용하는 것이 좋습니다 - CodePipeline에서 가능합니다.

내가 스크립트를 통해 전체 이러한 구성을 부트 스트랩이라고 생각

- 사용 AWS CLI - 쉽게 정리할 수있는이 방법이 같은 자원 :

: AWS codepipeline 삭제 - 파이프 라인 --name "MyJob을"

물론 aws 웹 콘솔을 통해 파이프 라인을 구성하고 정기적으로 코드를 실행하도록 구성된 파이프 라인을 유지할 수 있습니다.

+1

CodeDeploy는 EC2 인스턴스를 의미합니다. 그렇습니까? 나는 서버리스를 쫓고있다. –

+0

ok ..하지만 람다가 실제로하고있는 일을 고려해보십시오 .. 공중에서 코드를 실행하지 않습니다 .. 또한 ec2를 사용해야합니다. – walkeros

+1

맞아요,하지만 그건 내 관심사가 아닙니다. :) 인프라를 유지 관리하는 시간. 또한 가동 시간이 아닌 CPU 주기로 지불하고 싶습니다. –