Any User. Any Data. Any Deployment. Clustering in Actuate 9 High Availability and Scalability High availability is a requirement for business web sites that cannot afford down time. At the same time, the ability to scale up an initial deployment to handle ten times or more users is frequently desired. As a result, web sites are now commonly designed using multiple tiers of systems that feature clusters of computers. This paper describes features of Actuate 9 that support this model of computing. Technical White Paper Technical White Paper: Clustering in Actuate 9 Notice The information in this white paper is proprietary to Actuate Corporation (“Actuate”) and may not be used in any form without the prior consent of Actuate. © 2002-2007 by Actuate Corporation. All rights reserved. Actuate Corporation trademarks and registered trademarks: Actuate, e.Analysis, e.Report, e.Reporting, e.Spreadsheet, Formula One, Internet Spreadsheet, Live Report Extension, ReportCast, Report Encyclopedia, SmartReports, Spreadsheets Everywhere, Tidestone, and XML reports. All other trademarks are property of their respective owners. Version 1.7 – July 5, 2007 © Actuate Corporation 2 Technical White Paper: Clustering in Actuate 9 Contents Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Highly Available Scalable Web Site Principles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Actuate iServer Architecture Goals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Scalability. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 High Availability. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Security. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Manageability. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Scalability and High Availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Architecture Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Encyclopedia Storage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Multi-Volume Encyclopedia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Manageability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Browser-Based Administration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 System Management and Monitoring. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Application Scenario — MyInsurance.com. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Initial Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Expanded Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3 Technical White Paper: Clustering in Actuate 9 Introduction More than ever, companies rely on getting the right information at the right time to their employees, customers, suppliers, and partners. To meet these every-increasing needs, many Global 9000 companies are developing mission-critical Enterprise Reporting Applications, such as Business Process Management (BPM) dashboards, information portals, business analytic applications, and interactive reporting applications. The Actuate iServer makes it easy for companies to cost-effectively build and centrally manage web-based Enterprise Reporting Applications that serve the needs of 100% of the users. High availability is a requirement for Enterprise Reporting Applications that cannot afford down time. At the same time, the ability to scale up an initial deployment to handle ten times or more users is frequently desired. Deploying an Enterprise Reporting Application in a cluster configuration allows a business to achieve high availability with the ability to grow its capacity by incrementally adding servers. This paper describes features of Actuate 9 that support this model of computing. The first section outlines the general environment such a solution must fit into, while the following sections present the architectural goals and the Actuate solution. Highly Available Scalable Web Site Principles The technical details of a highly-available, scalable web-based Enterprise Reporting Application can be quite complex, but it is useful to review the basic principles. A simplified logical diagram of such an application is presented in Figure 1. Multiple Internet Service Providers (ISPs) provide independent access points from the Internet into the web site. If one of the ISPs goes down, the others will continue to make the site available. User requests are presented to the first security and load-balancing layer. This layer is typically implemented as a combination of specialized hardware and general-purpose systems, but there must be at least two of each kind of system to avoid having a single point of failure. … ISP 1 ISP N Security / Load Balancing Firewall Web / Application Server Tier Security / Load Balancing Firewall Data Resource Tier SAP Oracle Actuate LDAP Storage RAID Subsystems Figure 1. Highly available, scalable, web-based information application The first load-balancing layer is usually stateless, routing requests to the least busy web or application server. Stateless load balancing is made possible by not storing persistent long-term application data on any of the systems in this tier. This has the advantage of scaling easily by adding additional identical systems (“clones”), as well as enhancing security by locating sensitive data behind a second firewall on a secure network. The second load balancing / security layer is located in front of the data resource tier, where persistent data is managed. This load-balancing layer may contain application logic that routes requests to the server in the data resource tier which is capable of processing the request. Usually this logic is executed in the application server. The data resource tier in Figure 1 shows a number of specialized servers responsible for managing different parts of a company’s business operations: SAP for manufacturing, Oracle for general database services, Actuate for information delivery, and an 4 Technical White Paper: Clustering in Actuate 9 LDAP system for providing consistent security across all applications. These servers must all be clustered to provide scalability and high availability. Clustering of data resource servers is more challenging than clustering front-end servers because of the persistent data (state) they maintain. The data resource servers access information stored on redundant disks in the storage tier, either directly connected to the servers or indirectly over a network. Each disk subsystem must be a RAID device, which provides high availability for the persistent data. While there are at least three possible technologies for the storage tier—storage area network (SAN), network attached storage (NAS), or system attached storage—RAID is required in all of them so there is no single point of failure in the storage system. Actuate iServer Architecture Goals The goals for Actuate iServer include major improvements in four key areas: scalability, availability, security, and manageability. Scalability Scalability is the property that allows a system to grow incrementally by adding resources to meet increasing business demands. There are two aspects to scalability: processing scalability and storage scalability. Processing scalability is the ability to handle increasing user requests for content generation and viewing while maintaining acceptable response time. Effective load balancing and partitioning techniques are required to achieve scalability in a clustered environment. The Actuate iServer provides these capabilities automatically. Storage scalability is the ability to handle increasing numbers of persistent documents and associated objects as the number of users increases. The Actuate Encyclopedia can be expanded practically indefinitely by adding logical volumes and physical disk partitions for additional storage capacity. High Availability Highly available systems remain on-line continuously, using redundant components to continue processing in the event of a single component failure. The most fundamental principle of highly available systems is no single point of failure. Every part of the system needs a backup that can either continuously share or quickly take over processing in the event of a failure. In addition, it must be possible to change and expand the configuration of the system without taking it offline. Thus the goals of scalability and high availability must be achieved at the same time. The Actuate iServer can be configured on a single machine, or in a cluster with no single point of failure. Every machine in the cluster is working all the time (no passive nodes), with automatic fail-over when needed. Security The security system must protect sensitive data from unauthorized access. To start, firewalls block certain kinds of requests from getting through, such as requests from unknown sources, requests from sources known to be malicious, or requests for operations that have been disallowed. Thus information delivery servers must work smoothly with firewalls. Once past the firewall, requests must be authenticated to ensure that a valid user is making the request, and authorized to see that the user is allowed to perform the requested operation. All applications need to perform authentication and authorization. Ideally there would be a single place to store user information so the security policy would be consistent across applications. Achieving this requires applications that integrate with a global security manager, such as an LDAP server, to perform these functions. Actuate can be configured easily to work in multiple firewall environments. Millions of users can be managed internally with good performance, or an external security service such as an LDAP server may be used, depending on customer preference. Manageability Management refers to the activities needed to monitor and maintain the availability and performance of a system. Managing a cluster efficiently requires a single console where an administrator can initiate, monitor, and terminate 5 Technical White Paper: Clustering in Actuate 9 system functions. Often it is desirable to perform these functions remotely (i.e. over the Internet) because the cluster under management is in another location. The Actuate iServer includes the Management Console, a browser-based administration console for managing clusters and individual machines. The Management Console can handle millions of users and objects without overloading the network or exceeding browser display limits. In addition, there are APIs for integrating with 3rd party management and monitoring tools. Internet Firewall Web / App Server + ReportCast iPortal 6 Firewall Data Resource Tier Scalability and High Availability Actuate achieves scalability and high availability using an iServer cluster, a group of multiple active machines with a single virtual IP address. Requests arrive at the cluster and are routed to the most appropriate machine based on the available services and load on each machine. Machines may be added and services reconfigured to provide processing scalability while the cluster remains on-line. To provide storage scalability, Actuate offers a multi-volume Encyclopedia. Each volume is an independent unit which may be added, dropped, backed up, and restored while the rest of the system remains on-line. In addition, disk partitions can be dynamically added and dropped for each volume. Fault tolerance for high availability is provided by two mechanisms: “cloning” of Message Distribution, Factory, and Viewing services (which are stateless) and partitioning of Encyclopedia services (which are stateful) with automatic recovery and fail over. These mechanisms are described in more detail in the following sections. Architecture Overview The architecture diagram in Figure 2 shows a highly available Actuate iServer cluster with six nodes. For simplicity, the redundant ISPs are assumed to be inside the cloud, though of course they are required for high availability. For storage, this example shows network attached storage (NAS) with RAID assumed. VIP VIP e.Reporting Server cluster F V EE M G R R F M G V V E E F V V E R G M e.Reporting Server nodes F V E3 R G M LAN E1 G V E1 R F M Storage Tier F V V E2 E2 R G M S1 F1 S2 F2 S3 F3 M = Message Distribution R = Request service serviceF = G Factory = Generation/print service V service = ViewingVservice = Viewingservice E = Encyclopedia E =service Encyclopedia S = Encyclopedia service F =volume Encyclopedia on file/storage volume server on file/stora ge server Figure 2. Actuate iServer architecture Internet requests passed by the front firewall are sent to the virtual IP address of the front-end web/ application server cluster. Stateless load balancing techniques such as Windows Load Balancing Service (WLBS), Cisco Local Director, and so on are used to route the request to the least busy machine in the cluster. Some requests, such as for a static web page, may be handled entirely by a front-end server. For other requests, application logic decides whether to route a request to Actuate or some other backend service such as Siebel or SAP (not shown in this diagram). Applications communicate with the iServer cluster by sending URLs to iPortal, which is an application running in the web/application server that provides access to reporting content to end users. iPortal then makes the appropriate calls to the iServer. iPortal maintains a list of iServer nodes and therefore can perform the load balancing of requests among the 6 Technical White Paper: Clustering in Actuate 9 iServer nodes running the Message Distribution Service. Alternatively, the customer can use a virtual IP (VIP) with stateless load balancing (such as such as Windows Load Balancing Service, Cisco LocalDirector, and Resonate Central Dispatch) as the entry point to the Actuate cluster. Clusters can be heterogeneous if desired—some nodes can run Windows, while others run Unix. Each node of the cluster runs one or more iServer services: • Message Distribution services accept messages from applications and load balance them across the other Actuate services in the cluster. Load balancing is based on machine state, availability of the service, availability of the data, and machine load. Message Distribution can services run on machines configured to be part of the VIP layer. If desired, every machine in the cluster can be configured to run the Message Distribution Service (for example, two node clusters are always configured like this). Message Distribution services are stateless and can be handled by any machine. Message Distribution services are also responsible for monitoring the health of the cluster, periodically checking the heartbeat of all services. If a service does not respond, it is removed from the cluster configuration and receives no further requests. If the failed service was responsible for managing a Encyclopedia volume, Message Distribution services reassign another node to that volume. to a node that has already cached the document—as long as the machine is not saturated. The Message Distribution service’s load balancing algorithm takes these factors into account. • Factory services generate new content from data sources and, if the content is persistent, request it to be stored in the Encyclopedia. Server-side printing is also handled by this service. Generation is the most CPUintensive activity of the iServer cluster. Report generation requests are either synchronous (interactive) or asynchronous (scheduled). If a synchronous request fails for any reason, the application will receive an error code and must resubmit the request. Asynchronous requests that fail are automatically rescheduled. Either kind of resubmitted request can run on any Factory service available at that time. • Encyclopedia services manage Encyclopedia volumes, adding, deleting, updating, and listing various kinds of objects (users, privileges, folders, content, disk partitions, etc.). Each Encyclopedia service manages one or more volumes; and each volume is managed by one Encyclopedia service. If an Encyclopedia service fails, another node in the cluster must recover the volume and take over volume management. Message Distribution services are responsible for detecting this condition and assigning a new owner for the volume. Note that while the Message Distribution Service (MDS) performs load balancing and failure detection within the Actuate cluster, a highly available configuration requires that more than one cluster node run the MDS, and therefore requests must also be load balanced among multiple MDS instances. iPortal can be configured to perform MDS load balancing and failure detection. To provide high availability, at least two instances of each service must be running, each on a separate machine. If one of the machines fails, the other one(s) will continue running the service. In the case of Message Distribution, Factory, and Viewing services, requests are stateless so no recovery is needed. The user or application merely resubmits the request (for example by clicking the reload button in the browser). • Viewing services render content in various formats (DHTML, PDF, XML, XLS, CSV) for use in browsers and other applications; handle requests to search content; enforce page security; and demand page large documents for high performance. Viewing is a very CPU-intensive activity. Encyclopedia services maintain persistent state in Encyclopedia volumes. If an Encyclopedia service fails, a new one must be assigned to recover the volume and take over processing. Message Distribution services are responsible for detecting the failure, removing the failed service from the cluster configuration, and reassigning a new Encyclopedia service to the volume. Viewing requests are stateless, though performance may be better if viewing requests for a document go 7 Technical White Paper: Clustering in Actuate 9 Every node in the cluster has the same software installed. As a result, the administrator can configure services as required on any node. In Figure 2, Message Distribution services are shown running on the top two nodes. Factory services run on all four remaining nodes, while Viewing services run on three nodes. Encyclopedia volumes S1, S2, and S3 are managed by Encyclopedia services E1, E2, and E3 respectively. http://maui:8080/iportal/getfolderitems.do?volume=DATE&folder=/sales/west Folder path name Volume name iPortal action iPortal application root Cluster DNS name Figure 3. Volume and folder naming Encyclopedia Storage In a highly available Actuate cluster, the Encyclopedia can be deployed on a variety of storage devices and accessed by a variety of file sharing methods. The choice of storage solution is largely transparent to Actuate, so customers can chose the solution that fits in best with their existing infrastructure. To deploy Actuate in a highly available cluster, the only requirements of the storage are: 1.Every iServer cluster node that runs any of the Factory, Viewing, or Encyclopedia Services must be able to read and write to the encyclopedia directly. This means that every cluster node must be able to access the storage devices that store the encyclopedia. 2.Both the storage and the file system must be deployed in a highly available fashion, with either failover capabilities or built-in redundancy. A highly-available NAS (Network Attached Storage) is specifically designed to share storage resources among several computers, and is ideally suited to the requirements of an Actuate cluster. Storage Area Networks provide excellent availability and important administration benefits; however the storage is typically only visible to a single machine. Thus, in order to provide encyclopedia storage for an Actuate cluster, the SAN must be specially configured to allow all the cluster nodes access to the encyclopedia. This can be accomplished via a SAN with a “NAS-head” or by using SAN sharing software, such as Veritas Storage Foundation or Tivoli SANergy. Multi-Volume Encyclopedia An Actuate iServer cluster is able to manage multiple volumes, which can each store content for different applications. As a result, multiple applications can cost-effectively share a common server infrastructure yet be separately controlled and administered. A volume can be added, dropped, backed up, and restored while other volumes remain on line and accessible. Within a volume, new disk partitions can be added while the system remains on line. The result is that the Encyclopedia can grow unconstrained by the limits of a single physical disk system. To support large Encyclopedias, performance has been improved dramatically when there are large numbers of objects. All object types benefit from the performance gains: users, folders, roles, groups, notifications, privileges, dependencies, files, and so on. Continuing the theme of support for large objects, limitations on document size has been increased to 8 gigabytes. In addition, the Encyclopedia format has been made portable so complete Encyclopedias or volumes may be moved between machines with no conversion. To support failover, recovery of the Encyclopedia after a crash must be fast and predictable. Actuate always completes recovery in under 5 minutes, no matter the size of the Encyclopedia or the transaction rate. This ensures a minimum of down-time when fail over is needed. Finally, in support of the high availability goal, there is no need to perform periodic maintenance such as defragmentation on an Encyclopedia volume. The Encyclopedia automatically manages, recovers and optimizes deleted space. This removes the need to take the Encyclopedia off line on a regular basis for routine maintenance and hence increases availability. 8 Technical White Paper: Clustering in Actuate 9 Security For integration with security perimeters, the iServer cluster works transparently with firewalls and SSL. Only a single port must be opened, and the port itself is configurable. SSL can be used to encrypt all iServer message traffic if desired. The Actuate internal security model handles clusters and the multi-volume Encyclopedia. There are two kinds of administrators: cluster administrators and volume administrators. Cluster administrators start and stop the cluster and nodes within the cluster; add and drop nodes; add and drop Encyclopedia volumes and disk partitions; and configure services to run on each node. Volume administrators work within a single Encyclopedia volume, maintaining users, roles, groups, and privileges; and initiating backup and recovery operations for the volume. By default, each volume has its own independent user list. Thus users log into a specific volume. This model supports independent applications within a single cluster environment. If it is desired to support a single application and single user list across the cluster, or if it is desired to integrate with an external security service for consistent security across multiple applications, use Open Security. Several integration points are provided for flexibility. The iPortal Security Extension can be used to implement single sign-on, while the Report Server Security Extension (RSSE) implements various levels of user, privilege, and property integration. At the highest level of integration, all user names, passwords, privileges, and properties can be retrieved from an external store. A reference implementation is provided for the Sun Java System Directory Server (an LDAP server), but the interface is extensible so other servers can be supported as well. Manageability Browser-Based Administration Actuate includes Management Console, a scalable, high performance browser-based administration tool Figure 4. User Administration page for managing clusters and Encyclopedia volumes. The tool is written using standard web technologies, so administration can be performed remotely with no software installation required. Both cluster management and volume management can be performed using only a browser, even over slow networks with large Encyclopedias. Figure 4 shows the user administration page that illustrates key concepts that apply in many administration scenarios. A large Encyclopedia may contain millions of registered users. Listing them all on a single browser page is impractical for at least three reasons: a slow network would take too long to send the data; the browser would exceed available client memory to display them; and users find scrolling extremely long lists tedious. To solve these problems, the administration tools provide three strategies for list management— paging, filtering, and searching. Long lists are broken up into moderate sized “page X of Y” segments, with buttons for navigating the pages. This mechanism is familiar to web users, is capable of handling 9 Technical White Paper: Clustering in Actuate 9 any size list with good performance, and will not overload the browser. But such lists may be too long for convenient use. To reduce list size, filtering and searching are provided. Filters are simple search criteria, such as all users or files whose names begin with “A”, that are applied during folder navigation. This can reduce the number of items displayed to a manageable number. The UI for specifying filter criteria appears directly on iPortal and Management Console pages. Searches are specified outside folder navigation on specialized search pages, so the UI can provide much more expressive power. Also, the result set for searches can be sorted in different ways. Normal update operations such as moving or deleting the files in a search result set can be done as well. Internet Firewall VIP Web / App Servers + ReportCast iPortal 6 VIP Firewall Data Resource Tier V E E R GF V M V E R GF V M System Management and Monitoring Actuate is usually installed as one part of a highly diverse system within an organization. As more and more systems become a part of such an architecture, customers begin to require a single management console for all applications. In support of this objective, Actuate includes APIs so 3rd party system management products based on standards like SNMP can perform basic management functions on the iServer cluster. These functions include the ability to start and stop servers, get and set configuration parameters, and monitor the current state of the iServer cluster. Example statistics include the total number of reports executed in the last 24 hours; the total amount of memory used by any iServer node; available disk space; number of requests currently being executed; number of requests in the queue etc. This type of information can be presented with system monitoring tools such as the Microsoft Windows Performance Monitor. Application Scenario— MyInsurance.com † To illustrate some of the concepts discussed in the preceding sections, two sample configurations are presented in the context of an application. e.Reporting iServer cluster Server cluster Report Encyclopedia on shared device Storage Figure 5. Two-node iServer cluster MyInsurance.com, the e-commerce division of an established insurance company, plans to sell insurance over the Internet. Marketing estimates there could be 5,000 customers fairly quickly. If the business is successful, the user population could grow to half a million customers within 24 months. The cluster must be highly available from the start, and be able to scale to handle the increasing workload while remaining on-line. Interactive quotes, quarterly and annual customer statements, and monthly commission reports for agents are some of the information delivery requirements for the application. Initial Configuration For the starting configuration, a two-node iServer cluster can be constructed fairly easily using a packaged Windows solution such as the Compaq® ProLiant DL cluster or a Dell® PowerEdge cluster. These systems provide redundant power supplies, a 10 † MyInsurance.com is not a real company Technical White Paper: Clustering in Actuate 9 single virtual IP address, two dual processor nodes, and a shared RAID disk subsystem all in a single box. While simple to install initially, the tradeoff for this kind of system is that expansion into a larger cluster can be more difficult later. Dual ISPs must be connected to the front end to provide a highly available Internet connection. Similarly, dual web application servers are also required. Two firewalls with a DMZ in between protect the secure back end network from direct access over the Internet. Because there is a firewall between the iPortal and the iServer, iPortal does not perform load balancing among the iServer nodes; a Virtual IP is used instead. The iServer cluster configures Message Distribution, Factory, and Viewing services on both nodes, with the Encyclopedia service running on node 2. Node 1 is configured as the fail-over node for the Encyclopedia service. As the system needs to support more users, additional Windows machines can be added to the iServer cluster without stopping the system. Expanded Configuration The expanded configuration presented in Figure 7 for supporting 500,000 registered users takes advantage of the ability to have different kinds of machines in a cluster. The front-end setup is similar to the smaller system, but with more hardware. Instead of dual ISPs, three or four may be desired. Similarly, the number of nodes in the web application server cluster is increased. In the iServer cluster, there are four nodes dedicated to Message Distribution services. These are represented as Microsoft Windows machines, which together present a single virtual IP address to the front-end applications. The general purpose loadbalancing layer in front of these nodes is not aware of all the factors that load an iServer node, so it is best in larger clusters like this one to run Message Distribution services only on a few smaller machines and place the harder-to-balance services on other nodes. The more sophisticated Message Distribution services load balancing algorithms can better direct requests to these other nodes. Internet Firewall VIP Web / App Servers + ReportCast iPortal 6 Firewall VIP R GF V M VE E R GF V M VE E R GF V M VE E R GF V M VE E V E R GF V M iServer e.Reporting cluster Server cluster R G V E3 LAN Data Resource Tier F VV E R G M R G V E M E1 F VV E1 R G M Storage Tier E2 F VV E2 R G M S1 F1 S2 F2 S3 F3 Figure 6. Ten-node iServer cluster The larger nodes in the cluster can be more robust multi-processing systems. Factory and Viewing services are configured to run on each of these nodes. Encyclopedia services are configured as well, one for each volume. These nodes can all act as failover nodes to take over volume management in case one of the services goes down. All services scale well as more CPUs are added to a node. The Encyclopedia is shown as being located on network attached storage (NAS) devices. These are machines connected to the same LAN as the cluster nodes. Network attached storage is much more flexible than system attached storage, and less expensive than a storage area network. Other strategies for accessing large pools of storage can be used as well. 11 Technical White Paper: Clustering in Actuate 9 The configuration shown here is but one approach to supporting large user populations. It is equally valid to use a larger number of smaller machines to achieve the same overall capacity and reliability. Actuate iServer’s flexible cluster configuration options allow any combination of scalability strategies to be applied. For example, many small-scale systems with 1 to 8 CPUs, or fewer large-scale UNIX systems with 32 or more CPUs per machine. Summary Actuate achieves its design goals of high availability, scalability, security, and manageability with a flexible, clustered architecture. Two or more machines may be combined into a single virtual resource with no single point of failure, allowing processing to continue with very high uptime percentages. Clusters may be expanded to handle millions of users and tens of millions of objects while delivering excellent performance. To keep response time consistent, sophisticated load balancing algorithms route requests to the most appropriate node. The security model for the Encyclopedia allows for either separate volumes each supporting an independent application, or a single integrated resource for one large application. Security information can be managed internally in the Encyclopedia or externally in a customer-specified security service. A browser-based management console and utilities allow system and volume management from anywhere there is Internet access, significantly improving administrators’ ability to manage and maintain the system. Common system operations including adding, dropping and configuring nodes, maintaining Encyclopedia volumes, and backup and recovery can all be done while the cluster remains on-line. APIs to integrate with 3rd party management tools provide further flexibility. These capabilities define the next generation in Enterprise Reporting Application Platforms, available only from Actuate Corporation. Actuate Corporation 2207 Bridgepointe Parkway Suite 500 San Mateo, CA 94404 Tel: (888) 422-8828 Web: http://www.actuate.com 12
© Copyright 2026 Paperzz