Back in May of 2008 I wrote an article “Selecting a DotNetNuke Hosting Provider Revisited”. Well, being almost a year-and-a-half later I thought it would be good to provide a 2009-2010 follow-up to the article to update based on new information, updates to hosting plans/offerings, as well as DotNetNuke performance in general. In this article I will talk though the thought process that I use when working with current and potential customers to select their hosting plan, environment and provider. This document has been updated based on current information, in addition, prior to going through the recommendations below I strongly recommend reading my article “Shared, Virtual Private Server, Dedicated of Cloud Hosting” to become familiar with the different levels of hosting.
Before I get into the individual basics when it comes to selecting a hosting plan I want to add a little bit of additional flair to the “Shared, Virtual Private Server, Dedicated, or Cloud” article that is listed above, I am not going to re-hash the entire document here, but I want to put an emphasis here on “quality of service”. When working with DotNetNuke, you have a tool at your disposal that can handle sites of all sizes, from your small 1-2 page sites to large enterprise e-commerce solutions. With this, you want to be sure that when selecting the time of plan, that you look not only at your current hosting needs, but what will you need in 6 months, a year, or two years.
The reason for this is simple. Lets say that you do have a simple 1-5 page site, shared hosting might be a great idea for you. However, what if your site has the potential of getting links from a site such as the New York Times? Could a shared hosting plan handle thousands of visitors in a single day? This is something that you have to consider as well, the lower level plans are not going to scale, and if you get the big exposure you don’t want to be that site that went down at a key moment.
With this out of the way, I’ll progress into the evaluation criteria of the individual features of the plans, it is important to note here that each one of these evaluation criteria apply to all types of hosting, they just might take on a slightly different importance depending on the selected solution.
The process that I follow when selecting a DotNetNuke hosting provider is somewhat complex, and as such, is broken into multiple parts. The following sections will outline the different areas that I evaluate when considering a hosting provider.
The most important items to review at first with a hosting provider are the technologies supported by the plan. Since DotNetNuke 4.x and later based on the ASP.NET 2.0 framework and utilizes SQL Server for its database backend we establish a minimum baseline of features that must be supported. This includes Windows based hosting with ASP.NET 2.0 support, and access to at least 1 SQL Server database. Now these are minimum features that must be there before you can even install DotNetNuke, but it is very important to validate these features to ensure that you do not have a plan that will not work for you. (NOTE: DotNetNuke 5.2.x and later will require ASP.NET 3.5 to be installed on the hosting provider)
Third-party dataproviders do exist to allow support of other database engines, however, the use of those is typically limited to more advanced users and their usage and requirements are well outside the scope of this article
Many people will often ask here what configuration is needed for SQL Server. Can we use a database on a shared server? Can we use SQL Express? Do we need SQL Standard Edition. These are all very valid questions and thankfully DotNetNuke supports running on all editions, in most cases express edition will work ok, as long as you have provisioned methods to ensure that backups are taken on a regular basis. Otherwise, the other editions will offer better performance under high load scenarios and are a must for sites with very intensive traffic or modules that are incredibly database intensive.
Disk Space (Website and SQL) and Bandwidth
The next areas that you need to investigate when selecting a hosting provider is the allotment of disk space and SQL Server database space. A typical clean DotNetNuke installation will result in a website file system size of 20-25Mb and a database file size of around 11-15Mb. Ensuring that you have the proper room to grow on both the database and file system side is very important. To give you a general idea, this website which is hosted on a DNN installation that supports 5 individual portals, 200-250 tabs and over 3500 users has a database footprint of about 52Mb and a file system footprint of 500Mb. This information was provided only as an example and is in now way an illustration of the type of space requirements your site might require.
When considering the space needed for your site, you need to look at 2 different aspects. The first is how many files you will be loading; in 99.9% of circumstances files served to users via DotNetNuke are stored in the file system and not the database. Therefore these documents size will be deducted from your file system allotment and not the database. The second is to consider the number of pages, static html content, forum posts, users etc. This is the hard one as it is very hard to predict the growth of a site with any accuracy. However, all of these items are the direct makers of your database size.
I have found that for a typical DNN installation users are able to get by with a hosting plan providing 100Mb SQL Server databases, however, it is important here to remember that as your site grows, you need to be sure to have an action plan should your database need to grow past 100Mb in size.
After you have determined your needs for SQL Server and file system size, you must evaluate your needs for bandwidth. Bandwidth is typically measured as the total incoming and outgoing traffic from your site via ANY communication channel to the server (HTTP, Email, FTP, etc.). Calculations on this side are very hard to come up with, and when selecting a hosting provider it is often best to go with the host with the biggest allotment of bandwidth, as overages in bandwidth can become very expensive.
I find that this is one area that many individuals do not look at when first setting up a DotNetNuke website, but it is very important to take into consideration the future growth of your site. Will you potentially need to host more than this single DotNetNuke site? Potentially a subdomain with another .NET or other application? How about multiple portals, is it possible that in the future you will need to host more than 1 domain from your current installation?
These are all very important questions and depending on your specific answers some hosting providers might not be for you. As I look back at the sites that I have hosted as part of my business, IowaComputerGurus Inc., I started out with a single DotNetNuke site, however, now we host 20 DotNetNuke Installations, 7 standard ASP.NET sites, and a number of other various sites/technologies. Be sure that you talk with any potential hosting provider to understand your limitations, before it is too late.
Dedicated Application Pool and Full Trust
The next thing that I look for when evaluating hosting providers for DotNetNuke support is to see if they provide dedicated application pools and support full trust mode. A dedicated application pool isolates your DNN site from all other sites on the hosting server; this prevents issues on other sites from affecting your site. This is something that not all hosts provide however something that I believe is a must have. The support of full trust simply makes things easier when working with DNN, when not in full trust mode some modules may not work, especially those who try to communicate to other websites such as the News Feeds Module. If you are able to run DNN in Full Trust you will minimize the amount of trouble you have later when working with modules.
Supporting Installation to Root
One issue that plagues users of GoDaddy.com hosting is that they do not support installation of DotNetNuke at the root of a domain, http://www.mysite.com as they cannot set the permissions properly. You can get around this on GoDaddy using a "hack" of sorts, but in my opinion if you cannot install DNN on the root of the domain and you cannot grant full file permissions to the ASP.NET worker process you MUST move to a different hosting provider
DNN Support (Where To Get It?)
The next item to consider is how much DNN support do you expect from your hosting provider? Do you expect your host to offer an automatic installation so you can get DNN up and running without any manual installation? Do you want your hosting provider to upgrade your site for you automatically? Or are you comfortable doing these items yourself, or finding a third party person to handle these items on a case by case basis? (Such as my company's DNN Technical Support Offering)
These are important questions to ask yourself and also if you decided that you want a hosting provider that "does it all" you will want to further investigate your selected provider of choice to ensure that you agree with their terms and conditions. Some of the "we do it all" providers will upgrade sites and apply non-standard "patches" to a DNN installation prior to notifying the customer. For some people this is ok, however, for others like myself this is a critical issue.
Regardless of which option you choose, be sure that you know where you will go for DNN support should you need it during installation, upgrade, or any other time while running your DNN site.
Customer Support Response
Another item to consider is the responses of the customer service team. Regardless of what hosting provider you select you will at some time interact with their customer support team. It is important to know their standard response times, as well as to get a bit of history from current customers if possible regarding the quality of these responses. I find that this is something that doesn't necessarily get addressed until after a provider has been selected and at that time it is almost too late.
I highly recommend trying to contact the support team, just to see how quickly you get a response, try them out to see if you will be able to work with their schedule and level of service. Just because a support team responds quickly does not mean that they are providing good service, many hosting providers will provide the illusion of service by promptly responding, but requiring many communications to get the process started.
Uptime and Reputation In Community
The final item that I research with a hosting provider is their posted uptime and the overall view of the provider in the community. For example if you search on DotNetNuke for hosting you will find many bad comments about WebHost4Life and GoDaddy, but you will also find many positive comments about the awesome support of 3Essentials or PowerDNN. I take this information into consideration, but I always treat it with a grain of salt to be on the safe side as typically an upset customer is much more willing to make their opinion known. Just as those of you reading this article should validate the information presented within.
What Do I Recommend?
I know many readers of this article want to know what I recommend for hosting, and I will summarize this in three separate sections.
For shared hosting support I work and primarily recommend individuals to one of two companies. 3Essentials or PowerDNN. The reason I provide two recommendations here is that PowerDNN is a more costly solution, however, they offer the DNN Support that many people are looking for.
Although you will find some individuals in the DotNetNuke community that state that VPS environments are not good for DNN, I will continue to disagree with this as I have a number of clients successfully running in a VPS environment. For these environments I recommend “hosting.com” (Previously known as HostMySite.com). They have good prices and great support.
Power DNN has also just recently started offering a VPS solution again. I have not yet had an opportunity to see a site run on this platform, but it is another viable option.
For dedicated hosting I will recommend PowerDNN or Rackspace to must of my customers. In this arena PowerDNN is the standard recommendation as they provide DNN support services however as such you do pay a bit of a premium, however, the access they provide and their network is very impressive.
Conclusion and Disclaimer
I hope that this article has provided a little insight to the criteria that I use to evaluate and recommend hosting providers for DotNetNuke. Please remember that these are simply my thoughts and are no way blanket recommendations.
I will also officially go on record that I am a registered affiliate of both 3Essentials and PowerDNN, the links provided in this article do include my affiliate id, and I get a small kickback for any new accounts that are created. In addition I am an active customer of both 3Essentials and PowerDNN. 3Essentials hosts 10-15 clients of mine on a shared hosting plan that we manage, and I have a dedicated server with PowerDNN that hosts this site, and all other IowaComputerGurus Inc. websites.
If you have specific questions regarding your hosting needs please feel free to e-mail me at any time. (firstname.lastname@example.org)