|
You've probably heard the standard marketing blurb about ZENworks for Desktops 4. You know the blurb I'm talking about: "ZENworks for
Desktops 4 reduces desktop management costs and increases user productivity." Novell uses this blurb a lot for good
reason. This simple sentence conveys the essence of what's cool about not only ZENworks for Desktops 4 but all versions
of ZENworks for Desktops.
What's cool about ZENworks for Desktops 4 specifically is that it doesn't require Novell Client 32. (See Managing
Pure Windows Desktop Environments with Novell ZENworks for Desktops in the May/June 2003 issue of Novell Connection.)
Consequently, with ZENworks for Desktops 4, you can manage desktops and notebooks for more users in more
places-at work or on the road. That is, with ZENworks for Desktops 4, you can distribute, configure, update and
troubleshoot desktop and laptop software not only across your network for users inside your firewall but also over
the Internet for users outside your firewall.
This new ability is made possible in part through an equally new ZENworks architectural element: the ZENworks
Middle Tier Server. The ZENworks Middle Tier Server is software that you install on one of two server platforms:
- A NetWare 5.1 or 6 server running Apache Web Server
- A Windows 2000 server running Microsoft Internet Information Server (IIS)
Once installed, the ZENworks Middle Tier Server software modules plug into the Web server software, acting as a Web
service. This Web service enables users inside and outside of your firewall to access Novell eDirectory as well as a
NetWare and Windows file system. The ZENworks Middle Tier Server resides between eDirectory and your ZENworks
for Desktops Management Agents (hereafter called Agents). These Agents must be running on every workstation where
you want to deploy ZENworks for Desktops 4 functionality.
Because many Desktop Management Agents may be directed to the same Middle Tier Server, its performance and
availability is critical. To avoid any potential problems, you need to understand the Middle Tier Server. Understanding the
Middle Tier Server enables you to anticipate possible bottlenecks. With the help of a few simple configuration
tips (described herein), you can prepare your server or network to better deal with potential problem areas.
Understanding the Middle Tier Server
The Middle Tier Server supports the Agents running on the workstations in a ZENworks for Desktops 4 environment. As with
network clients, Agents need to authenticate to eDirectory and to retrieve policies and applications for the workstation and
user. The Agent manages to do so by requesting this information from the Middle Tier Server via XML requests.
In response, the Middle Tier Server retrieves the information from eDirectory or from the file system and then returns
the retrieved content to the requesting Agent using either XML or file transmissions through WebDav or HTTP.
Middle Tier Server and the File System
Agents resolve file references using one of three possible resources:
- Novell Client 32 (if a drive mapping is referenced and this client is present on the workstation)
- Microsoft Client (if a drive mapping is referenced and this client is present on the workstation)
- Middle Tier Server
When an Agent wants to retrieve a network file and the file reference is a mapped drive, the Agent routes its request through
the client to the file system. (See #2 in Figure 1.)
If a file reference is not a mapped drive, then the Agent routes its request through the Middle Tier Server. (See #1 in
Figure 1.) The Agent passes the Universal
Naming Convention (UNC) path to the Middle Tier Server, which then uses this path to retrieve and return the requested
file to the requesting Agent.
This is the procedure for any file except an .msi file. As you probably know, .msi extensions denote installation
packages created by the Microsoft Installer application. Agents handle .msi files differently than they handle other
files because Microsoft Installer does not understand how to communicate through the Middle Tier Server. As a result, when
an .msi file is referenced, the Agent passes the UNC path to the .msi process, which uses the Microsoft Client to make a
connection and retrieve the files.
If you want to provide .msi-based applications to users who do not have the ability to connect to the file server holding
the .msi file, you must set the force-cache flag for the MSI application object. The force-cache flag causes the ZENworks
Application Launcher to immediately request the .msi files through the Middle Tier Server and store the retrieved .msi
files in the local workstation's cache. When the application is launched, the Microsoft Installer process is called, passing the local
path to the .msi files in the cache.
Middle Tier SERVER and eDirectory
The Middle Tier Server enables users to authenticate to eDirectory. To do so, the Agent first establishes a connection with
the Middle Tier Server, which then establishes a connection to the eDirectory server.
To communicate with the Middle Tier Server, Agents open an HTTP connection to this server's Apache or IIS platform.
(See Figure 2.) This connection is a standard
connection that is terminated when the communication between the workstation and the server is complete.
However, to provide continuity between HTTP connections, the Apache server or IIS platform on which the Middle
Tier Server software runs creates a session cookie that the workstation and server subsequently use. The Middle Tier Server
terminates this session when the user logs out of eDirectory. Further, this session automatically terminates when no communication
has transpired between the workstation and server for the length of time specified in the parameters you
configure on the Apache server or IIS. Traditionally, these parameters dictate that sessions terminate when no communication
has transpired for 15 minutes.
To enable the user to authenticate to the network, the Middle Tier Server establishes a connection to eDirectory.
Because the cost of creating this connection is high, the Middle Tier Server maintains this eDirectory connection only
for the length of a session rather than for the duration of an HTTP connection. When a session is terminated (either
because it timed-out or because the user logged off of eDirectory), the Middle Tier Server puts the eDirectory connection into
an avail-pool, which the server may use to establish a connection for another user. If this connection is not used within five
minutes, then the Middle Tier Server tears it down.
Configuration Tips That Ensure Adequate Performance
Armed with this understanding of how the Middle Tier Server communicates with Agents and eDirectory, you are now in
a better position to anticipate potential bottlenecks that might affect performance.
Several factors can impact the performance that a Middle Tier server can provide, most notably the following:
- Speed and number of CPU processors on the Middle Tier Server
- Connectivity speed between the Middle Tier Server and eDirectory
- Amount of data to push to each user and workstation, particularly force-cache applications and policies
- Staggered login times and launcher refresh intervals
To improve the performance and availability of your Middle Tier Server, address the potential bottlenecks implied by the
aforementioned factors.
For example, if you have only a few users accessing a single Middle Tier Server and find that the Server performance is
not up to snuff, start by scaling up, that is, upgrading the hardware on the Middle Tier Server. (For more information, see
Scaling Up and Scaling Out: Their Effect on Performance and Availability.)
If performance again slows as more users access this same server, consider increasing the speed of the connection
between the Middle Tier Server and eDirectory.
Scaling Up
Novell conducted a series of tests in its SuperLab to test the affect that scaling up a Middle Tier Server can have on its
performance. (For more information, see Testing the Results of Scaling Up.)
The results revealed that the ability of the Middle Tier Server to perform adequately depends, as suspected, on the CPU speed,
the connection speed and data volume:
- When the ZENworks team increased the speed of the CPU, the Middle Tier Server was able to handle significantly
more Agent connections and better handle content delivery.
- When the team reduced the connection between the Middle Tier Server and eDirectory server from 1 Gbps to 100
Mbps, this connection, expectedly, became the bottleneck. Although the Middle Tier Server successfully
supported all of the Agents, the login times increased dramatically.
- When the file server hosting the applications being delivered was running on the same machine as
the primary eDirectory server, the team observed more failures during authentication. Moving eDirectory to
a separate server improved the logging performance level.
Connecting at Random Intervals
You can reduce the load on (and therefore improve the performance of) an individual Middle Tier Server by enabling Agents
running on workstations with LAN connections to retrieve application data from a local file server.
To accomplish this, begin by configuring a mapped drive on the local workstation. Thereafter, the application objects
delivered to that workstation can reference that mapped drive to retrieve the application files.
However, this option is available only to those workstations with LAN connections. Workstations that are not connected to
the LAN but instead retrieve information over the Internet must receive their distributions through the Middle Tier Server.
In these cases, you can help ensure adequate performance by putting to use the Random feature of the ZENworks
Application Launcher. Using this feature, you can direct these workstations to connect to the Middle Tier Server at
random intervals during a specified period of time and, therefore, better enable the Middle Tier Server to respond
at adequate performance levels. Doing so will limit the number of users connecting at the same time (for example, first thing
in the morning).
Scaling Out
Sending fewer users to a single Middle Tier Server predictably assures adequate performance levels. To accomplish this,
add more Middle Tier Servers and direct different Agents to different Servers.
A registry key maintains the Domain Name System (DNS) name or IP address of the Middle Tier Server that Agents should
use to contact the Server. When you are installing the Agent software, you can set this address differently for different sets
of users.
Configuration Tips That Improve Availability
Adding more Middle Tier Servers to your network also can improve the availability of Middle Tier services. When you have
more than one Middle Tier Server, use DNS round-robin addressing techniques or an L4 or higher switch to ensure that you
get the most from your multiple servers.
Round-Robin Addressing
As you introduce more Middle Tier Servers into your network, use DNS round-robin addressing techniques to associate several
IP addresses for a given DNS name.
With DNS round-robin addressing, when a client or Agent requests the IP address of a given DNS name, the DNS
server can return one of several IP addresses. For example, you can configure your DNS server such that a single DNS
associated with Middle Tier Services directs clients and Agents via IP addresses for several different Middle Tier Servers.
When a client or Agent connects to one of the Middle Tier Servers, it uses that Server until the session is terminated.
Be warned, however: Round-robin DNS addressing has limitations. A DNS server configured in this way cannot detect when
one of the servers associated with a given DNS name is disabled. This inability to detect a downed server can affect performance
and availability of Middle Tier services.
Web Switching
Alternately, you can use an L4 or higher switch, a scalable solution that improves the availability of your Middle Tier services.
A switch can provide access to several servers being referenced by the same IP address. In this case, Agents can reference
the same IP address but be routed to different physical Middle Tier Servers.
Using a switch improves upon the benefits provided by the DNS round-robin addressing technique. In addition to
enabling you to route different Agents to different Middle Tier Servers, a load-balancing switch is aware of the loads of
each server and can use that knowledge to distribute requests to the server best prepared to handle them. Load-balancing
switches are also capable of detecting when a server is disabled and accordingly route requests to a different, fully-functional
server.
A few good tips
Scaling up and scaling out can ensure adequate performance and availability of Middle Tier services.
However, even with hardware improvements and more servers, you need to properly configure your Middle Tier Server
and its environment to ensure respectable performance and availability.
When preparing your network for the Middle Tier Server, remember these performance and availability-enhancing tips:
- Increase the CPU speed on your Middle Tier and eDirectory servers.
- Run your Middle Tier Server software and primary eDirectory on two separate machines.
- Increase the connectivity speed between the Middle Tier and eDirectory servers.
- Direct Agents running on workstations with LAN connections to file servers (rather than the Middle Tier Server) for data.
- Direct Agents running on workstations without LAN connections to connect to the Middle Tier Server at
random intervals to minimize the number of simultaneous user logins.
- Add more Middle Tier servers to limit the number of users connecting to any one server.
- When you add more Middle Tier servers, improve availability by using either a DNS round-robin addressing
technique or an L4 or higher switch.
|