Design considerations for an Application Centermanaged environment
[Author's Note: Each month, this column discusses various aspects of the advanced administration of e-business sites. This month, I introduce you to the major features of Application Center and provide design considerations for deploying this server in your environment.]
Historically, deploying and managing multi-tier applications in Web farms or clustered environments has been complexin some cases, even impossible. This month, I explain the design, configuration, and implementation of Microsoft Application Center 2000 and show you how to use this server to deploy and manage even the most complex Web applications in Web farms and clustered environments. I introduce you to the six major Application Center features, delve into some of the more important design considerations, then discuss Application Center implementation. "Application Center Resources," page 2, lists additional articles and a white paper that will help as you consider using Application Center.
The Application Center Feature Set
Application Center has six major feature areas. Of course, you don't have to use all the features of the product. Nevertheless, this complete and concise list will help get you started thinking about which features you'll deploy in your shop.
Application Center applications. Application Center uses the concept of an application, which is a collection of resources (e.g., IIS Web sites, HTML and image files, Active Server PagesASPapplications, COM+ components and applications, database connections, security settings, registry settings) synchronized as a whole. You define which resources make up an Application Center application. An Application Center application lets you manage these resources as a logical grouping or, put another way, as one application image.
Application Center provides a Microsoft Management Console (MMC) snap-in to manage Application Center applications. You update and change an Application Center application from one console, which Figure 1, page 2, shows, then automatically synchronize those changes across large server arrays. Like most Microsoft products, Application Center is an open technology. All the server's APIs are exposed, which means that your developers can write Web-based management applications based on Application Center that perform well beyond the functionality of the MMC snap-in.
Realtime performance and health monitoring. Application Center provides an integrated view of Web application and server performance and health. What makes this monitoring special (and powerful) is that Application Center combines into one view all performance, event, and log data from all the servers in an Application Center cluster. Application Center has default monitors that handle such components as Web services, Application Center services, and system events. You can easily add thresholds (i.e., monitoring rules) to existing performance-data collectors to create additional monitors. For example, many performance-data collectors ship with Microsoft Commerce Server 2000. Application Center can integrate the Commerce Server performance collectors into its integrated monitoring.
When a data collector meets its threshold rules, the state of the data collector changes (e.g., from normal to critical). For example, you can define a CPU threshold so that a collector enters a critical state if processor utilization is greater than 90 percent for 1 minute. Using thresholds, you can define the areas of the system that you want to monitor. In addition, you can define conditions that warrant an alert. Some administrators want to receive 300 system-monitoring email messages (or pages) a day from Application Center; others want to be notified only in times of crisis.
Simplified load balancing. Load balancing distributes Web-application-processing loads evenly across multiple servers. Network Load Balancing (NLB) is a clustering technology that balances incoming IP traffic among the nodes in a multinode cluster, such as an IIS server farm, as Figure 2 shows. NLB decides on a packet-by-packet basis which packets a given server should process. The essence of NLB is a mapping of shared virtual IP (VIP) addresses to the real IP addresses of the servers that are part of the load-balancing scheme. Load-balanced servers (frequently called hosts) in an NLB cluster provide two important benefits:
- Application scalabilityAs application traffic increases, NLB lets you easily add servers to the cluster without bringing down the application.
- AvailabilityNLB automatically detects server failures in the cluster and automatically repartitions client traffic among the remaining available servers.
Fault tolerance. One big challenge that Web-application developers face is maintaining session state (sometimes called coherency) for a user as he or she moves among Web pages. The Application Center Request Forwarder preserves session state in a clustered Web server environment. In the event of a catastrophic failure on a server in an Application Center cluster (such as a NIC failure on the public Internet segment of the LAN), Request Forwarder automatically routes the session and all additional traffic to the next available server.
Application Center can also proactively repair software faults. Application Center enables high availability because no single point of failure exists within the cluster. Even if the Application Center cluster controller is unavailable, the cluster's other servers can handle requests, and the user is unaffected.
Application staging and deployment. Application Center simplifies the process of deploying Web content, Internet Server API (ISAPI) filters, and COM+ applications through the development, testing, and production life cycle. The server also allows seamless, incremental, scheduled application updates and upgrades without requiring system downtime. One of Application Center's primary functions is to coordinate the deployment of one or more single-application images to one or more servers. You can use a simple wizard to immediately deploy selected applications to selected servers. Or you can schedule applications for deployment in nonpeak hours.
Application replication. Application Center provides a core replication engine and drivers to move applications between cluster nodes. Application Center's replication technology is based on Microsoft Site Server 3.0's Content Replication System (CRS), and the engine keeps Web applications synchronized across arrays of multiple servers.