Continuous Delivery: Automating the Deployment Pipeline. Solution Brief



Similar documents
Best Practices in Release and Deployment Management

Orchestrated. Release Management. Gain insight and control, eliminate ineffective handoffs, and automate application deployments

Agile Software Factory: Bringing the reliability of a manufacturing line to software development

Serena Dimensions CM. Develop your enterprise applications collaboratively securely and efficiently SOLUTION BRIEF

Bridge Development and Operations for faster delivery of applications

DevOps. Jesse Pai Robert Monical 8/14/2015

Urbancode Deploy Overview

Building a Continuous Integration Pipeline with Docker

Fundamentals of Continuous Integration

WHITEPAPER. Best Practices for Agile Change and Release Management

Continuous Delivery. Anatomy of the Deployment Pipeline (Free Chapter) by Jez Humble and David Farley

Pipeline Orchestration for Test Automation using Extended Buildbot Architecture

Development Testing for Agile Environments

White Paper. The Importance of Automating the End to End Pipeline for Continuous Delivery

Releasing High Quality Applications More Quickly with vrealize Code Stream

An introduction to the benefits of Application Lifecycle Management

Continuous Integration (CI) for Mobile Applications

Parasoft and Skytap Deliver 24/7 Access to Complete Test Environments

STRATEGIC WHITE PAPER. The next step in server virtualization: How containers are changing the cloud and application landscape

WHITE PAPER. Getting started with Continuous Integration in software development. - Amruta Kumbhar, Madhavi Shailaja & Ravi Shankar Anupindi

AWS CodePipeline. User Guide API Version

Software Development In the Cloud Cloud management and ALM

Collaborative DevOps Learn the magic of Continuous Delivery. Saurabh Agarwal Product Engineering, DevOps Solutions

WHITEPAPER. Beyond Infrastructure Virtualization Platform Virtualization, PaaS and DevOps

IBM PureFlex System. The infrastructure system with integrated expertise

Data Center is the Foundation of Carrier ICT Transformation. The challenges of building a service driven data center

Continuous???? Copyright 2015 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Increasing frequency of releases to every week down from quarterly major releases

The Forrester Wave : Application Release Automation, Q2 2015

TOP 5 REASONS WHY FINANCIAL SERVICES FIRMS SHOULD CONSIDER SDN NOW

Automated testing and continuous integration

Technology. Accenture Data Center Services

I D C V E N D O R S P O T L I G H T. W o r k l o a d Management Enables Big Data B u s i n e s s Process Optimization

Continuous delivery Release software on-demand, not on Red Alert

Solution White Paper Build the Right Cloud, Quickly

DevOps Stack. Reid Holmes. Chris Parnin:

DevOps to Enterprise Agile

CloudCenter Full Lifecycle Management. An application-defined approach to deploying and managing applications in any datacenter or cloud environment

Effective Team Development Using Microsoft Visual Studio Team System

SERENA SOFTWARE Providing Custom Documentation for Serena Business Manager

Effective End-to-End Enterprise Cloud Management

Why continuous delivery needs devops, and why devops needs infrastructure-as-code. Sriram 25-Oct-2012

IT Operations Management: A Service Delivery Primer

Modern Application Architecture for the Enterprise

WHITEPAPER. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Principle #1, Agile Manifesto

Introduction to Software Defined Networking (SDN) and how it will change the inside of your DataCentre

Practicing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation

LEVERAGE VBLOCK SYSTEMS FOR Esri s ArcGIS SYSTEM

Modern App Architecture for the Enterprise Delivering agility, portability and control with Docker Containers as a Service (CaaS)

Implementing Continuous Integration Testing Prepared by:

INFORMATION CONNECTED

Enhance visibility into and control over software projects IBM Rational change and release management software

The Application Front End Understanding Next-Generation Load Balancing Appliances

An enterprise- grade cloud management platform that enables on- demand, self- service IT operating models for Global 2000 enterprises

Service Management from Serena Software. Orchestrated. Visibility, Flexibility and Ease of Use through Process-Based IT Service Management

L'automazione dei test come elemento chiave delle pratiche DevOps

Red Hat Network: Monitoring Module Overview

Zend and IBM: Bringing the power of PHP applications to the enterprise

Customer Relationship Management

Top five lessons learned from enterprise hybrid cloud projects

Adopting a Continuous Integration / Continuous Delivery Model to Improve Software Delivery

ITIL Asset and Configuration Management in the Cloud. January 2016

Using a Java Platform as a Service to Speed Development and Deployment Cycles

WHITE PAPER. Building Blocks of the Modern Data Center

Introduction to DevOps on AWS

NETWORK AUTOMATION AND ORCHESTRATION

Cloud Utilization for Online Price Intelligence

