Definition - What does Application Release Automation (ARA) mean?
Application release automation (ARA) is commonly defined as the process of modeling and deploying software products, and configuring them for Java or other types of platforms. Application release automation supports "continuous release and deployment" and is often related to agile software development. It allows for more streamlined development and release of applications, artifacts and other software objects.
Application release automation involves looking at how to improve key processes for moving software through its life cycle. Different types of ARA may include process-based, package-based, declarative or imperative solutions and approaches. Because ARA is fairly new, experts often talk about how it presents challenges to the community of developers and other teams who are trying to implement it.
Different types of approaches for ARA have different benefits. For example, a package-based approach often succeeds in automating the server layer of a development process. This approach can collectively handle much of the work that goes on throughout the networks to deliver certain benchmarks in development. This approach can also offer relatively easy rollback if needed. By contrast, a declarative-based approach may mean more attention to the application layer of the process. Meanwhile, in an imperative-based ARA approach, developers may focus on a particular programming language and commands for doing certain things in a specific sequence for development.
Application release automation is also related to the issue of DevOps, another relatively new idea in IT. DevOps is a combination of development and operations, an approach in which developers collaborate on creating automated release structures for software.