Skip to main content

What's in a Name?

Over the years, I've written on the topic of application release on several occasions (here and here, for example).  The topic itself is generally straightforward in that automating your application release process provides several benefits:
  • Increased reliability insofar that the deployment process is being managed by software, meaning that "friendly fire incidents" are less likely to occur
  • Increased release velocity as the time to deploy the application in a single environment is reduced, sometimes substantially
  • Increased release cadence as more frequent releases are now possible given the previous two points
Is ARA always about applications?
Not only this, but automating your CICD pipeline is a key enabler for DevOps, as it is one of the five tenets of that school of thought.  (The others, if you aren't aware, are cultural change; efficient processes that are void of wasteful, time and resource consuming steps; measurement of the effectiveness of your processes; and sharing the information in a feedback loop for continual service improvement.)

Lately, I've seen a few examples of alternate ways to apply the concept of application release automation (ARA) to effect process improvements:

Database DevOps.  This is a term I'm using to describe software solutions that automate the development and release of database objects.  Companies like Datical and DBMaestro recognize that, although databases are an essential component of any traditional 3-tier application, they are also able to stand alone in their own right due to the complex nature of the DBMS ecosystem.

Back-office Release Automation.  ERP and CRM solutions frequently offer the ability for organizations to customize the functionality of those systems to meet the unique requirements of that organization.  Well-known solutions such as SAP and Siebel are immediate examples of such back office solutions where custom module development has a process analogous to traditional software development.

But the most interesting area (to me, at least) where this is being applied is in non-traditional application release.  By this I mean applications that aren't comprised of binary executables or even scripts.  Instead, these are objects of other solutions like Informatica where they are developed and tested like any application and also have a life-cycle of environments that they traverse during their journey to a production deployment.

I realize that one could make the argument that these are just an extension of Database DevOps or Back-office Release Automation.  However, there are only elements of those other two categories while the majority of this use case is unique.

Consider the Informatica example.  Informatica has its own workflow objects that access databases and can execute shell scripts as part of their "execution."  All of these components are artifacts in the Informatica application, even though that term is a misnomer since Informatica is the application and not the workflow objects that it executes to perform standard ETL types of activities.

Yet, ARA can have a positive impact here because:
  • The general release process is the same.  You copy artifacts to the target machines; deploy them by importing the Informatica objects into the repository; and you effect changes to the database that the Informatica workflows access.
  • The non-automated process has the same challenges.  Manual deployments have several potential points of failure; manual approvals via email slow down the release velocity; and releases are often managed by spreadsheet or some other manually maintained ledger.
The point that I'm trying to make is that ARA doesn't have to be about applications that you write in some standard programming language like Java or C#.  Instead, this should be viewed through the lens of the challenges faced by an organization and the net benefits that can be realized using an automation solution such as CA-Automic's ARA.

Popular posts from this blog

"Ni jiang yi yang de hua ma?"

Last week, I wrote about the necessity of having a clear message . Because this topic is so important I decided to follow-up with another entry on this general subject. This week we will approach it from another angle. (For the curious, the title says " Do you speak the same language? " in pinyin, which is a transliterated Mandarin Chinese.) Recently, a good friend of mine (who is Chinese, ironically) and I were playing pool. He had to bank the 8-ball in the pocket to win the game, and since it was an informal game and bank shots are my area of expertise, he asked me for advice. I told him, "you just need to strike the cue ball with medium speed so that it hits the 8-ball right in the middle." He didn't believe me so we marked the positions of the balls, and then he took his shot only to watch the 8-ball sail past the pocket. "A-ha!" he exclaimed. "I told you it wasn't that easy." But when we reset the positions and I made an attemp

It's Easier to Fail at DevOps than it is to Succeed

Slippery when wet Since the term DevOps was coined in Belgium back in 2009, it is impossible to avoid the term whether in discussions with colleagues or in professional trade magazines.  And during the years while this movement has gained momentum, many things have been written to describe what elements of a DevOps strategy are required for it to be successful. Yet in spite of this, there is an interesting data point worth noting: not many organizations feel there is a need for DevOps.  In a Gartner report entitled DevOps Adoption Survey Results (published in September 2015),  40%  of respondents said they had no plans to implement DevOps and 31% of respondents said they hadn't implemented it but planned to start in the 12 months after the survey was conducted. That left only 29% who had implemented DevOps in a pilot project or in production systems, which isn't a lot. "Maybe it's because there truly isn't a need for DevOps," you say.  While that

Is No/Low-Code the Key to IT Nirvana?

 Unless you've had your head in the sand for the past year or so, you've seen the phrases low-code  and no-code  bandied about quite frequently everywhere you look.  You've probably wondered if this is something new that's here to stay or just a "flash in the pan."  Although the terms have been in the fore of the IT trade publications recently, Low Code Development Platforms (LCDP) (and the corresponding No Code Development Platforms) have been in existence since 2011.  Their roots can be traced to the 90's with 4th generation programming languages and GUI-assisted programming paradigms, e.g. IBM VisualAge for Basic, which was discontinued in 1998. For those of you who aren't familiar with either, the premise is that these platforms allow someone to quickly build applications using a WYSIWYG interface and a "click and configure" paradigm to Isn't this the source code to Roblox? rapidly build full applications with little or no coding requ