Video Screencast Help

Altiris Task Server Best Practices - Part 1: Planning Your Implementation

Created: 30 Aug 2007 • Updated: 09 Apr 2009
Language Translations
BRING's picture
+1 1 Vote
Login to vote

Altiris® Task Server is an infrastructure component that provides task sequencing and automation for Altiris solutions. The functionality is similar to what Altiris® Deployment Solution software provides with its job engine, but it is built on the Altiris® Notification Server infrastructure allowing the rest of the Altiris solution catalog to take advantage of its powerful features, such as:

  • Executing multiple Tasks in a defined sequence. This is called a job.
  • Letting users provide logic to handle task errors or other return codes
  • Including powerful command line and VBscript capabilities
  • Providing out-of-the-box Power Management task
  • Supporting executing client-side and server-side tasks
  • Providing instant gratification features such as "Run Now" options and near-real time status feedback on running jobs
  • Letting tasks be reused in multiple Jobs or cloned and modified as desired

Task Servers are similar to Package Servers in that they are designed to reside on a separate server and are very lightweight.

Click to view.

Figure 1 - Task Management Console

As Altiris solutions release updates with solution-specific agents, tasks and jobs, Altiris Task Server can be leveraged even further, allowing you to create solution-interdependent jobs, reducing user intervention at different levels, and together providing the complex results required. This will ultimately allow you to meet the ever-growing and changing requirements of your business.

It would be wise at this point to establish some understanding of new Task Server terminology. Words like Task and Job, while familiar to us, may be somewhat confusing, given our current understanding of Altiris products and solutions. What is a Task, and how is it different from a Policy, as we find in Notification Server? What is a Job? Is it similar to a Deployment Server Job, or a Sequential Software Delivery Task?

Tasks

A task can run commands or actions in a specific order. A task performs an action that finishes quickly. A task allows you to order or sequence actions based on Notification Server Messages, or perform one-time actions.

Policy

A policy, on the other hand, allows for recurring actions, with no definite end, such as a nightly backup job. A policy is primarily designed for on-going management. Task Server concentrates on the tasks side of the equation, providing all of the benefits previously mentioned.

Job

A job is a combination of Tasks that have conditions applied to them. Essentially, a job might have one task that installs an application, and then a condition that tests that a previously installed application, and the most recently installed application are in place, prior to performing an inventory run, or perhaps a disk space check. On a very high level, the functionality of a Task Server job and a Deployment Server Job are very similar. Task Server jobs cover the functionality of a Sequential Software Delivery Job, but can extend into so many other areas beyond just software and package delivery.

So you like the idea of tasks and jobs, and want the benefits of Task Server in your environment. Installing the software is important part of this process, but the first thing you should do is plan your Task Server environment, or how Task Server will get used in your business.

Planning Your Task Server Implementation

Task Server lets you distribute your jobs and tasks to different computers on your network where client machines with the Altiris Agent and the necessary Task Server client agent can run the tasks and jobs. Distributing jobs and tasks to Task Server reduces the load on the Notification Server and reduces network traffic, since the Altiris Agent uses the assigned or closest Task Server for job and task downloads. Figure 2 below shows Task Server components and where they are installed.

Appropriate planning to ensure optimal usage takes some time and consideration. In the planning stages, you first need to consider the server-side impact. This can include how Task Server will affect existing systems already installed, and if additional servers might meet your needs better. The second consideration in planning is client-side, or understanding the change and impact that Task Server will have where the work needs to be done - on the client machines?

Click to view.

Figure 2 - Task Server Components

Task Server - Server-Side Planning Considerations

As you start planning for Task Server, it is important to understand a few simple principles. First, any Task Server implementation requires at least one existing Notification Server. This provides the environment with an initial Task Server, and connection to a database. This Notification Server-based installation of Task Server has the following necessary components.

Altiris Task Server Components - Server-Side

Web Services

All Task Servers requires Web Services. Since the web services Notification Server uses come from IIS, this will have been configured and running prior to the Notification Server installation. You should not need to install IIS in this case. For all remote Task Servers that communicate with this installation's database, they also can use either a previously installed version of IIS, or, if IIS is not discovered when installing Task Server, the Altiris HTTP Server will automatically be installed. This is a very simple HTTP server application and has the following features:

  • No configurable options
  • Allows Task Server to function without IIS when it's installed on a remote computer
  • Facilitates HTTP communication between the Task Server, clients, and Notification Server
  • The HTTP connection to host uses the following ports:
    • RemoteApiPort - 50121
    • RemoteApiTicklePort - 50122

Task Server Component

This component runs on both the Notification Server, and on remote Task Servers as required. It receives notification by the Tickle Server when there are tasks to run on its connected clients. It then tickles those connected clients and sends them the XML containing the job or task information using HTTP(S). It also collects status information and forwards it to the Notification Database using HTTP(S).

Tickle Server Component

The Tickle Server has the following guidelines:

  • Always runs on Notification Server
  • Sends an IP tickle packet to Task Servers when any of their clients have a job or task to run
  • Uses the following ports:
    • ClientTcpPort - 50124
    • ServerTcpPort - 50123

