Question

Is there any way a .NET windows app can be deployed on cloud? what about PaaS (platform as a service). I am very new to this all cloud buzz. Any help in this regard will be highly appreciated.

Was it helpful?

Solution

You've two major families of cloud infrastructures to think about: IAAS (infrastructure as a service), where you effectively rent a virtual machine by the hour, or PAAS (platform as a service) where you rent a full deployment infrastructure.

Amazon EC2 is the largest and leading player in the IAAS market. You can rent a VM with Windows Server (and SQL Server, if you wish) pre-installed and pre-configured. You need to deploy, configure and maintain your application yourself; the Visual Studio tools work well for this once you have your instance configured.

You also need to maintain Windows on the VM, too - this includes Windows updates.

Azure is the leading PAAS platform for Windows. Deploying an application to Azure is made fairly simple, as Microsoft have some excellent tools integrated with Visual Studio to make this as painless as possible. Microsoft will take care of maintenance of the operating system and the underlying plumbing, which can be an important configuration for medium-to-large size applications.

And as others have mentioned some vendors blend both approaches: AppHarbor has aspects of both an IAAS and a PAAS.

To get the best out of either platform it's worth using the specialist storage technologies. Both have a simple key/value pair storage system that is much faster than a SQL database, but with tradeoffs such as no support for transactions. However, depending on your application and its size, this can greatly speed things along.

The great benefit of cloud infrastructures is that you need no longer care about things such as

  • hosting a network of on-premise servers, with redundancy
  • high-speed two-way network connections
  • disaster recovery and backup
  • network latency internationally
  • scaling out: in general, you just buy another instance to handle extra load

If you already have a crack team of data centre experts on hand, and a superfast network, then it may well not be appropriate.

I'd suggest that you evaluate

  • the usage of the application: is it lightly used? internal or external?
  • the uptime requirements: how much money will you lose if when the site fails?
  • the amount of IT resource you have available: cloud infrastructures are "developer friendly" and can reduce the need for operations staff
  • your budget: it may actually be more cost effective to stay with an on premise system

Good luck!

OTHER TIPS

If you want simple cloud hosting you can choose between Azure or AppHarbor.

I haven't used AppHarbor personally, bit it looks very promising. The main idea is that you push a regular webapp to a git repository (Mercurial, svn and TFS also supported using integration with 3rd party source code hosters) and AppHarbor will build it, run test and deploy the app. That makes deployment quite simple. AppHarbor also a good selection of add-ons, including SQL Server, MongoDB etc.

Azure is a fullblown cloud hosting with various components like table storage, blob storage and similar components. It seems that really scalable solutions would need these kind of storage engines, but for most apps with backed by SQL-server I think AppHarbor is the simplest choice. (And you could still use blobs and tables from both Azure and S3 if you needed to.

Via Terminal Services / Remote Desktop / Citrix you can host your Windows Forms app on a server, and let customers work with them, as if they are locally installed. Some things (like local file access) work a bit different, but it is possible.

The client needs to install the software to access the service. Software like Remote Desktop is already installed on most Windows PC's.

The costs (both licensing and resources) are difference as hosting a web service. In general you cannot handle as much clients / server as a web app, but hosting a windows application is normally done for a limited number of clients, so that should not be the problem.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top