Here is the ActiveBatch Workload Automation and Enterprise Job Scheduling Software Hands-on Review Tutorial:
With the drastic increase in new technologies, systems, apps, and data to manage, the IT environments are becoming much more complicated. This is indeed paired with the difficulty of finding the right people with the right technical skills to manage this complexity.
This is where Workload Automation Tools can help managers.
What You Will Learn:
ActiveBatch Workload Automation
What Is ActiveBatch?
ActiveBatch is an Enterprise Workload Automation and Job Scheduling Tool that helps users integrate applications, databases, and technologies into end-to-end workflows.
This hands-on tutorial will show you how to get started with ActiveBatch.
ActiveBatch attempts to address the above issues with easy-to-use Workload Automation. Designed by Advanced Systems Concepts, Inc. (ASCI), ActiveBatch has core capabilities in several key automation areas as stated below.
Key Automation areas include:
- Centralized management and monitoring of cross-platform systems and technologies.
- Non-code workflow development through the use of prebuilt, drag-and-drop job steps.
- Cloud and virtual resource deployment, management, and cost optimization.
- Low-code integration with other apps and tools through Service Library API accessibility.
- DevOps collaboration and administration features to manage workflow lifecycles.
- Service Level Agreement (SLA) Management and automated remediation & alerting.
- Visibility and reporting of end-to-end workflows involving multiple tasks and systems.
In this tutorial, we’ll explore how to install and configure a basic ActiveBatch implementation, create your first job, and look at some key instance operations.
ActiveBatch Installation Process
ASCI claims ActiveBatch is user-installable in minutes. It is quite easy to install ActiveBatch once its prerequisites are met. Enlisted below are the prerequisites for ActiveBatch.
ActiveBatch Prerequisites
Components
ActiveBatch has a three-tier architecture. The three components include Windows-based Job Scheduler, Cross-platform Execution Agent, and the Client. The Windows-based thick-client is the primary method for managing the ActiveBatch environment.
ActiveBatch also offers a web-based Web Console thin-client that can be run on any modern web browser with near-identical abilities. It has a native Mobile Ops interface for iOS & Android, and Self-Service Portal interface for non-technical users. Finally, there are several programmatic interfaces for other needs.
Hardware Requirements
Minimum requirements are not likely to be an issue for the enterprise deployment of ActiveBatch.
The requirements are listed below:
- CPU: Intel®, AMD® or compatible, 2-GHz processor or higher.
- Memory (RAM): 8GB of memory (minimum)
- Disk Space: 700MB is required for complete installation. An additional 350MB is required during installation. Database requirements start at 50MB and increase based on the number of ActiveBatch objects and instances created and retained.
- Operating System:
- Server: Windows Server 2019, 2016, 2012 R2
- Desktop: Windows 10
Software Requirements
Each of the three components has individual requirements:
All Components
- Microsoft Windows Scripting Host Version 5.6 or later
- Microsoft .NET Framework Version 4.7.1
- Microsoft Universal C Runtime
Job Scheduler (JSS)
ASCI highly recommends either Microsoft SQL Server 2017 or Oracle 18c for maximum feature and execution performance.
However, its complete list of supported database servers are:
- Microsoft SQL Server Azure
- Microsoft SQL Server 2017 (including Linux), 2016, 2014 family (all members).
- Oracle 18c and 12c (all members), Oracle 11gR2 (all members).
ActiveBatch also requires Microsoft Exchange 2013 (and later) for Exchange email trigger operations.
Client (Windows thick-client)
- Windows 10 or
- Windows Server 2019, 2016, or 2012 R2
Execution Agent(s)
Supported Operating Systems:
- Windows Server 2019, 2016, 2012 R2, Windows 10
- SuSe 11 and 12
- RedHat/CentOS Linux 6 and 7
- Red Hat Enterprise (RHEL) 6 and 7
- Ubuntu 14 LTS and 16 LTS
- Oracle Linux 6+
- Linux (x86/x64) Kernel 2.6+
- Apple MacOS Version 10.8.3+
- Sun Solaris (Sparc, x86, x64) Version 11
- IBM AIX (pSeries) Version 5.0+
- IBM AS/400 7 (Native and PACE)
- HP-UX IA64 Version 11.31+, HP OpenVMS Alpha Version 7.3+, HP OpenVMS Itanium Version 8.2+, HP NSK (Blade-Integrity) Version J06.16+
ASCI says that Agent machines are difficult to recommend hardware for as machine load, queue execution limits, and custom scripts & binaries can vary widely between implementations.
While determining hardware needs to smoothly execute jobs on a certain agent, start by estimating what would be required to run the equivalent process or script outside ActiveBatch. Agent systems are those where the majority of workloads take place. Thus, they should always have plenty of available resources.
Post-Install Requisites
- Job Scheduler serial key.
- One or more Execution Agent serial keys.
- Additional serial keys are based on additionally-licensed components and features.
The two required serial keys are stored on the Job Scheduler server. The ActiveBatch client is licensed for unlimited installations and references the Job Scheduler serial key upon connection.
Typical Windows Installations
ActiveBatch can be installed in several ways depending on your needs. Enlisted below are three common Windows installation types. Both the Job Scheduler and Execution Agent components are required for any operation, however, they don’t need to be installed on the same machine (and typically aren’t).
The Client is not required for continued operation but is practically necessary for managing and monitoring processes.
- Job Scheduler, Execution Agent, Client – One system.
- Execution Agent Only – One or more systems.
- Client Only – One or more users’ systems.
Sample Environment
Most implementations will involve at least two environments i.e. a Production environment and a Non-Production environment. The bundled Change Management Facility is used to promote objects to other environments.
ActiveBatch Installation
Once the prerequisites are met, the ActiveBatch installer is very straightforward. Download the kits from the My ASCI Support Portal and run the executable. You can also deploy an MSI for silent installs and silent upgrades, however, this will only be applicable once your initial environment is established.
Step #1) Launch the Installer and click Start.
Step #2) Select the features you’d like to install.
Here, we are going to install all three components and tools on the same system.
Upon completion, the ActiveBatch Management Console will be launched automatically.
Click Finish to close the Installer.
Step #3) Configure components through the ActiveBatch Management Console
Programs installed:
- Admin Tools: Availability Manager, Service Manager, Update Service.
- ActiveBatch Console
- ActiveBatch Management Console
- Active Batch Dashboard (separate app for graphing performance).
- Management Tools: Change Management
- Client Tools: Date Arithmetic Admin/Tester, Date Substitution, Command-Line Interfaces (COM, PowerShell Module, etc.)
- Reporting Services (for Instance reporting).
Step #3.1
Configure the Execution Agent and Job Scheduler, accessed by each tab on the left side bar.
Step #3.2
Follow the tabs on the left for the Execution Agent component first. Then do the same for the Job Scheduler component. The wizard is fairly straightforward and the information required will be specific to your environment.
Step #3.3
Once successfully completed, you will find the two services running in the Windows Services application.
That’s it. We have completed the ActiveBatch local install and are ready to get going.
Getting Started With ActiveBatch
Once you’ve completed your installation, open the ActiveBatch Console to begin.
Especially as we are configuring some administrative settings for the first time, it’s probably a good idea to Run As an Administrator by right-clicking the program icon. The initial launch will show the ActiveBatch Start Page which is tabbed in view.
You’ll see the icons for common support resources on the screen below. On the right is a tray that opens and closes with ActiveBatch announcements.
We would like to create a new Job Scheduler connection under the Recent Connections header. Click New Connection to add one.
You’ll be presented with a dialogue where you can enter your Job Scheduler machine details. As ours is local, we’re just going to enter the local host for demonstration purposes. We’ll keep our Display Name SoftwareTestingHelp which is the name that will appear on the connection tab.
You can provide the credentials if you’d like to connect to the Job Scheduler with another set, but by default, it will connect with the Windows user account running the application. Click Test to test the connection. You can ignore the other properties and click Connect.
Note: Since we already have some objects created, we’re going to connect to a Virtual Root that segments user access and objects from view. This won’t have any impact on this tutorial, but it will display the sub-connection, New, in the Object Navigation Pane.
Once connected, you’ll see four distinct areas/panes. The connection’s content is tabbed under the Display Name next to the Start Page tab where we just came from.
- Top Left: Object Navigation Pane (create, find, and organize objects here).
- Bottom Left: View Pane (list of views).
- Top Right: Main Pane (currently tabbed as a document is the Job Scheduler Information View).
- Bottom/Bottom Right: Instances Pane (views and filters instances for the selected object).
We’ll explore each pane in detail. But first, let’s understand what Object vs Instance is, as it will make the rest of the tutorial more helpful.
ActiveBatch Objects Vs. Instances
Objects
- Created in the Object Navigation Pane.
- Called a definition, as they have the properties that define/describe that object.
- Multiple categories: Triggerable, Non-triggerable, Shared and Non-shared.
- Triggerable objects (Jobs, Plans, and References) create instances.
- Many types: Folders, Jobs, Plans, Queues, User Accounts, Resources, etc.
Instances
- Copy of the triggerable object’s template, executed using its defined properties.
- Represent the individual run of a Job, Plan, or Reference.
Any object that you create will be located in this pane. This is also referred to as the tree due to its structure. You can liken the Object Navigation pane to the Windows File System, where the ActiveBatch objects are the individual files and folders within the root, being your C drive.
The first and root object is the Job Scheduler, under which everything else falls. There is also a utility for selecting the Job Scheduler object, as right-clicking it allows you to set root-level security, policies, variables, and more.
The pane also includes other built-in objects that are owned by the system (OnDemand and Runtime objects). We are not discussing the built-in objects below in our new folder. Just know that they are used in special cases.
Organizing Objects
All objects will be stored within the root of the Job Scheduler object.
You can create root-level objects like folders by right-clicking on the Job Scheduler object. Just like you wouldn’t store all of your computer files at the root of your C drive, it’s not a best practice to do that here either. Thus, it’s best practice to organize all your objects within folders.
At the most fundamental level, you should have at least one folder for your Jobs and Plans, and one folder for your Shared Objects. Shared Objects can be applied to, or associated, with any number of other objects.
We won’t discuss Shared Objects in detail, but they are objects like Schedules that contain a set of times an associated Job will run, or Service Libraries, that can define things like a REST endpoint and related functions to expose for usage within a Job’s payload.
Creating Your First Object
Let’s create a new folder where we can store some other objects.
Note that the New Folder Object becomes tabbed in the Main Pane.
Next, let’s give the Folder Object a Name and a Label. All objects require a Name and Label. A Name can be any descriptive value, while the Label must be unique within its hierarchy in the tree. Labels are used to determine the object path (like a file path). Let’s give them the same value, which happens by default.
Fill in the other details, and then click on Save & Close.
Let’s also create a Shared Objects folder using the same instructions. It’s considered a best practice as it makes it easy to find and associate these objects with any other number of objects that you create. This kind of structure is most practical in large environments.
Creating Your First Job
Next, let’s make a new Job as it’ll make the other panes more meaningful.
Jobs needed for these four properties (at a minimum):
- Name/Label.
- Submission Queue (where the Job will be sent to execute).
- User Account (which credentials will be used while submitting the Job).
- Payload (the work being performed – theoretically can be blank for some job types).
As we know that every job will need to be associated with a Submission Queue and User Account (Shared Objects), let’s first create those objects.
Creating Your First Queue
There are two types of Queues in ActiveBatch as explained below.
An Execution Queue, defines a machine where an Execution Agent has been installed, and a Generic Queue, which is effectively a collection of Execution Queues. Generic Queues are used for high availability Job execution, Resource optimization & Load balancing, and Automated cloud and Virtual execution machine provisioning.
Right-click on the Shared Objects folder and select New => Queue => Execution Queue.
Give the Execution Queue a Name/Label, like EQ1. Then, click Properties on one of the sheets tabbed on the left.
There are a lot of properties that can be configured like Executing Job Limits and Characteristics, that define the qualities that describe the machine where the Execution Agent is installed (like OS or location), but we only need the Machine property for now.
So, let’s put in a local host for demonstration purposes, and then click Save & Close.
Creating Your First User Account
A User Account defines the credentials used while submitting the job for execution on the Execution Agent machine.
Let’s create one in the same folder as the Execution Queue by right-clicking Shared Objects => New => User Account. Then, give the User Account a Name/Label like User1, and then click on the Properties sheet.
Enter the username and password for the object. These should be valid Active Directory credentials for an account in the domain. Click Save and Close.
You can now create your Job object and have a valid Execution Queue and User Account associated with the Job.
We can create a Job by right-clicking the Tutorial folder and clicking New => Job. Give the Job a Name/Label, Job1, then click on the second property sheet tab. This will be titled Jobs Library type Job by default, however, the name changes based on the type selected.
Regardless of the job type, this is where the payload of the job will be created i.e. the work that will be done. You can see a lot of other property sheets like Associations, Variables, Triggers, Constraints, and Alerts where the other options are selected.
Given below is a screenshot of the automated Triggers sheet. You can define things like interval-based daily execution, or associate a Schedule Object that defines more complex parameters.
Given below is the Constraints sheet. You can define things like File Constraints which can be set to make sure that a file is present, fully populated, and stable before proceeding with execution.
There are lots of other job properties based on your organization’s needs. You can check these out to see if you get a demo and free trial of ActiveBatch.
Click on the Jobs Library property sheet. You can select the dropdown for the Submission Queue and User Account at the top of the properties. This will display a tree where you can open the Shared Objects folder to locate each object.
Select your Execution Queue.
Select your User Account.
Now let’s create a simple payload. The majority of the screen is the Job Steps Editor, a workflow designer where you can drag-and-drop prebuilt actions and functions to assemble the payload of the Job.
There are hundreds of job steps for commonly scripted actions spanning many tools and technologies. There are also several additional Job Step Extensions that are separately licensed for other 3rd party tools.
You can also use the ActiveBatch Service Library to interface with RESTful Services, Web Services, WDSLs, and much more. What would be the API calls? For example, the ones that are turned into additional drag-and-drop job steps that can be performed without scripting.
For the most basic example, let’s scroll down to the General category and drag-and-drop a Log Step into the workspace.
Enter some text in the Log Step’s Text field. Click Save and Close.
Generating Your First Instance
We have created a triggerable object, now, we can generate an Instance. To do this, right-click on the Job and select Trigger. As you can see, there are lots of other operations that you can perform on a job too.
Let’s trigger the job once more so that we will have some additional data to view in our other panes. Now we can move on.
View Pane
If you look through the Views pane, there are folders for Developers, Operators, Administrators, and then general Scheduling Analytics views for all users. You can organize and show/hide views from the Tools menu, but the default configuration is pretty useful as it is.
In general, there are three kinds of views i.e. Object Views, Instance Views, and Configuration views. If you’re looking for anything within ActiveBatch, then the chances are, it has a view.
Click on the Daily Activity view to tab it in the Main Pane as a document. Now, we’ll move to the Main Pane.
Main Pane
The Main Pane will display lots of different things like job properties, views, and much more. These are tabbed as individual documents by default. You can realistically tab, resize, and move any view or pane anywhere else.
In this case, we have the Daily Activity view tabbed, displaying all of the Instances within our scope of the Job Scheduler (remember, we connected at a Virtual Root). You can see the two Job Instances and some key information. You can also filter to change dates, statuses, and much more.
Instances Pane
Finally, we have the Instances Pane. This will look very similar to the Daily Activity View, but it’s only going to show us the Instances from the selected Job in the Object Navigation Pane. In this case, they are displaying the same data, but in larger environments, this is a great way to view only one Job’s runs.
Instance Operations and Histories
If you right-click on any Instance, you’ll get several options. If the Instance is currently executing in a real-time view, then you can do things like pausing or aborting the Instance. Once it is completed, you can view the historical data.
Right-click on the most recent instance and select View Logs. You can see the complete log file, along with the text we wrote to the log using the Log Step. There are additional sheets for things like Variables at the time of execution and Audits that keep track of all the operations and system actions that occur. This is fully reportable.
Map View
While we can’t explore every view and feature for the sake of time, we will just explore one final and important view i.e. Map View. Navigate to the Views Pane and select it from the top of the list to tab it in the Main Pane.
Map View is a graphical representation of many ActiveBatch Objects. It is a real-time view and development space i.e. You can build workflows, create associations, and manage objects from this point of view. You can click on the arrows to expand each folder.
If you right-click Job1 and trigger it, then you can watch it execute in real-time. We added a couple of other Jobs inside a Plan Object, Plan1, to show the relationships that Map View depicts. For context, a Plan Object is pretty much just a triggerable folder for related Jobs.
You can also set up other properties on a Plan that would let you apply central settings to all child jobs too.
In the image below, Job1 has two completion triggers defined. One completion trigger is set to trigger Job1_Succeed if it completes in success. The other is set to trigger Job1_Fail if it completes in failure. We configured these by dragging and dropping Job1 onto the other Jobs.
The blue rectangle next to Plan1 and Job1 means that Job1 is currently executing. The green square next to Job1_Succeed means that the most recent completed instance of the Job was completed in success.
Once Job1 finishes executing, it will trigger Job1_Succeed. Once the second job finishes, both will show a status of successful completion. Please also note the new objects within the Object Navigation Pane and the successfully completed Instances within the Instances Pane.
Map View includes features like Workflow Optimizer that identify ways in which you can and streamline multi-job workflows to make them more efficient. It also highlights the critical path so that you can find ways to modify your workflows and convert sequential jobs into parallel jobs, when possible.
Conclusion
In this tutorial, we have only scratched the surface of ActiveBatch’s capabilities. Advanced Systems Concept offers hundreds of hours of training through its ActiveBatch Academy if you’d like to learn more.
=> Visit the ActiveBatch website to get a demo and free trial
The best way to have your questions answered and get hands-on with the product is to get a Demo from the ActiveBatch website. You can also get pricing information and a free trial of the software so that you can play around for yourself.