Click here to Skip to main content
15,888,968 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I have some hardware devices that send some data that need to be stored on the cloud server and also I need to do some real time processing on them.

The data they send need to be preserved for months in some custom binary files. These files related to each device can grow in size up to 10GB over time.

There will client programs (mobile / web) that will be looking at the processed data at real time.

My prefered choice of language is C/C++/C#, since there is time sensitive number crunching involved.

Goal is write scalable application that can have thousands of such devices monitored on the cloud.


1) Do I have to upfront write the code for running on the cloud ( undestand Azure / amazon EC2) ? Can I write multi threaded desktop application and later migrate to cloud ?

2) I have used Message passing interface (MPI) in the past for clusters. Can I still use MPI ?

3) If I use microsoft azure API can I still host my software on Amazon cloud ?

4) For mobile devices to talk to the server, I understand that I need to have a webservice running. how can I convert a desktop program writeen in C++ / C# to act as a web service talking to client?

5) Are there any 3rd part frame works or tools that can help me with my work ?


Shashi
Posted

1 solution

1) I'm not aware of any tools to translate a multi-threaded desktop app to the cloud. The paradigms are very different so I would imagine this isn't really plausible.

2) If you build your solution on azure, there is a built-in service bus that handles the messaging between the different roles. You would probably want to leverage that.

3) You can have parts on Azure and parts on Amazon. Azure does not require you to host your worker roles and your web roles with them. However, there is no charge for data exchange within the azure data center. If you locate part of your solution on Amazon, you could be paying a needless data charge.

4) web services are a good idea to separate your business tier from your presentation tier anyway. Again, I'm not aware of any tools that convert from desktop to web service.

5) Lots. There are lots of training materials and examples for Azure. ASP.Net MVC is a great way to do your front end. WCF RIA services can give you a jump on the web services. Marmalade is a great cross-platform mobile framework.

I would also suggest you consider the advantages you might get storing the data in either SQL Azure or Azure Blob Storage. Those are two different offerings and have different features and performance. One or the other might give you an advantage storing your data.

HTH
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900