This article contains tips and caveats for anyone who is looking to deploy their ASP.NET web application with a web hosting provider. This article does not recommend a specific web hosting provider, but only provides information. Every application will have different needs and requirements, so ultimately the choice will be up to you to select an appropriate web hosting provider that best meets those specific needs. This article assumes you are looking to host a small business or personal web site for less than U.S. $200 a year, and focuses on the special hosting requirements of ASP.NET web applications. I hope that this article will give you some help in finding the right hosting provider.
Web site hosting can range from free, to a couple dollars a month, to several hundred dollars a month. The first step is to identify what your application needs, versus what the host can offer for their price. Make a list of the technologies and requirements for your application with special attention to the following:
- How much disk space does your application require? If you plan to stream music or video, you will want to find a web hosting provider offering large amounts of disk space.
- How much bandwidth will your application require? This can be a difficult number to estimate, but most small business and personal web sites will be under 4GB a month.
- What type of database does your application require? If given the choice between developing for Access and developing for SQL Server, favor SQL Server. Even if you do not have a SQL Server license you can develop against the free MSDE version and deploy to SQL Server when your application goes live. The SQL Server engine has the capabilities to scale up and beyond a point where Access will begin to fail. Unless you plan to stay small forever, start with SQL Server from the beginning.
- How much space does your database require? Generally, web hosting providers will charge less per MB of file storage then they do per MB of database storage.
- Do you need an SSL certificate to process credit card orders securely? If so, you may want to look for a host that can acquire and install a certificate for your site at a reasonable price instead of acquiring a certificate on your own to hand over. Does your application need to send emails to members?
- Do you need to receive email through the same domain as the web site? Most providers will offer free email services to their customers, but check and make sure the number of mailboxes and the mail management features are suitable for your needs.
Keep your list handy while paging through the lists of available website hosting providers. You should be able to discard those hosting providers that do not meet your needs as an ASP.NET host, or do not have flexible bandwidth and storage plans.
Narrow the Field
Once you’ve narrowed your choices down to four or five candidates, it’ time to drill into specifics. You should consider calling or emailing your shortlist of web hosting providers with any questions that may arise from the following material. You’ll want to know how easy the provider is to work with, how quickly they can respond, how technically accurate their answers are. If they cannot impress you when you are a potential customer, chances are they will not impress you once you’ve signed up and sent them money.
Here are several areas where you will want to evaluate the web hosting provider.
Find out details about your hosting provider’s backup strategy. Find out what and how often they back up the file system and the database. Ask about the turn around time for restoring a site.
You might want to know a bit about the provider’s infrastructure. Find out if they have redundant connections to the Internet. You can also ask about a provider’s reliability in newsgroups and email forms, but take any third party feedback from an un-trusted source with a grain of salt. Many more people are likely to complain about small problems then they are to praise small successes.
Deployments & Management
When it comes time to get your application to the hosting provider, most hosts will offer FTP access, or Front Page Extensions (FPE) access, or both. Favor FPE over FTP access. Visual Studio 2003 provides the ability to copy a web project to a remote server using FPE (Visual Studio 2005 will also support FTP). FPE should also allow the hosting provider to offer you a control panel to mange more aspects of your application over the web. Ask to see a demo or screen shots of the screens available to manage directories and permissions.
For SQL Server, a hosting provider should allow you to connect directly with a tool like Visual Studio .NET, Enterprise Manager, or Query Analyzer (of the three, Query Analyzer may be the preferred tool because of the three it is the least chatty). If the hosting provider only offers a web interface, you may face difficulty in using standard tools and scripts when installing, maintaining, and updating your database.
You’ll want to know the who, what, when, and where about incoming traffic to your site. Most web hosting providers will provide pre-built reports from the web server logs to let you know how many hits you receive. You’ll want to ask the web host for a sample of the reports to see if they give you information you can use. Reports that include referrers (how people came to your site) as well as 404 errors (so you know when there is a bad link) can be extremely useful. Some providers will also let you download the raw log files if you want to build your own reports.
For ASP.NET, you’ll want to make sure your web host is using Windows Server 2003 and keeps up to date on patches. Ask the provider about how and when they apply security fixes.
You should strongly consider developing and executing your ASP.NET application with partial trust. See the Microsoft document “Using Code Access Security with ASP .NET” for details.
Does your application make use of any components or services outside of the .NET framework? Do you rely on MSXML 4 or WSE 2 or running a scheduled task every night? If so, you’ll want to ask the web hosting provider if these components and services are available.
Does your application use an HttpModule or HttpHandler for URL rewriting or other special processing needs? If so, you’ll want to check if the web host allows these technologies.
Most web hosting providers will offer free components and controls with your hosting package. Many of the controls are already free, so evaluate the package with a critical eye. Other web hosts can offer additional services, like SQL Server Reporting Services, for a fee.
Once you’ve evaluated the web hosting providers against all of the criteria important to you and your application, it’s time to make the selection. Be sure to read contracts carefully and make sure you have the ability to upgrade your plan if need be. In the end, you’ll also want to favor those web hosts who have been in the business the longest, because they would not be around so long if they were not keeping customers happy.