The Importance of Scaling


One way to define scaling is as "the ability to enlarge or reduce a design." In the computer science world, scaling applies generally to growing an application to handle more traffic, tasks, and transactionsbut that is not the only definition. For this reason, we're going to focus on the issue of scaling as the ability to grow your ColdFusion application to handle a larger load, process more transactions, and work more easily overall.

Generally, when you look at scaling ColdFusion applications, there are several distinct areas to consider. These areas are:

  • Hardware (your application server, database server, etc.)

  • Software (how you design and build and deploy your application)

  • Infrastructure (the network, switches, routers, and hardware load balancing systems)

  • Special scaling systems (third-party caching tools, proxy servers, and other methods of scaling an application that stand apart from the main system)

Since scaling is such a substantial topic, this chapter addresses only the most common aspects of scaling. This chapters purpose is to give you a working understanding of some of the major factors and considerations involved in scaling a application. Before you embark on developing a large scale high availability system your self you need to be thoroughly comfortable with all the subject material in this chapter or consult someone who is.

Almost all accepted best practices and approaches to scaling ColdFusion, and web applications in general, involve clustering which we touched on in Chapter 1. Clustering does not only offer the possibility for failover but is generally the easiest method for scaling an application horizontally. In this case horizontally means the addition of servers while vertically means the increasing of servers resources through the addition of things like CPU's and more memory.

Clustering allows you to create a group of servers that act like a single system. Most modern clustering approaches take advantage of hardware, software, and networking strategies that allow you to easily add or remove servers to an existing cluster with out having to experience any down time.

Running one Web site on one server is relatively straightforward: You know that every Web request goes to the same Web server software and ColdFusion MX 7 service, with the same settings and environment. But as soon as you add a second server, you are faced with a host of technical challenges. The following sections examine some of the implications. Later in this chapter, we'll review some of the principal technologies that enable you to effectively distribute your traffic across multiple servers, and how such technologies are implemented.



Advanced Macromedia ColdFusion MX 7 Application Development
Advanced Macromedia ColdFusion MX 7 Application Development
ISBN: 0321292693
EAN: 2147483647
Year: 2006
Pages: 240
Authors: Ben Forta, et al

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net