Migrating a legacy website to the cloud problems

ASP.NET MVC,Cloud 28 November 2011 | 0 Comments

I thought I’d just write a quick blog post to outline a few problems I’ve been having with moving a legacy ASP.NET website to the cloud, specifically AppHarbor.

1. Writing to disk.

The ASP.NE website allows admin users to upload images and PDF’s to the server to be displayed to clients. With the cloud this is tricky, specifically with AppHarbor you *can* write to the disk but its overwritten on each update to the website. The current option I’m researching is using something like Amazon S3 to handle storage. However tooling is the problem. Most HTML image controls/file managers (for lack of a better name) only work on local files, not files stored in the cloud.

2. Session state.

Storing the session state in the cloud is a slight problem I’ve found. Specifically when running more than one node of the website. Using something like memcached or even SQL Server solves the session state synchronisation between the multiple instances of the website.

3. Pricing

(Azure) Cloud hosting is rather expensive compared to shared hosting. Take for example, my initial solution involving Azure, Azure specifically (although rather well hidden) tells you that you need to run two instances to maintain 100% uptime as instances may be taken down for upgrades and so on.
This means that even running two extra small instances would cost $60 plus the SQL instance at $10.
AppHarbor helps solve this problem for my client (who is used to cheap hosting) by giving one instance for free.
As a side note, my company website has been running on one AppHarbor instance fine, having above 99.99% uptime which is excellent news for when I want to make small client websites viable. Although I will feel a little guilt for using just the free instance AppHarbor provides.

Leave a Reply