EMC IT AUTOMATES ENTERPRISE PLATFORM AS A SERVICE

Understanding the Value of Financial Intelligence for Cloud Management. A white paper by David Linthicum

RightScale mycloud with Eucalyptus

Cisco and Red Hat: Application Centric Infrastructure Integration with OpenStack

The Role of Feedback in Continuous Integration, Continuous Delivery and Agile ALM

Customer Relationship Management

What is new for HP LoadRunner and Performance Center 11.52

Establish a Continuous Delivery Pipeline: IBM UrbanCode Deploy

Global Software Change Management for PVCS Version Manager

Enabling Your Strategies. How Deployment Automation Supports Your Agile 2.0, Continuous Delivery, DevOps & Cloud Initiatives

How To Set Up Wiremock In Anhtml.Com On A Testnet On A Linux Server On A Microsoft Powerbook 2.5 (Powerbook) On A Powerbook 1.5 On A Macbook 2 (Powerbooks)

DEVOPS: INNOVATIVE ENGINEERING PRACTICES FOR CONTINUOUS SOFTWARE DELIVERY

Databricks. A Primer

ACCELERATE DEVOPS USING OPENSHIFT PAAS

DevOps for the Cloud. Achieving agility throughout the application lifecycle. The business imperative of agility

Use Case Brief CLOUD MANAGEMENT SOFTWARE AUTOMATION

Whitepaper. Continuous Integration Tools Applying Best Practices to the Toolchain

W H I T E P A P E R E n a b l i n g D a t a c e n t e r A u t o mation with Virtualized Infrastructure

FREQUENTLY ASKED QUESTIONS

Implement a unified approach to service quality management.

Application Release Automation (ARA) Vs. Continuous Delivery

The Promise and the Reality of a Software Defined Data Center

Virtualization and Cloud: Orchestration, Automation, and Security Gaps

Business transformation with Hybrid Cloud

How Silk Central brings flexibility to agile development

agility made possible

Building and Deploying Enterprise M2M Applications with Axeda Platform

I D C T E C H N O L O G Y S P O T L I G H T

Cloud computing: Innovative solutions for test environments

Accenture Cloud Platform Unlocks Agility and Control

CARMEN DEARDO DEVOPS TECHNOLOGY LEADER, NATIONWIDE INSURANCE

Software development for the on demand enterprise. Building your business with the IBM Software Development Platform

Best Practices for Log File Management (Compliance, Security, Troubleshooting)

Transcription:

Continuous Delivery: Automating the Deployment Pipeline Solution Brief

The Value of Continuous Delivery Continuous Delivery is a software delivery practice that requires you to build and deploy software that can be released into production at any time. In order to satisfy this requirement, you need to continuously integrate the software changes from development, build, test and deploy the executables, and be ready to release into production, as the business requires it. This is a major change to how most software is delivered in today s enterprise IT. Why is Continuous Delivery important to Enterprise IT? Because it enables the business to rapidly respond to the expectations of their customers while improving the quality of their products at a lower cost. Figure 1 - The need for Continuous Delivery The goal of Continuous Delivery is to find ways to deliver high-quality, valuable software in an efficient, fast, and reliable manner. Continuous Delivery is about market speed and moving quickly from whiteboard to rollout, faster than your competition. This market speed means a shorter feedback loop and a faster time to value. With a shorter feedback loop, you fail faster, fix faster, adjust faster, and succeed faster. This agility provides a distinct business competitive advantage which is why companies like Amazon and Netflix are dominating their respective competitive landscape, transitioning into adjacent markets, and taking market leadership. These companies can adapt faster to the changing marketplace, and deliver new features and services faster than their competitors. 1

The central pattern of continuous delivery is the deployment pipeline which is an automated implementation of your application s build, deploy, test, and release process. The deployment pipeline is instantiated whenever a change is made to an application. Figure 2 - High-level overview of a deployment pipeline While the deployment pipeline is an effective pattern for getting software from development to release, mapping an automated deployment pipeline across an entire enterprise can be challenging. Organizations tend to start the journey by taking a more incremental approach, starting with development and build processes that terminate with Continuous Integration, which is the foundation of the deployment pipeline. The Disconnect Between Build and Deploy The deployment pipeline has its foundation in the process of continuous integration. There can be no continuous delivery without continuous integration (CI). Continuous Integration enables development teams to automate the integration, build and testing of code within the development environment. Using a CI server such as Jenkins, the development and build environments become integrated and automated. Builds can be triggered by various means, such as a commit in a version control system, scheduling via a cron-like mechanism, execution of a new build when other builds have completed or by requesting a specific build URL. 2

