views:

149

answers:

3

What I need is a powerful machine that will run my .NET code one hour a day. I can't use EC2 cause it will loose all my data on shutdown. I need a virtual PC that I can start at specific time, and this PC should start my .exe/service/whatever automatically. Can I ask Amazon MapReduce to start a Windows instance and execute my code?

A: 

Can't you have your EC2 persist its data to S3?

Cade Roux
+1  A: 

Amazon MapReduce is a webservice for processing big chunk of data - not somewhere to run your .net code.

EC2 is virtual server hosting - can you save your data to an external webservice, on your own machine, or S3? This library is available from .net: http://developer.amazonwebservices.com/connect/entry.jspa?externalID=129

russau
I can save my app and data to S3. But how should I say to a new EC2 instance to run my app when it's started?
Sergey Kovalev
You can setup whatever you want on an instance, and configure your app to run at startup. Then 'bundle' the instance (http://docs.amazonwebservices.com/AWSEC2/latest/GettingStartedGuide/index.html?bundling-an-image-windows.html) all your settings get saved into an AMI that gets saved to S3. You can then start/stop your customised AMI whenever you want.
russau
+1  A: 

Amazon Elastic MapReduce is designated to be integrated with EC2 and S3, providing the infrastructure for intense data processing applications.

MapReduce is centered around the concept of Job Flow, where each Job can contain one or more steps. Each step takes some data from S3, distributes it to the EC2 instances configured and then writes the results back to S3.

So basically you're supposed to upload your application and data to S3, then configure how many and what type of EC2 instances you want, specify the location of your application and your data on S3 and then start the job. There are several ways in which you can start the job: either logging in to the AWS Management Console, or using the exisitng APIs or the Command Line tools.

There is also a C# Library for MapReduce available from Amazon that can help.

However, you should note that your application needs to employ to MapReduce programming model to be able to run distributedly, so you can't really just run any .Net code.

There's another post here with some good answers relating to .Net frameworks in regards to the MapReduce implementation.

Mircea Grelus