header

About RDS

The Conversations Network

IT Conversations

Doug's Books and Papers

Doug's Blog

About Doug

Contact Doug

 
 

 


Strategies for Web Hosting
and Managed Services


Tips from Part 4: Technologies

Chapter 12: Web Site Architectures

  • Apply redundancy consistently. Don’t just address some single points of failure. Begin with the most vulnerable systems and components.
  • Don’t waste money by applying redundancy at both the component level and across multiple servers within the same architectural tier.
  • Include an analysis of the reliability of your web-hosting service’s infrastructure when developing your plans for redundancy.
  • All other things being equal (and except in the case of database servers - an exception that’s discussed in more detail later in this chapter), it’s better to use a larger number of redundant inexpensive servers than a smaller number of high-reliability ones.
  • Consider software license fee peculiarities when trying to optimize your web-site architecture. Expensive licenses may favor the use of a smaller number of larger servers.
  • Web-hosting service and MSP fees for rackspace and server management may also favor the use of a smaller number of larger servers.
  • If your site will be hosted on a shared server, but you need increased reliability, look for a web-hosting service that offers clustered servers. It’s usually only slightly more expensive than using non-clustered servers.
  • Add a load balancer (or use load-balancing services from your web-hosting service) as a cost-effective way to increase reliability.
  • An architecture is not fully redundant unless it includes redundant switches, load balancers, and links to your web-hosting service’s routers.
  • Database servers are the one case where it’s best to build redundancy into a single server before going to a multi-server architecture.
  • A hot-standby database configuration is a good intermediate step between a single-server design and a fully-redundant architecture.
  • Use a database cluster to achieve the highest levels of single-location database redundancy.
  • Unless you need the very high availability that can be achieved only through fully-distributed architectures, you can probably get the other benefits of such a configuration at a much lower cost by using a content delivery network.

Chapter 13: Caching and Content Delivery Networks

  • If you need to deliver more static content than your current web server(s) can handle, consider adding a reverse-proxy cache instead of another web server.
  • CDNs using the centralized model (4-30 edge servers) tend to work best for web sites with low to medium traffic volumes. High-volume sites may do better with a CDN based on the distributed model.
  • For guaranteed performance levels, look for a vendor that offers pre-loading of your content.
  • Vendors that use URL re-writing allow you to get up and running on their CDNs with very little investment and little risk of lock-in.
  • Create separate virtual servers for images and other types of static objects (e.g., audio and video files). This will give you the option of moving these objects to dedicated servers or having them managed by a CDN without making any changes to your HTML or applications.
  • Create aliases with CNAME records or delegate subdomains to your CDN rather than give it control over all of your DNS.
  • Be wary of CDNs that require you to modify your URLs in ways that are unique to one vendor. If you decide to use a CDN that requires modification of your URLs, try to make the changes in a manner that’s automatically reversible, for instance by changing an environment variable or configuration parameter.
  • Look for a CDN that supports ESIs (edge-side includes) to deliver dynamically-generated content directly from its edge servers.
  • If you’re considering using a CDN for the delivery of on-demand streaming content, look for one that offers pre-loading as an option.
  • Be aware of the effects of third-party caching on your log files, particularly if your web site generates revenues from advertising.
  • Ask prospective CDN vendors if they participate in any content peering initiatives or if they plan to do so in the future.
  • Running your own tests, using your own content, is the only good way to evaluate the performance of CDNs.
  • When evaluating CDNs, use third-party measurement services that measure from locations as close as possible to the visitor’s browser. Ask the measurement-service provider how it addresses the problem of the proximity of its monitoring probes to the CDN’s edge servers.
  • Don’t use published comparisons of CDNs, or vendor-supplied test data as the basis for comparing content delivery networks in lieu of running your own tests.
  • Do some snooping on web sites that appear to have content and traffic volumes similar to yours. Find out what CDNs they use, then contact the site owners to find out their levels of satisfaction with those CDNs.
  • Make sure prospective CDNs support the file types and streaming formats you intend to use, and that they operate edge servers capable of handling those content types in the regions from which your visitors will access your web site.
  • If consumers are important to your business, ask prospective CDNs how they optimize content delivery to AOL users.
  • Evaluate the financial stability of prospective CDNs in the same way as you would a web-hosting service or MSP.
  • Include in your evaluation of vendors any CDNs that have relationships with your web-hosting service or MSP. But don’t limit your tests to only those CDNs; you may find another that’s better for your site.