Figure 3 - Process disconnects across organizations inhibit Continuous Delivery The problem is that in many software projects, once the build is done there is a big disconnect between the build and deploy processes. While development teams own the development and build processes, the deployment process generally transitions to another organization, which has a different set of tools, scripts and processes to deploy and test the builds across the deployment pipeline. Frequently the toolchain integration with the CI server is poor or non-existent. A literal handoff occurs and the deployment team begins a manually intensive process to deploy release candidates to test and production environments. This disconnect becomes a bottleneck as the deployments queue up, leading to poor quality deployments and longer cycle times at a higher cost to the business. Automating and Integrating the Deployment Pipeline Serena s Deployment Automation product solves this disconnect by working seamlessly with continuous integration tools such as Jenkins, and automating the entire deployment pipeline. Serena Deployment Automation bridges this development and operations chasm by integrating across the entire toolchain, managing and visualizing the deployment of the release candidates across the entire pipeline, all from an application centric perspective. 3

Figure 4. Automating the Deployment Pipeline with Serena Deployment Automation Integrate the Entire Toolchain Serena Deployment Automation supports over 80 toolchain integrations by providing a flexible, robust, and extensible plug-in architecture. Plug-ins provide basic processing functions as well as integration with third-party tools. Serena Deployment Automation ships with plug-ins for many common deployment processes, and others are readily available for a wide variety of tools, such as testing tools, middleware tools, databases, servers, and other deployment targets. To integrate with Jenkins, simply download, install and configure the Serena Deployment Automation Jenkins plugin. Serena Deployment Automation integrates with automated test tools and can initiate automated testing within the deployment process. You can also automate the provisioning of the entire application stack by using plugins for Chef, AWS or VMWare. For a complete list of supported plugins visit our documentation center. Model, Manage and Visualize Your Deployment Pipeline The deployment pipeline models your process of getting your software from version control to your customers. Every time a change is committed, a new deployment pipeline is instantiated. Depending on the application and the change, the deployment pipeline may branch to different required environments and paths. Deployment to these environments could be in sequence, in parallel or offered as optional stages that are manually selected. The number of deployment pipelines to manage may increase depending on the number of applications, teams, requirements and environments.

Serena Deployment Automation helps you manage all your deployment pipelines easily and comprehensively. You can easily create, import, export and visualize all the deployment pipelines and associated environments. You can optionally request a deployment process only on the first environment in the pipeline. Thereafter, you can only promote on subsequent environments. This ensures that the same configuration is used for each environment in the pipeline. Auto-promotion, if selected, will automatically promote the release candidate if it was successfully deployed into the first environment. Upon successful deployment into that environment, the application is automatically promoted to the next environment in the pipeline sequence. If each promotion is successful, the auto-promotion continues from environment to environment until promotion into the last environment in the pipeline. Deployment pipeline views provide a holistic view of how each environment is used in each pipeline and you can quickly understand what is deployed and where it s deployed, all within a single product. Application Centric Deployment Automation Today s applications contain components that may be drawn from several different sources and deployed to different application tiers, platforms and resources. Coordination and orchestration are essential in the successful deployment of these applications. It s important to ensure that application components that are tested together are deployed together. Serena Deployment Automation solves this problem by supporting application processes and snapshots. Application processes can run manually, automatically on some trigger condition, or on a user-defined schedule. When a component has several processes defined for it, the application determines which ones are executed and in what order. For example, an n-tiered application might have a Web tier and a database tier. Once approved, both the Web tier and database tier are deployed concurrently. The application process calls the associated component processes that contain all of the deployment steps for deploying the components to specific resources.

A snapshot represents the current state of an application in the environment. Snapshots specify what combination of component versions you deploy together. They are models you create before deploying the application. A snapshot specifies the exact version for each component in the application. When a snapshot is created, Deployment Automation gathers together information about the application, including the component versions, for a given environment. For most users, the snapshot is pulled through the pipeline. A snapshot is created based on the application s state within the environment, thus capturing the different versions of the components at that time. Summary Continuous Delivery can dramatically improve the way you deliver value to your customer but can be challenging to implement. Many organizations have implemented continuous integration, which is the foundation of continuous delivery, but fail to seamlessly transition and automate the deploy and release process. Serena Deployment Automation can integrate, manage and automate your entire deployment pipeline all from an application centric perspective.

... about serena SOFTWARE... Serena Software provides orchestrated application development and release management solutions to the Global 2000. The company is the largest independent ALM vendor and the only one that orchestrates DevOps, the processes that bring together application development and operations. Headquartered in Silicon Valley, Serena serves enterprise customers across the globe. Learn more at serena. com. www.serena.com Phone: 1-800-457-3736 info@serena.com Copyright 2014 Serena Software, Inc. All rights reserved. Serena is a registered trademark of Serena Software, Inc. All other product or company names are used for identification purposes only, and may be trademarks of their respective owners. October 21, 2014. Document ID: SB-141021