Task Data Loader Component

The Task Server Data Loader is required and has the following use and functions:

  • Separate from the Notification Server Data Loader
  • Receives status information for Task Servers and caches it in memory until it can be sent to the Notification Server
  • Improves scalability by receiving status information for hundreds of clients at once without overwhelming the SQL database
  • Can run on each remote Task Server queuing data from the clients managed by the remote Task Server
  • Uses the following port on a remote Task Server: 50120

Now that you have an understanding of the server-side components, let's look at some best practices to consider.

Best Practices: Server-Side Planning Considerations

Determining which machines will serve well as remote Task Servers is fairly simple. There are some minimum requirements that must be met for a client machine to function as a remote Task Server. This will help us best determine where, or on what machines Task Server should be installed.

Task Server Software and Hardware Requirements

When planning appropriate hardware and software for remote Task Servers, please use the following version information as minimum requirements:

Minimum Software recommendations

  • Microsoft .NET Framework versions 1.1
  • Windows 2000 SP4 or later
  • Altiris Agent

Minimum Task Server Hardware recommendations, combined with Notification Server

In addition to requirements for Notification Server, add the following:

  • 1 GB RAM
  • 1-10 GB additional disk space

Minimum Remote Task Server Hardware recommendations

  • Intel Pentium* 4 processor or equivalent
  • 1 - GB RAM
  • 1 GB disk space

Here are some ideas to consider when choosing what types of hardware resources to use as remote Task Servers:

  1. Existing or New Package Server(s) Pros: Most flexible option to distribute load, very scalable Cons: Must be careful with check-in intervals, IIS or Altiris HTTP deployment, XP does not work
  2. Other Notification Server(s) Pros: Simple to install Cons: Extremely limited practical scalability. Less than 500 nodes.
  3. Dedicated Hardware for Task Servers Pros: Dedicated hardware Cons: Additional cost, administration, overhead, xp does not work

Many customers have successfully used dedicated Package Servers combined with Task Server.

Determining Numbers of Managed Task Server Clients

While it is required to have Task Server components installed on your Notification Server, it is not recommended that this Notification Server-based Task Server installation manage a substantial amount of Task Server clients. Typically, if your Notification Server is currently managing < 500 client computers, with other typical management-associated solutions, adding Task Server client task management capabilities should not unduly burden the Notification Server.

However, if the Notification Server is managing a substantial amount of solutions and client machines already, adding Task Server management can significantly affect performance. Therefore, if the Notification Server manages more than 500 client computers, we recommend deploying additional remote Task Servers. To summarize:

  1. If NS is managing 500 client machines or less, NS can have dual role as a managing Task Server.
  2. If NS is managing more than 500 client machines, remote Task Servers should be deployed.

The next question to ask is how many remote Task Servers are needed to efficiently service my environment?

How many Task Servers do I need?

We recommend the following:

  1. Your first Task Server running on the computer with Notification Server and Notification Database should serve 500 or fewer client computers.
  2. For approximately every 2500 - 4000 client computers you have past 500, you should add an additional remote Task Server.

The amount of client computers that a Task Server can service depends on the hardware configuration of the Task Server computer. The previously listed hardware and software recommendations are the basis for these recommendations. As you increase the hardware capabilities, you can increase the managed client numbers.

Now that you understand the server-side consideration of Task Server, good planning practices also dictate that you should understand the client-side components that will get installed and used.

Task Server: Client-Side Planning Considerations

Altiris Task Server Components - Client-Side

Once the Task Servers are configured and set up, to take advantage of the capabilities of Task Server, the distribution of the Client Task Agent and appropriate sub-agents to the managed machines is necessary. Prior to installation, let's take a moment to understand the functions of each of the sub-agents.

Client Task Agent (Required)

  • Accepts tickles from Task Server
  • Receives job and task information
  • Passes the information to a handler
  • Sends status information back to Task Server
  • Requires Altiris Agent be installed on the computer

Script Task Agent (Optional)

  • Receives script-related job and task information form Client Task Agent and executes them
  • Requires Altiris Agent and Client Task Agent be installed on the computer

Power Management Agent (Optional)

  • Receives power management-related job and task information from Client Task Agent and executes them
  • Requires Altiris Agent and Client Task Agent be installed on the computer

Service Control Task Agent (Optional)

  • Controls services on the client computer
  • Requires Altiris Agent and Client Task Agent be installed on the computer

Each of these sub-agents uses the communication capabilities of the Altiris Agent to receive their related tasks and to send back update and status information. Your choice of how to use the agents, and Task Server in general, will determine which sub-agents you need.

Best Practices: Client-Side Planning Considerations

The only major consideration for client-side implementation of Task Server is which (or all) of the optional sub-agents you need. A good recommendation would be to install all of the sub-agents. This leaves your administrative options open. You will also want to consider any solution-specific Task Server sub-agents as well.

Altiris Task Server Best Practices - Part 2: Installing Task Server