Application Release Automation Tools
Total Page:16
File Type:pdf, Size:1020Kb
For: Infrastructure Market Overview: Application Release & Operations Professionals Automation Tools by Amy DeMartine, January 29, 2015 KEY TAKEAWAYS Unleash Your Ability To Release Software That Your Company Depends On Software is enabling enterprises to create products and processes to win, serve, and retain customers, and thus you must release software rapidly and continuously. ARA tools model, package, and deploy application releases and their associated configurations as the business technology solution progresses through the life cycle. Software-Powered Businesses Need Your Speed, Confidence, And Reliability ARA tools give you control over how you create and deploy environments and how and when to deploy releases. The management of consistent environments is critical to ensuring that what you develop and test is the same as what you deliver to customers in your production environment. This control, coupled with automation, gives you the ability to release software quickly and reliably. Enable Control And Support Frequency Of Software Releases For Your BT Agenda The ability to release software confidently and automatically into different environments is a key part of the software development life cycle. By automating and integrating this function, ARA tools can increase the flow of the overall life cycle while ensuring the reliability of these releases. Forrester Research, Inc., 60 Acorn Park Drive, Cambridge, MA 02140 USA Tel: +1 617.613.6000 | Fax: +1 617.613.5000 | www.forrester.com FOR INFRASTRUCTURE & OPERATIONS PROFESSIONALS JANUARY 29, 2015 Market Overview: Application Release Automation Tools Unleash Your Agility With Release Automation For Better Business Results by Amy DeMartine with Kurt Bittner, Glenn O’Donnell, Eveline Oehrlich, and Michelle Mai WHY READ THIS REport Releasing software packages between environments such as development (dev), test, and production (prod) is a necessary part of the modern delivery life cycle. Application release automation (ARA) tools help firms release software consistently and in an automated fashion to these different environments as a key part of getting business technology solutions to end customers. Various levels of abstraction exist in ARA tools to define models of the hardware and software required by the business technology solutions, giving you the flexibility to deploy the software packages on-premises and in various cloud instantiations. These levels of abstraction, along with key integrations with other tools in the modern service delivery life cycle, complicate the decision factors for choosing the right ARA solution for your needs. Potential clients of ARA tools need to look for vendors that can automate modeling, packaging, and deployment of application releases and their associated configurations and that have built-in connections with existing modern service delivery tools. Table Of Contents Notes & Resources 2 Break Your Operational Paradox Of The Pre- Forrester interviewed 12 vendor and user Digital Age With ARA Tools companies: Attunity, Automic Software, BMC Software, CA Technologies, Electric Cloud, 4 Begone Those Dreaded Scripts! HP, IBM, Inedo, Octopus, Serena Software, 5 The Key Criteria That Make Up Leading ARA XebiaLabs, and Zend Technologies. Tools 8 The ARA Landscape Offers Varied Support Related Research Documents Of Requirements What Makes Modern Service Delivery Modern? RECOMMENDATIONS December 3, 2014 15 Choose A Vendor That Makes Modern Service Delivery Real Gear Up For Modern Service Delivery December 3, 2014 16 Supplemental Material Seven Habits Of Highly Effective DevOps October 2, 2014 © 2015, Forrester Research, Inc. All rights reserved. Unauthorized reproduction is strictly prohibited. Information is based on best available resources. Opinions reflect judgment at the time and are subject to change. Forrester®, Technographics®, Forrester Wave, RoleView, TechRadar, and Total Economic Impact are trademarks of Forrester Research, Inc. All other trademarks are the property of their respective companies. To purchase reprints of this document, please email [email protected]. For additional information, go to www.forrester.com. FOR INFRASTRUCTURE & OPERATIONS PROFESSIONALS Market Overview: Application Release Automation Tools 2 BREAK YOUR OPERATIONAL PARADOX OF THE PRE-DIGITAL AGE WITH ARA TOOLS In the pre-digital age, we made choices between speed, quality, and cost: to achieve two of these goals, we had to sacrifice one. In the digital age, customers use digital devices and expect digital services that they will get either from you or your competitors.1 By using automation and changing the way we develop and release digital services into smaller and faster releases, we can achieve speed, quality, and cost objectives at the same time.2 The role of tools in the modern service delivery life cycle is to automate processes to increase the quality and speed of delivery of business technology solutions while reducing cost. ARA tools are converging workload automation and release management tools, as they create release packages of business technology solutions that then are moved between different phased environments, such as dev, test, and prod. This sounds deceptively simple. However, the devil is in the details, and you must first understand the full stack, from infrastructure to your application, and decide how much of the stack you will govern to understand which features of ARA tools you require. ARA Tools Create Release Packages On the surface, creating release packages sounds simple. ARA tools model and package software code to be released on a specific set of hardware. However, these packages are deceptive. How much governance you are able to exert over your release package depends on how you create your model. Your model can: ■ Support modular design of the application. The business technology software may be created in a modular fashion and may therefore have a design to make parts of the software reusable and to hide complexity.3 Therefore, you must decide on what software to include, where to get it from, what order to install it in, and any dependencies you need to create a complete application model. ■ Define configuration. You can model configurations to show how the application, the middleware, or the infrastructure must be modified from their out-of-the box state to function properly. For example, any modifications to the OS or web servers fall into this category. These configurations can also define the login password and location of any systems of record that need to be integrated into the configuration. ■ Manifest middleware. Many applications require middleware. Middleware software packages also have release versions. Applications can depend on certain features or bug fixes of a particular release version of middleware. Pairing a version of the application to the right versions of middleware ensures that you have the right building blocks for the application. ■ Model infrastructure. The underlying infrastructure can also have a modular design. Modeling what the infrastructure contains can be as simple as the system the application runs on to the entire ecosystem of infrastructure, including the network, integrations to be modeled by service virtualization tools, and systems of record. © 2015, Forrester Research, Inc. Reproduction Prohibited January 29, 2015 FOR INFRASTRUCTURE & OPERATIONS PROFESSIONALS Market Overview: Application Release Automation Tools 3 Release packages can contain a combination of these components but must include a model for the application itself. The most basic release package model would include a bill of materials of the different prebuilt software components and the order in which to install them. The more you put into your model, the more you can understand the scope of what is required to run your business technology solution. In this case, your model is like the graphics resolution of a TV: the more detail, the higher the resolution. When you pair a version of the application model with the configuration, middleware, or infrastructure model, you have defined a version of the release package (see Figure 1). You can then make changes to any of these components to make the next version of the release package. Figure 1 Release Packages Are A Manifest In A Snapshot Of Time Sample release package Application version A.1 model Conguration model Middleware model Infrastructure conguration model 119004 Source: Forrester Research, Inc. Unauthorized reproduction or distribution prohibited. © 2015, Forrester Research, Inc. Reproduction Prohibited January 29, 2015 FOR INFRASTRUCTURE & OPERATIONS PROFESSIONALS Market Overview: Application Release Automation Tools 4 ARA Tools Move Release Packages Between Phased Environments As a version of the business technology solution moves through the life cycle, it typically starts in the dev environment, moves to the test environment, and then into the prod environment. Using continuous development techniques, versions can be in various stages of the life cycle at the same time (see Figure 2). Once you’ve defined a release package, you can deploy it on-premises or on any variation of cloud platform. You can create dev and test environments at will using these release packages. Figure 2 ARA Tools Create Release Packages And Move Them To Support The Life Cycle Various Various Version Version Version Version Version D B and C B.2 B.1 A.3 A.2 A.1 versions versions Development Test Production environments environments environment 119004 Source: Forrester Research,