Chapter 14: Connectivity Practices

  • Don’t use a web-hosting service that doesn’t purchase transit service from at least two major ISPs unless the web-hosting service is, itself, one of the major ISPs.
  • If a vendor has multiple, linked data centers, ask how those connections are used. The best answers are “never, ” “always,” and “for distributed architectures.” Stay away from “sometimes.”
  • Ask a prospective vendor if it has more than one data center in the area. If so, investigate how the data centers are connected to one another, and where the links to the major ISPs enter each of the buildings. Try to locate your servers in a facility that is as independent as possible from problems in another facility.
  • Ask your vendor what its policies are for upgrading the speed of its links. They should have such a policy in writing. Better yet, get an SLA that states that any link that exceeds one third of its capacity when measured using a monthly 95th percentile rule will promptly be upgraded.
  • Don’t use a web-hosting service that has any link slower than a DS-3.
  • Evaluate vendors’ connectivity by capacity/load ratio, not by capacity alone.
  • Don’t use a web-hosting service that makes use of any bandwidth-choking technologies.
  • Be aware of the market pricing for bandwidth. It’s a commodity and prices are continuing to drop.
  • Plan for (or at least consider) success. Calculate what you’ll pay for bandwidth if your web site is successful beyond your wildest dreams.

Chapter 15: Storage

  • Use DAS (direct attached storage) unless you (a) have more than 200GB of data, (b) need access to a single file system from multiple servers, or (c) need very high performance.
  • Use NAS (network attached storage) if you have between 200GB and 10TB of data, or you need access to a single file system from both Unix and Windows operating systems.
  • Use SAN-based storage for database servers and clusters if you need (a) maximum performance and reliability, (b) more than 200GB of database storage, or (c) a significant volume of write/update operations. Stick with DAS and NAS for the storage of static content, and DAS for smaller databases.
  • Don’t use a storage service provider (SSP) for your web site unless you have truly extraordinary storage or uptime requirements. Even then, consider that management of your storage may be a core competency that you must maintain in house.
  • If your web site includes more than 300GB of combined static and streaming content, consider using a GSS (global storage service), perhaps in combination with a CDN.

Chapter 16: Backup and Recovery

  • For maximum protection against the propagation of corrupted data, make full archives daily and keep them forever.
  • Make sure your archive strategy addresses undetected data corruption. If you can’t afford to retain all your full archives in perpetuity, adopt a plan for media rotation. But be aware that any time you re-use or rotate media you have some risk of loss due to the propagation of corrupted data.
  • Ask prospective vendors how long it will take them to recover a single file from tape. Check their data-recovery SLAs, if they have them.
  • If your site is small and simple, consider using your development system to back up your content in lieu of some of your vendor’s extra-cost services, such as archiving, tape rotation, and off-site storage.
  • Use a revision control system in your development environment as part of your complete backup and recovery strategy.
  • Use magnetic disk backup as intermediate storage between your live site and your web-hosting vendor’s tape archiving system.
  • Unless you have intermediate magnetic disk backups, make sure you have copies of your most recent data and content nearby, and another almost-as-recent copy off site at all times.
  • Review your backup and archive logs daily. Check that any recently added files and directories are included.
  • Run data recovery tests before servers are brought on line, and on a regular basis thereafter. Test for both complete recovery to a virgin server as well as recovery of individual files and databases.

Chapter 17: Security

  • Consider a good backup and recovery plan as the starting point for any security defense. Anything more should be justified on a cost/benefit basis.
  • There’s only one good way to deploy firewalls: Configure your web site as though you didn’t have a firewall, and then add one anyway.
  • Don’t use a firewall in front of your web servers unless access to your static content is restricted to authenticated visitors and unauthorized access would cause a substantial loss.
  • In three-tier architectures, install a firewall between your web servers and your application servers.
  • Always use packet filtering in the switches, routers, and load balancers that connect your web site to the Internet.
  • Don’t use shared firewalls under any circumstances.
  • If you want to deploy a network-based intrusion detection system, consider placing it in front of your application servers rather than in front of your entire web site.
  • If you decide to use a network-based IDS, consider outsourcing the reaction services to an MSS (managed security service).
  • Use a host-based IDS or data-integrity monitoring package as a low-cost substitute for a network-based IDS.
  • Never re-use the same password on more than one server or account.
  • Ask prospective vendors how they manage passwords. Give the highest marks to those that use token-based authentication systems.
  • As a way to evaluate a vendor’s security policies, telephone the vendor’s NOC, pretending to be an existing customer. If you’re able to get a password to a customer’s server or to the vendor’s administrative web site, there’s a serious problem.
  • Be wary of vendors’ shared administrative networks. Configurations in which the network itself is not shared are safer.
  • If you have an administrative network, secure it with a firewall.
  • Never store credit card numbers in your web-site database, even if they’re encrypted. Use a third-party credit-card processing service that will store your customer’s credit-card numbers for use in future transactions.
  • Ask vendors what security services they monitor or subscribe to, how promptly they install security-related patches, and if they test patches for compatibility with applications before installing them.
  • If your total annual web-site budget is greater than $1 million and your risks are substantially greater than just the loss of your static content, use an MSS (managed security service) to add knowledge, experience, and objectivity beyond what an MSP can provide.

Got another tip you think we should add to the list? Email it to tips.

More on Strategies for Web Hosting and Managed Services:
[ Book Home ] [ More Tips ] [ Resources ] [ Errata ]

 

 

All content on this web site is governed by a Creative Commons License.
©2006 RDS Strategies LLC ( Computer readable business description