Automation is what makes the software delivery process go faster, but faster does not guarantee the software will be more stable and reliable. Governance policies are the rails that assure your release train stays on track and that the software delivered will run reliably.
Throughout the release delivery process you will also want visibility into the status of your release to allow authorized users to rapidly take corrective action keeping your release train on schedule. Enhanced visibility also allows for better communication and collaboration across teams and less finger pointing if something should go wrong.
Governance of the Release Delivery Process
Let’s explore how vRealize Code Stream provides the governance controls necessary to complement an automated delivery process. Code Stream has two types of governance policies. The policies specified directly in Code Stream we will refer to as “Native” governance policies. And the policies specified in the tools that Code Stream invokes will be referred to as “Inherited” governance policies.
- Native Governance Policies
The primary governance policy is the workflow specified in the release pipeline. This describes the steps and tasks that need to be performed at each stage in the release process. The task definitions include information and attributes that need to be passed to the tools performing the tasks. Gating rules determine if and when the software release can move to the next stage and what conditions (e.g. % of test passed, manual approvals) need to be satisfied before proceeding to the next stage. Code Stream’s artifact management policies ensure that the right binary artifacts are being used when deploying a specific build version of an application. This assures consistency across every stage in the software delivery pipeline.
- Inherited governance policies
When Code Stream invokes another tool to perform a specific task like build, deploy or test, it inherits the governance policies of that application. For example: take a provisioning task where Code Stream invokes vRealize Automation to provision infrastructure for the new release’s test environment. The Code Stream Admin defining the task will only be able to select infrastructure services that they have been authorized to use, they will be provisioned on resources reserved for her group and each virtual machine will only be able to use the maximum amount of resources specified in the machine’s blueprint. The same principles that apply to inheritance of governance policies from vRealize Automation also apply to Code Stream invoking other tools.
From a governance perspective, Code Stream adds additional governance policies and works with your existing software development lifecycle tools by inheriting their governance policies.
Visibility into Your Release Process
As the pace of software releases accelerate it becomes increasingly more important but also more difficult for organizations to track which applications, configurations and artifacts are deployed on the machines at various stages in the pipeline. Code Stream provides a summary view of all active pipelines and an end-to-end view of each pipeline where all users can monitor the status so they the can see which tasks have completed, in progress or have resulted in an error. Administrators can drill down to view the details of each task to aid in problem resolution.
In addition, Code Stream’s dashboard displays status and helps identify problems so that they can be addressed quickly. For example: You can look up the execution history of each pipeline and drill down to see the execution details. You can also understand the relationships between the artifacts used in each execution. This unified view of the release status across various environments empowers collaboration between teams to assure higher quality and faster delivery of new software releases.
Here are some additional resources to help you learn more about vRealize Code Stream and its Artifact Management capabilities.
Catch up on previous Code Stream blog posts
- 13-Oct-2104 VMware vRealize Code Stream: Enabling Continuous Delivery for DevOps teams
- 11-Dec-2014 Announcing Availability of vRealize Code Stream, Release Automation Software
- 14-Jan-2015 Why Accelerating Application Release Delivery is key to “Business Agility”
- 21-Jan-2015 Code Stream – Leveraging Existing Release Automation Tools and Processes
- 28-Jan-2015 Code Stream – Integration Framework for Multi-Vendor Release Automation
- 04-Feb-2015 Code Stream – The Importance of Artifact Management in Release Automation
- 11-Feb-2015 Code Stream – Governance and Visibility into the Release Process