Web Application Hosting Platform


I am putting up this to discuss and confirm the method of hosting used in this project -

There is a website for a contest in asp.net - so many users will be accessing this website. Large volume of users to hit the website will be around the last 3 days after which the contest will close out.

Resources - we have opted for 3 shared server hostings. Same website is hosted on 3 different servers from different hosting companies like Directi, Indialinks and GoDaddy.
We have created subdomain names like www2.site.com, www3.site.com for purpose of redirection.

To balance the load - when user hits the domain, the main page of the website in a round robin fashion directs the users to each of this 3 servers. Once the user is on that server, they continue using the website throughout from that server.

Are there any loop holes in this strategy?

Why we have not opted for cloud hosting - the trouble we had was with a feature in website where user is able to upload files, the application needs a drive letter to store the files. Hosting like AWS and MS do not provide with any drive letters to objects of persistent storage. This was a bottleneck for our application and hence the above way out.

Who is Participating?
Ray PaseurCommented:
I have two concerns in the design:
Once the user is on that server, they continue using the website throughout from that server.
Have you ever tried to make that work?  I don't think I would want to depend on it.  You might want to consult someone at a large web site about how they handle load balancing.
... user is able to upload files, the application needs a drive letter to store the files
I have never used a drive letter in any web application, and I've been a web application developer since 1999.  If you use relative file paths, you would not need a drive letter.  If that's something that is keeping you from a cloud host, I would redesign the application so you can use a cloud host.  Over the life of the application, you'll find it easier than conventional shared hosting, and that explains why so many new web applications are going into the cloud.

Some possible learning resources:
Theory: http://en.wikipedia.org/wiki/Load_balancing_%28computing%29
PHP/MySQL: http://www.php.net/manual/en/intro.mysqlnd-ms.php
Zend: http://www.slideshare.net/e.zimuel/how-to-scale-php-applications
MemCacheD: http://www.php.net/manual/en/memcached.addservers.php
Cloud: http://en.wikipedia.org/wiki/Cloud_computing
Learn More: http://en.wikipedia.org/wiki/List_of_cloud_computing_conferences
Bernard S.CTOCommented:
Just to be sure:
- you have defined 4 subdomains www, www1, www2 and www3
- on a round-robin fashion, a call to www is redirected to one of the 3 others
- any user running at least one page on one of the 3 wwwX will stay on this server for some session time.

I would fear that this last point might fail sometimes, so I would probably place a cookie on the client machine to store which server was used lastly, and redirect to this one for at least n hours

However, this just solves the symptom: as Ray points, you seem to have a flaw in your design and you should solve it before you install some legacy in your apps and visitors.
Why should you have a disk drive letter?
What if you replace this X:\ by some /var/xdisk/  (and of course all windowsy \ by linuxy /)?
I can see a couple of issues with this setup.

1. If the main site/server has trouble, you are dead in the water because no one will get redirected to any of the other servers. So basically the main site is a single point of failure.

2. There is a very good chance that anyone returning to the site will not visit the homepage of the primary site, choosing instead to navigate back in their browser history or using a bookmark or a link they saved somewhere else (ie. someone emailed them the link) this would defeat the purpose of the primary site if everyone emailed the www2 address, because everyone would end up on that server instead of being balanced to an available server.

Regarding the file saving, the way you are running this, files are going to be uploaded to 4 different servers. How are you going to manage files with the same name (ie. how are you saving/naming the files that the users upload). I am assuming at some point you will need to copy them to one location for review/use.

It would probably be easier to use something like cloudfiles from rackspace or a similar offering from Amazon or MS to keep all your files in one location and not have to worry about file name conflicts. I believe they all have fairly easy to use API's to handle the uploads.

Good luck with your contest, I hope some of what I posted is helpful.
shaileshmonaniAuthor Commented:
Thanks for the feedback on this article.

The setup was kept the same as described here. No hurdles were faced, although the eventuality to face those mentioned here could have remained.  We didn't change our plans as we got assurances from our principal service providers against this.

THanks once again.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.