If you own or manage a business, you know that it's always good business to get more business—except when it puts you out of business. Growth is good, but growth that's too rapid can cause bad problems. And if you conduct business via the Web, you can easily find yourself the victim of overnight success just because a popular blog gives your site a thumbs-up. How do you prepare for quick scalability if/when you need it, without overpaying for bandwidth and storage capacity in the meantime?
When scalability matters most
If you have an e-commerce site, where you actually process orders and complete financial transactions online, it's even more important to be prepared for a sudden surge in traffic. Every potential visitor who reads about your great product and then tries to connect to your site and can't get through represents not just one potential sale that's lost, but also all the word-of-mouth advertising that person might have done for you in the future.
Even the "big boys" of e-commerce—Amazon, Wal-Mart, and the likes—are subject to these problems. A recent article in eWeek.com by Evan Schuman referenced a report from Keynote Systems, which monitors Internet traffic, that indicates these major sites may find themselves unable to handle the amount of traffic that could come their ways during the upcoming holiday season.
Indeed, one of the biggest challenges of running an e-commerce site is preparing for what can sometimes be drastic fluctuations in the traffic load. Some, such as seasonal increases for sites that sell holiday-related items, are predictable. Others, such as those that result from an unexpected plug by a well-known blogger, can occur out of the blue.
Important scalability factors
There are several factors to consider in determining whether your e-commerce site will stand up to the challenge (and opportunity) of a huge influx of visitors, inquiries and orders. These include:
A decade ago, when the analog modem was king, those who used the 'net were accustomed to the World Wide Wait. Today, with so many users having access to high speed broadband connections at home and dedicated links at work, Web surfers—and Web shoppers—are a much more impatient lot. If there's a bottleneck at the server side that prevents your pages from popping up immediately, some of them are likely to move on and never make that purchase. You must ensure that your Internet connection provides enough bandwidth to handle all of the users that simultaneously try to connect to your site — without slowing down to a crawl.
It's important to ensure that your server hardware is up to standards; if you anticipate a heavy traffic load, servers that support multiple processors and a large amount of memory, running an operating system that supports multiple processors, will allow you to scale more readily. Your database, especially, should be run on hardware with fast input/output capability.
It's also possible, although less likely, for your server's hard disk to be overwhelmed by the order information stored there. You need to ensure that you have plenty of disk space for this database to guard against losing order information. If you run out of space, customers may get error messages and be unable to place orders.
While not an IT factor, this is an important scalability issue if you're selling a physical product (as opposed to, for instance, PDF documents of which you can make an unlimited number of copies to distribute). Not having enough products to fulfill orders may force you to refund customers' payments or force customers to wait an inordinate amount of time to receive their orders. This can make for unhappy customers, especially during the holiday season when your products are being bought as gifts.
How scalability affects availability
The more scalable your e-commerce site, the less you'll have to worry about availability. However, issues other than traffic (such as hardware failure) can cause site downtime and cost you in lost sales. That's why your scalability plan should go hand-in-hand with high availability strategies such as:
- Redundant connectivity. A router with multiple WAN ports that supports dual Internet connections can not only allow you to aggregate bandwidth to provide for high traffic times, but can also allow failover so that if one connection goes down, your servers are still available to the Internet.
- Disk fault tolerance. RAID solutions can protect you from disk failures by allowing you to set up mirroring or striping with parity (or combinations of the two) so that if a disk on the server that holds important data or system files crashes, you can get back up and running with a minimum of lost time.
- Server clustering and farming. By configuring servers in clusters or "farms," you can implement load balancing to handle high traffic loads and/or provide for fault tolerance so that if the entire server goes down, another takes over for it seamlessly and transparently to your customers.
For more information about using Microsoft technologies to make your e-commerce sites more scalable and highly available, check out the following resources:
- Architectural Design: A Scalable, Highly Available Business Object Architecture, which includes sections on designing for scalability and availability.
- Web Server Load Balancing and Redundancy (white paper).
- Extended Scalability on the Data Tier, which discusses how to scale the data tier in an e-commerce environment and the partitioning mechanisms used to achieve scaling.
It pays to plan for the scalability of your e-commerce solution before the time comes that you need it, because otherwise you may lose out on the opportunity to make more sales and enhance your reputation. To take full advantage of the type of "overnight success" that can happen so easily on the Web, you need to start thinking now about how to enhance the scalability of your site in the short term as well as the long term.
Debra Littlejohn Shinder, MCSE, MVP is a technology consultant, trainer, and writer who has authored a number of books on computer operating systems, networking, and security. Deb is a tech editor, developmental editor, and contributor to over 20 additional books on subjects such as the Windows 2000 and Windows 2003 MCSE exams, CompTIA Security+ exam, and TruSecure's ICSA certification.