ASG Perspectives

Blog > May 2020 > Application Release Automation (ARA), Workload Scheduling and Orchestration – Which do You Need?

Application Release Automation (ARA), Workload Scheduling and Orchestration – Which do You Need?

In one of my recent posts (Schedulers, Mini-Schedulers and Orchestration – What does this mean to DevOps?), the similarities and differences between those three classes of automation were explored.

In this post, I will build on that on that discussion, focusing more closely on the Venn diagram of intersections between application release automation (ARA), workload automation (WLA) and enterprise orchestration. That diagram illustrates the critical role enterprise orchestration plays, magnified in the aggressively distributed remote work circumstances the pandemic imposes. Appreciating that role starts with an understanding of what each of the three are.

What is Application Release Automation (ARA)?

ARA is a class of application development infrastructure management automation frequently associated with DevOps practices. It marshals the technology included in an enterprise’s DevOps toolchain. An ARA is frequently used to ensure continuous delivery of new capabilities to customers, external or internal, which accelerates the accrual of value, revenue or internal cost savings, sooner, increasing the value of the development work.

What About Workload Automation (WLA)?

WLA (successor to earlier job schedulers), by comparison, focuses on the efficient, transparent, & reliable execution of work performed by applications after they are delivered to production, perhaps by means of an ARA. This points to the primary distinguishing characteristics between ARA & WLA – volume, attention to instances and technology managed.

ARA & WLA – Distinguishing Characteristics

  1. Volume

The volume of discrete process instances managed by ARA is, typically, much lower than the volume management by WLA. This likely reflects your experience – there may be a few, several or perhaps even what feels like many application development projects going on concurrently, while it is a finite and controlled number. However, your enterprise many be processing thousands or even millions of processes each day to fulfill orders from your customers – managing those processes and, more importantly, the macro processes that support them is the purview of WLA your enterprise may use.

  1. Attention to Instances

This difference in volume impacts the degree of attention to instances that can be applied – the management of your IT organization inevitably has close attention on each new or updated application delivery project in-flight, while your production operations managers have capacity to only deal with the exceptions that arise out of the daily flow of work required to meet your customers’ needs. A useful WLA must have more configurable and more vigorous exception event notification capabilities, as well as more diligent logging for latter audit or problem diagnosis.

  1. Technology Managed

Third, as already noted, an ARA coordinates the activity of the many application development tools an enterprise adopts for their DevOps toolchain. While it automates processes in a manner like a WLA, in some regards, it requires integration with development tools, rather than production infrastructure & applications. The latter is necessarily the domain of the WLA which must gracefully integrate with all the packaged and bespoke, on prem or in cloud, traditional mainframe or latest generation technology applications required for the enterprise to implement its unique advantages in fulfilling what customers ask for. So, a Venn diagram might look something like this:

image12.PNG

Finally – How does Enterprise Orchestration Come into Play?

Analyzing this intersection in Venn space is what leads enterprises to call on enterprise orchestration – how can complexity, the number of vendors, the number of technologies staff must be trained on be reduced? These goals call for something that has capabilities for ARA management and WLA management, at the same time, from the same technology, and with equal competence – defining enterprise orchestration.

Enterprise orchestration is a common platform that has integrations with the tools in the DevOps toolchain and automating the continuous delivery cycle that approach advocates, plus integration interfaces supporting the much broader range of packaged, cloud and bespoke production applications.  Moreover, it innately offers the platform for developers to map and implement the interactions and conditionality between the new or enhanced applications they are developing from a view of the end-to-end value stream that creates what customers want, instead of simply by individual application vertical.  The Venn diagram that includes enterprise orchestration, then, may present like this:

image23.PNG

Achieving these varied goals drives ASG Technologies to offer enterprise ASG-Enterprise Orchestrator™.  To learn more of how you can manage both your application release automation and daily production workload automation with reduced complexity, training and cost, please contact your ASG representative, or reach out to me at jeff.cherrington@asg.com.

Definitions

Application-release automation (ARA) refers to the process of packaging and deploying an application or update of an application from development, across various environments, and ultimately to production. ARA solutions must combine the capabilities of deployment automation, environment management and modeling, and release coordination.
Continuous delivery (CD) is a software engineering approach in which teams produce software in short cycles, ensuring that the software can be reliably released at any time and, when releasing the software, doing so manually. It aims at building, testing, and releasing software with greater speed and frequency. The approach helps reduce the cost, time, and risk of delivering changes by allowing for more incremental updates to applications in production. A straightforward and repeatable deployment process is important for continuous delivery.
Workload automation is the practice of using software to schedule, initiate, run and manage tasks related to business processes and transactions. A workload, in this context, can be thought of as the total amount of processing that a computer or a business is conducting at any given time. Workload automation makes it possible for much of that processing to take place without human intervention. Workload automation is often used in virtualized and cloud environments.