In this article, I'll guide you through the technologies used by web hosting providers. When you evaluate web hosting companies, the technologies available will determine if you'll use them for your business. You will want to consider languages, frameworks, web servers, databases, email and collaboration, DNS hosting, web statistics, control panels, support for publishing tools, third-party support, and hardware.
Languages and Frameworks
I've put together a list of popular web hosting languages and frameworks. Each offers different benefits and expertise for developing programs that will run on top of them. Taking stock of the range of available frameworks will help you determine which provider will best support your custom programs or third-party packages.
Here's the list:
Classic ASP (Active Server Pages)
CGI (Common Gateway Interface)
Shared hosting plans offer Microsoft classic ASP or ASP.NET or open source technologies such as PHP. Shared hosting targets price as a primary objective. Using a shared hosting plan is good for small to medium-size companies looking to have a small e-commerce site or Internet presence.
In my experience, smaller companies generally use packaged software. Using packaged software can help you get to market faster because you're spending less time on developing a solution. As your company grows, you may want to combine packaged software and your own in-house development extensions to meet your business requirements. As the company grows, you may want to move entirely to custom-developed solutions.
Dedicated or managed hosting is flexible and includes the ability to install custom framework or language support such as Cold Fusion, CGI or Java-based programs.
Regardless of company size, knowing what languages, frameworks are available is important. If you're an early adopter of new technology and like to be on the bleeding edge (using beta software), check with your web hosting provider to see if they participate in such programs.
The type of web server your company selects will depend on the type of applications your company uses. I list five popular web server platforms:
- Microsoft Internet Information Server (http://iis.net/)
Apache Tomcat (tomcat.apache.org)
IBM WebSphere (ibm.com/websphere)
Oracle WebLogic (oracle.com/weblogicserver)
Apache, Tomcat, and WebSphere can run on a Windows platform as well as a Linux /UNIX platform. IIS runs only on Microsoft Windows servers. Small to medium-size businesses tend to buy a package and implement on a platform. ASP.NET is popular and will run only on IIS. This will restrict you to a provider or hosting plan that supports IIS. PHP is part of the open source LAMP (Linux, Apache, MySQL, and PHP) stack. From my experience, it's the leading non–ASP.NET option. If you select IIS now, I recommend using IIS 7. This is the version released with Windows Server 2008. Windows Server 2008 R2 is almost released and will use IIS 7.5. For more information on IIS 7, check out www.iis.net/getstarted.
For larger companies, multiple platforms can be used. The web front end could be IIS driven, while the middle or back-end tier could use a combination of Apache, Tomcat, or WebSphere. Apache with Tomcat, WebSphere, and WebLogic all support Java-based applications. The underlying platform could be Windows Server or Linux/UNIX based.
Cloud computing offers both IIS- and Java-based platforms. Using cloud computing can help with a particular platform from a performance perspective, as your needs grow the resources are available and handled by the provider.
For businesses small, medium, or large you should verify with the hosting provider to see which platforms they have expertise on. You will want this expertise when any application issues arise.
The most common database platforms offered are:
- Microsoft Office Access
Microsoft SQL Server
Database offerings will be a difference maker for many plans. If you are a smaller company, the plan you choose will determine how much database space is offered. Lower-priced plans offer MySQL and Access database support. What data need will your application need? This will help you determine your database requirements now and into the future. Costs for overages can run into the hundreds of dollars per month. I recommend not using Access for anything beyond testing an application. Access is designed for desktop and single user applications.
For larger companies with more complex database needs, using a third-party provider can help save money, especially when using SQL Server, which tends to be priced per CPU for Internet applications. In traditional hosting scenarios, you pay for database by disk space size, per CPU.
For cloud computing, the pricing structure is different than traditional monthly plans. Cloud computing price is based on CPU cycles, bandwidth, and usage per hour. It's critical to determine your database requirements to maintain a competitive price point.
Email and Collaboration Hosting
Of all the categories in web hosting, email is one of the most critical to evaluate. I've listed some popular options:
- Microsoft Exchange Hosted Services
Microsoft Office Live
Provided by hoster
Having an external email provider can provide many benefits, including automatic spam filtering, user account management, and dynamic growth for your business. For a small to medium-size business, I'd recommend having email handled by your web-hosting provider or a service that specializes in email. In the world of anytime, anywhere, and any device, your email provider should be able support these requirements.
For companies of all sizes, uptime is critical since many applications will use email for notifications, such as new orders and updated information provided by clients. Other features to look for in email hosting are
- Shared calendaring
Mass mailing options
Number of accounts available
SPAM and antivirus protection
Recent trends show social networking minimizing the use of email, and I'd tend to agree. However email remains a mainstream component of formal business communication. Smaller companies can benefit from using a third-party provider that has more features. Larger companies could have the expertise to maintain email in house. I'd recommend that larger companies look at partnering with an outside company; doing so will allow them to focus on their business.
DNS provides the ability to use names instead of IP addresses. We take DNS for granted when working on the Internet. Here are some options to consider for DNS hosting:
Third-party provider (free or hosted)
Hoster-provided DNS services
Like email, DNS hosting can be independent of your web hosting provider. Registrars can offer additional DNS hosting along with registering domain names. Many include support having DNS services included in the purchase price. This can be an effective way to keep all registrar and DNS in a single location.
For small to medium businesses, DNS can be offered as part of your shared or virtual server package. The web-hosting provider should have trained staff and can help avoid major mistakes. If a mistake is made while updating DNS, it can take hours or even days to recover. This could impact your business greatly.
For larger companies, they'll usually have trained staff to handle DNS requests or host the entire DNS infrastructure. A friend of mine once said that DNS "is the simplest most complex system to manage." Translation: DNS is easy to implement, but because it's so flexible, it can quickly become complicated.
Regardless of company size, having a reliable DNS service is absolutely critical to a website's success.
Keeping track of what is happening on your website is important to measuring success. Some key elements to track are: page views, click-through rates, the types of pages that are entry points, the length of time on a particular page, and referrers. Here's a list of some popular web-tracking tools:
Urchin Software from Google
Microsoft Log Parser command-line tool
For smaller companies, using a tool provided by the web hoster may meet your needs. A tool such as SmarterStats, for example, has a nice UI, offers several out-of-the-box reports, and has the ability to customize data.
There are other alternatives that use the raw web server log files. The Log Parser is a free tool Microsoft provides to run reports. The tool uses SQL-like syntax to extract data. I suggest checking with your provider to see if they allow access to the raw log files. For more information and assistance, check out forums.iis.net/default.aspx?GroupID=51.
Running a website has many facets; how you measure success will depend on the types of tools that are available and the types of measurements you want to perform. In-depth reporting will help you gauge success or failure and guide you in making any changes in direction.
There are numerous ways you can implement control panels. A control panel can be used as a dashboard to control all facets of the server. Or you can use a control panel to maintain account information such as contacts, billing, and other business information. Automation, efficiency, and control over a variety of aspects of your business are a few of the reasons why you should consider using control panels. Here are a few common choices:
Parallels Plesk Panel
Custom control panels developed by hosting provider
For smaller companies using a shared, virtual server, or a multiple-server plan, using a prepackaged control panel can help turn manual tasks into point-and-click operations.
For larger companies, using a control panel can help maintain a large server environment. Some control panels offer an API to extend the control panel into other applications related to the business.
Support for Publishing Tools
When you're using a third-party provider, having the ability to publish your application is important. I've listed a few options that are popular in the hosting space:
- FTP (Standard, FTPS, SFTP)
Microsoft Visual Studio
FTP has been around since the Internet began. Remember that FTP is not secure by default. Your username and password are sent in clear text. Despite this, FTP still remains popular. Some FTP servers support various secure methods including FTPS (FTP over SSL) and SFTP (Secure FTP). I recommend looking for a secure solution. There are a few free FTP clients that support both protocols. FileZilla Client is one I'd recommend starting with.
The other options are more tool-driven and allow a developer to publish within the tool. These options are file-based solutions where static pages are managed. Some use FTP under the covers. FrontPage is a popular legacy solution; the current Microsoft solution is either SharePoint Designer or Expression Web.
For smaller companies with only one developer, most options will work. For medium to larger companies, having a single FTP account could be cumbersome. You'll probably have separate teams handling the website, marketing, and sales, for example. To publish content, each department could have a logon and password to publish content on demand.
Another strategy companies can implement is portal technology. For example, Microsoft provides Windows SharePoint Services (WSS). It's designed for collaborative team sites. In addition to WSS, there are a variety of open source portals available. Regardless of company size, you can have a flexible, secure solution which is all database driven.
Third-Party Support and Components
Additional components or tools are a big draw, especially on shared plans. Many ASP and ASP.NET ISVs have developed rich components. The components can extend a current feature built into the OS or expand the capability of web hosting. Here's a short list of vendors that offer an array of tools:
The tools these vendors offer are similar to the tools available in ASP or ASP.NET, but have more features. Other features to look for are support for DotNetNuke (dotnetnuke.com) web content management, e-commerce type components, or other custom-developed tools. Depending on the licensing, these things may be available at no cost.
For small companies, third-party offerings can greatly enhance the package. For example, if your company does a mass mailing each month, it would be good to have a hoster provider's support for tools to assist with collecting, authoring and sending mass advertisements to customers.
From past experience, I've seen smaller companies that don't have a dedicated developer use a hoster that has components available. This can help speed up development or enhance features in an application, and it's is definitely a plus to look for.
Medium and large companies can also take advantage of these components; however, the reasons for using them can be less compelling. Check with your provider to see whether it has discounted or will include third-party components and programs at reduced or no cost.
There are a wide variety of options to consider when you're thinking about capacity. This article isn't the place for an in-depth discussion of hardware configuration, but I'll mention a few key things to look for.
For a typical web server, try to get at least 2GB to 4GB of RAM. Of all the hardware components, RAM can provide the biggest benefit as far as performance goes. Multiple CPUs and physical or multicore processors help increase performance. Virtual servers allow providers to restrict how many processors are available. If you are a smaller company and run your website on the same machine, you'll probably have the web and database software installed together. Microsoft SQL Server Express is free and supports one processor and databases up to 4GB. This is pretty good for a small to medium-size website.
Smaller companies will probably start with shared plans. For shared servers, you'll not have input on the hardware configuration. Ask the provider if the web and database servers are on different machines. Also, check with the hosting provider to see if they restrict application pool memory.
Medium and large companies will likely use more than one server. Inquire about discounts or specialized configuration using SAN load-balancers in web-farm configuration or clustering situations. A load-balancer and clustering solution is meant for high-volume websites that require as close to 100 percent uptime as possible.
In cloud computing, this is less of an issue because as your processing needs increase, more resources become available. You'll want to check with the vendor on pricing. I think cloud computing shows real promise for small, medium, and large companies.
As you can see, there are a lot of options to consider when you're looking for a web hosting provider. Choose carefully and give yourself the best chance to make your website successful.
Steve Schofield has been a senior systems administrator for a Windows-based hosting provider. He had one of the first websites to run ASP.NET in production. He was an ASP.NET MVP from 2002 to 2006 and has been an IIS MVP since 2006. He's currently a senior support specialist for a large Midwest company.