SlideShare a Scribd company logo
Continuous Delivery using Automated Release Management
                                    Contents

 Introduction


 Forrester Study


 Release Management (RM) Lifecycle


 RM Maturity Model

 RM Best Practices


 Application Lifecycle Management (ALM) Lifecycle
Introduction



    “Continuous Integration” and “Continuous Delivery” are no alien terms to an


    experienced IT professional. CI & CD define broad principles to ‘Lean SDLC’ focusing


    on Lower TCO & Faster TTM. Over a period of time a host of FOSS & COTS tools were


    born to deliver the promise. You might be thinking “there are tools and hence the


    problem should be solved at least to a major extent…” Not yet, proceed to the next


    page to see the Forrester study and its results.
From the Forrester Report “Five Ways To Streamline Release Management” February 7, 2011
So why is there a lag between the Science & Practicality? There is no one answer to
that   question,   but   the    following    are   some   of   the   important   ones…


  Process Anti-Patterns
  Complete automation not possible due to Missing Release Management Cycle states
  Less focus on Deployment compared to Build & Version Control Systems
  Less Traceability & Operational Transparency



The following article is based on a “One Click Release Management Automation” we
delivered for a Global Banking giant’s Core Banking system. Based on the success the
system is being rolled out to the other 700 projects in the bank…


Note: The article covers the ‘Big Picture’, Gaps & Best Practices and doesn’t cover the
solution specifics which are confidential.
RM Lifecycle
                                              Change
                                            Management

                                                                Version
                          Deployment
                                                                Control
                          Framework
                                                              Management




               Configuration             RELEASE MANAGEMENT               Build
                Repository                     LIFECYCLE               Management




                          Environment                           Binary
                          Provisioning                        Repository


                                            Deployment
                                            Management
RM Lifecycle

       1. Change Management                         5. Deployment Management
               •   Bug Fixes                            •   Deployment Request Portal
               •   New Enhancements                     •   Environment Management
               •   Project Tracking                     •   Notifications
       2. Version Control Management                6. Environment Provisioning
               •   Branching & Merging                  •   Bare Metal Provisioning
               •   Labeling/Tagging                     •   System Configuration
               •   Versioning                           •   Application Sanity Checks
       3. Build Management                          7. Configuration Repository
               •   Build Request Portal                 •   Repository Structure
               •   Continuous Integration               •   Environment specific data
               •   Dependency Management            8. Deployment Framework
       4. Binary Repository                             •   Remote Deployments
               •   Repository Structure                 •   Orchestration
               •   External Libraries Integration       •   Error Handling
               •   High Availability                    •   Reusable Deployment Scripts
RM Maturity Model
                                                                            RM Landscape
                                                           •   RM fully integrated with ALM Framework
                 RM Automation                             •   ALM Framework integrates with all tools/processes of the ALM umbrella
    •   RM fully integrated with ALM                       •   Provides single dashboard view of Project with Full Traceability and
                                                               Reports & Analytics
                                                                                                                                Level 4

                  RM Automation                                                       RM Landscape
    •   Versioned Build Outputs                                     •       Well defined light weight Release Management Process
    •   Binary Repository                                           •       Automated RM Framework using FOSS & Custom Components
    •   Configuration Repository, Build Once Deploy Anywhere        •       Provides Transparency, Reliability, Predictability, Repeatability
R   •   Portal for Build & Deployment Management                            & Faster Release Cycles
                                                                                                                                Level 3
O
                  RM Automation                                                         RM Landscape
I
    •   Fully Automated VCS interactions                                •    Org Level Processes & Tool Stack / Home grown Automation
    •   Fully Templatized Build Automation                              •    Lacks RM concepts like Configuration/Binary Repository, …
    •   Remote Deployment Framework                                     •    Somewhat Reliable, lacks transparency to scale for
    •   Error handling & rollbacks in Build & Deployment                     Continuous Integration/Delivery
                                                                                                                                Level 2

                 RM Automation                                                                           RM Landscape
    •   Hard wired Build Scripts                                                         •    No defined Organization Level RM process
    •   Single machine Deployment Scripts                                                •     Less usage of tools & Ad-hoc Automation
                                                                                         •    Low Repeatability, Predictability & Reliability
                                                                                                                                Level 1
                                                                 Investment
RM Best Practices

     Version Control Best Practices

     •    Check-In
           –   Define a periodic check-in (logical chunks) and refresh policy for your project. Check-in can be as frequent as hourly to
               daily or completely left to developers as in distributed VCS. Project complexity, quantum of integration effort, team
               co-location are some critical factors to be considered while taking decision.

           –   Do not check-in binaries files into VCS. VCS should be used for files which get updated, strictly speaking an update to a
               binary results in a new version (i.e. binaries should be treated read only)

     •    Branching & Merging
           –   Branch only if unavoidable and branch late

           –   Do not create separate branches for individual developers. VCS is not a backup server.

           –   Do not create separate branches for SDLC phases (DEV, ST, SIT, UAT, …). A change to an application results in a new
               version and a version should be deployable to any environment. A change should not be made for a particular
               environment.

           –   Define policies for syncing branches. Changes from mainline/trunk to other branches should flow continually, branch
               to mainline for production releases and child branches to parent branches based on situation. Project complexity,
               quantum of integration effort, team co-location are some critical factors to be considered while taking decision.

     •    Tagging & Versioning
           –   Label/Tag logical points from which builds are taken for releases

           –   Use a common project structure and naming convention
RM Best Practices


     Build Management Best Practices

     •    General
           –   A build should always produce a versioned binary package

           –   Check in build scripts into version control system

           –   An output of a build run should be automatically placed in the binary repository as per the structure

           –   Build Requests should be captured for audit and other uses. Use a web portal as a build management tool.

           –   Schedule periodic automated builds with the help of CI tools



     •    Modularize
           –   Break down your project into components and build only changed components & their dependencies

           –   In the J2ee world, use Maven/Ivy to manage component dependencies

           –   Break down your build script into reusable templatized components. Do not hard code.
RM Best Practices


     Binary Repository Best Practices

     •    Should have a defined structure & naming convention

     •    High Availability (e.g. SAN clusters with redundancy)

     •    One Binary Repository for a company/unit, can be geographically clustered with replication for performance

     •    Should support promotion of binaries to SDLC environments (DEV/ST/UAT/…)

     •    Should have automatic redundancy detection and avoidance

     •    Can be realized using products like Archiva, Artifactory or a custom solution on top of the file system

     •    Should only be accessible to the deployment frameworks based on right ACL

     •    Should only support file creation, update/delete should not be provided


     Configuration Repository Best Practices

     •    Should have a defined structure & naming convention and match that of a binary repository

     •    Should be realized on top of a version control system

     •    One Configuration Repository for a company/unit, can be geographically clustered with replication for
          performance

     •    Should only be accessible to the deployment frameworks based on right ACL
RM Best Practices


     Deployment Management & Deployment Framework Best Practices

     •    Deployment Management
           –   Deployment Requests should be captured for audit and other uses. Use a web portal as a build management tool.

           –   Capture the revision/version number of the configuration repository at the time of deployment request

           –   Deployment portal should present the deployment options after linking the Binary & Configuration Repository



     •    Deployment Framework
ALM Lifecycle



                           Testing                           Requirements




                                         APPLICATION LIFECYCLE
                                         MANAGEMENT (ALM)

                                      • Traceability
                                      • Process Automation
                                      • Reporting & Analytics
                Release                                                Modeling




                                        Development

                          RM is a part of Application Lifecycle Management

More Related Content

What's hot

Overview of Agile Methodology
Overview of Agile MethodologyOverview of Agile Methodology
Overview of Agile MethodologyHaresh Karkar
 
Enterprise Release Management for DevOps & Continuous Delivery/ From Spreadsh...
Enterprise Release Management for DevOps & Continuous Delivery/ From Spreadsh...Enterprise Release Management for DevOps & Continuous Delivery/ From Spreadsh...
Enterprise Release Management for DevOps & Continuous Delivery/ From Spreadsh...XebiaLabs
 
Agile ceremonies
Agile ceremoniesAgile ceremonies
Agile ceremonies
Janaki Joshi
 
Agile software development
Agile software developmentAgile software development
Agile software development
Rajesh Piryani
 
Agile Software Development Overview
Agile Software Development OverviewAgile Software Development Overview
Agile Software Development Overview
Stewart Rogers
 
Scrum Process
Scrum ProcessScrum Process
Scrum Process
Rodrigo Paolucci
 
Quality assurance activities in agile
Quality assurance activities in agileQuality assurance activities in agile
Quality assurance activities in agile
nisha thapa
 
Agile Release Management Best Practices
Agile Release Management Best PracticesAgile Release Management Best Practices
Agile Release Management Best Practices
Anmol Oberoi
 
Test Management introduction
Test Management introductionTest Management introduction
Test Management introductionOana Feidi
 
What is Scrum? SlideShare
What is Scrum? SlideShareWhat is Scrum? SlideShare
What is Scrum? SlideShare
Invensis Learning
 
Introduction To Agile
Introduction To AgileIntroduction To Agile
Introduction To Agile
Knoldus Inc.
 
What is Scrum?
What is Scrum?What is Scrum?
What is Scrum?
Fredrik Fjällström
 
Software development life cycle (sdlc) phases.pdf
Software development life cycle (sdlc) phases.pdfSoftware development life cycle (sdlc) phases.pdf
Software development life cycle (sdlc) phases.pdf
Prayas Gokhale
 
2017 Scrum by Picture
2017 Scrum by Picture2017 Scrum by Picture
2017 Scrum by Picture
Pawel Lewinski
 
Agile-overview: Agile Manifesto, Agile principles and Agile Methodologies
Agile-overview: Agile Manifesto, Agile principles and Agile MethodologiesAgile-overview: Agile Manifesto, Agile principles and Agile Methodologies
Agile-overview: Agile Manifesto, Agile principles and Agile Methodologies
Balaji Sathram
 
Scaling Agile With SAFe (Scaled Agile Framework)
Scaling Agile With SAFe (Scaled Agile Framework)Scaling Agile With SAFe (Scaled Agile Framework)
Scaling Agile With SAFe (Scaled Agile Framework)
Andreano Lanusse
 
TestOps and Shift Left
TestOps and Shift LeftTestOps and Shift Left
TestOps and Shift Left
Gervais Johnson, Advisor
 
Agile & Scrum – intro slides
Agile & Scrum – intro slidesAgile & Scrum – intro slides
Agile & Scrum – intro slides
Artem Bykovets
 
DevOps - The Key to Rapid Productization (Introduction to the 5C's of DevOps)
DevOps - The Key to Rapid Productization (Introduction to the 5C's of DevOps)DevOps - The Key to Rapid Productization (Introduction to the 5C's of DevOps)
DevOps - The Key to Rapid Productization (Introduction to the 5C's of DevOps)
Cygnet Infotech
 
Scrum Master Roles and Responsibilities | Scrum Master Tutorial | Edureka
Scrum Master Roles and Responsibilities | Scrum Master Tutorial | EdurekaScrum Master Roles and Responsibilities | Scrum Master Tutorial | Edureka
Scrum Master Roles and Responsibilities | Scrum Master Tutorial | Edureka
Edureka!
 

What's hot (20)

Overview of Agile Methodology
Overview of Agile MethodologyOverview of Agile Methodology
Overview of Agile Methodology
 
Enterprise Release Management for DevOps & Continuous Delivery/ From Spreadsh...
Enterprise Release Management for DevOps & Continuous Delivery/ From Spreadsh...Enterprise Release Management for DevOps & Continuous Delivery/ From Spreadsh...
Enterprise Release Management for DevOps & Continuous Delivery/ From Spreadsh...
 
Agile ceremonies
Agile ceremoniesAgile ceremonies
Agile ceremonies
 
Agile software development
Agile software developmentAgile software development
Agile software development
 
Agile Software Development Overview
Agile Software Development OverviewAgile Software Development Overview
Agile Software Development Overview
 
Scrum Process
Scrum ProcessScrum Process
Scrum Process
 
Quality assurance activities in agile
Quality assurance activities in agileQuality assurance activities in agile
Quality assurance activities in agile
 
Agile Release Management Best Practices
Agile Release Management Best PracticesAgile Release Management Best Practices
Agile Release Management Best Practices
 
Test Management introduction
Test Management introductionTest Management introduction
Test Management introduction
 
What is Scrum? SlideShare
What is Scrum? SlideShareWhat is Scrum? SlideShare
What is Scrum? SlideShare
 
Introduction To Agile
Introduction To AgileIntroduction To Agile
Introduction To Agile
 
What is Scrum?
What is Scrum?What is Scrum?
What is Scrum?
 
Software development life cycle (sdlc) phases.pdf
Software development life cycle (sdlc) phases.pdfSoftware development life cycle (sdlc) phases.pdf
Software development life cycle (sdlc) phases.pdf
 
2017 Scrum by Picture
2017 Scrum by Picture2017 Scrum by Picture
2017 Scrum by Picture
 
Agile-overview: Agile Manifesto, Agile principles and Agile Methodologies
Agile-overview: Agile Manifesto, Agile principles and Agile MethodologiesAgile-overview: Agile Manifesto, Agile principles and Agile Methodologies
Agile-overview: Agile Manifesto, Agile principles and Agile Methodologies
 
Scaling Agile With SAFe (Scaled Agile Framework)
Scaling Agile With SAFe (Scaled Agile Framework)Scaling Agile With SAFe (Scaled Agile Framework)
Scaling Agile With SAFe (Scaled Agile Framework)
 
TestOps and Shift Left
TestOps and Shift LeftTestOps and Shift Left
TestOps and Shift Left
 
Agile & Scrum – intro slides
Agile & Scrum – intro slidesAgile & Scrum – intro slides
Agile & Scrum – intro slides
 
DevOps - The Key to Rapid Productization (Introduction to the 5C's of DevOps)
DevOps - The Key to Rapid Productization (Introduction to the 5C's of DevOps)DevOps - The Key to Rapid Productization (Introduction to the 5C's of DevOps)
DevOps - The Key to Rapid Productization (Introduction to the 5C's of DevOps)
 
Scrum Master Roles and Responsibilities | Scrum Master Tutorial | Edureka
Scrum Master Roles and Responsibilities | Scrum Master Tutorial | EdurekaScrum Master Roles and Responsibilities | Scrum Master Tutorial | Edureka
Scrum Master Roles and Responsibilities | Scrum Master Tutorial | Edureka
 

Similar to Continuous Delivery using Release Management Automation

Oracle tech fmw-02-soa-suite-11g-neum-15.04.2010
Oracle tech fmw-02-soa-suite-11g-neum-15.04.2010Oracle tech fmw-02-soa-suite-11g-neum-15.04.2010
Oracle tech fmw-02-soa-suite-11g-neum-15.04.2010Oracle BH
 
Was liberty
Was libertyWas liberty
Was liberty
Ian Robinson
 
Patterns for Building High Performance Applications in Cloud - CloudConnect2012
Patterns for Building High Performance Applications in Cloud - CloudConnect2012Patterns for Building High Performance Applications in Cloud - CloudConnect2012
Patterns for Building High Performance Applications in Cloud - CloudConnect2012Munish Gupta
 
21st Century SOA
21st Century SOA21st Century SOA
21st Century SOA
Bob Rhubart
 
21st Century SOA
21st Century SOA21st Century SOA
21st Century SOA
Bob Rhubart
 
VMware - Snapshot sessions - Deploy and manage tomorrow's applications today
VMware - Snapshot sessions  - Deploy and manage tomorrow's applications todayVMware - Snapshot sessions  - Deploy and manage tomorrow's applications today
VMware - Snapshot sessions - Deploy and manage tomorrow's applications todayAnnSteyaert_vmware
 
OOW 09 EBS Application Change Management Pack
OOW 09 EBS Application Change Management PackOOW 09 EBS Application Change Management Pack
OOW 09 EBS Application Change Management Packjucaab
 
Centralized test automation framework implementation
Centralized test automation framework implementationCentralized test automation framework implementation
Centralized test automation framework implementation
Bharathi Krishnamurthi
 
Server Day 2009: Oracle/Bea Fusion Middleware by Paolo Ramasso
Server Day 2009: Oracle/Bea Fusion Middleware by Paolo RamassoServer Day 2009: Oracle/Bea Fusion Middleware by Paolo Ramasso
Server Day 2009: Oracle/Bea Fusion Middleware by Paolo Ramasso
JUG Genova
 
Banking Software Simulated proposal
Banking Software Simulated proposalBanking Software Simulated proposal
Banking Software Simulated proposal
Imran Fayyaz
 
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
XebiaLabs
 
10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural stylesMajong DevJfu
 
21st Century Service Oriented Architecture
21st Century Service Oriented Architecture21st Century Service Oriented Architecture
21st Century Service Oriented Architecture
Bob Rhubart
 
Cloud Hosting for Government Agencies: Drupal Platform as a Service
Cloud Hosting for Government Agencies: Drupal Platform as a ServiceCloud Hosting for Government Agencies: Drupal Platform as a Service
Cloud Hosting for Government Agencies: Drupal Platform as a ServiceAcquia
 
Using a private cloud to automate and govern enterprise development
Using a private cloud to automate and govern enterprise developmentUsing a private cloud to automate and govern enterprise development
Using a private cloud to automate and govern enterprise developmentWSO2
 
Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost
Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost
Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost WSO2
 
Architecting a Private Cloud - Cloud Expo
Architecting a Private Cloud - Cloud ExpoArchitecting a Private Cloud - Cloud Expo
Architecting a Private Cloud - Cloud Expo
smw355
 
PCTY 2012, Overvågning af forretningssystemer i et virtuelt miljø v. Hans Ped...
PCTY 2012, Overvågning af forretningssystemer i et virtuelt miljø v. Hans Ped...PCTY 2012, Overvågning af forretningssystemer i et virtuelt miljø v. Hans Ped...
PCTY 2012, Overvågning af forretningssystemer i et virtuelt miljø v. Hans Ped...
IBM Danmark
 
RES Software Online Seminar 10 mei 2011
RES Software Online Seminar 10 mei 2011RES Software Online Seminar 10 mei 2011
RES Software Online Seminar 10 mei 2011RES Software Nederland
 

Similar to Continuous Delivery using Release Management Automation (20)

Oracle tech fmw-02-soa-suite-11g-neum-15.04.2010
Oracle tech fmw-02-soa-suite-11g-neum-15.04.2010Oracle tech fmw-02-soa-suite-11g-neum-15.04.2010
Oracle tech fmw-02-soa-suite-11g-neum-15.04.2010
 
Was liberty
Was libertyWas liberty
Was liberty
 
Patterns for Building High Performance Applications in Cloud - CloudConnect2012
Patterns for Building High Performance Applications in Cloud - CloudConnect2012Patterns for Building High Performance Applications in Cloud - CloudConnect2012
Patterns for Building High Performance Applications in Cloud - CloudConnect2012
 
21st Century SOA
21st Century SOA21st Century SOA
21st Century SOA
 
21st Century SOA
21st Century SOA21st Century SOA
21st Century SOA
 
VMware - Snapshot sessions - Deploy and manage tomorrow's applications today
VMware - Snapshot sessions  - Deploy and manage tomorrow's applications todayVMware - Snapshot sessions  - Deploy and manage tomorrow's applications today
VMware - Snapshot sessions - Deploy and manage tomorrow's applications today
 
OOW 09 EBS Application Change Management Pack
OOW 09 EBS Application Change Management PackOOW 09 EBS Application Change Management Pack
OOW 09 EBS Application Change Management Pack
 
Centralized test automation framework implementation
Centralized test automation framework implementationCentralized test automation framework implementation
Centralized test automation framework implementation
 
Server Day 2009: Oracle/Bea Fusion Middleware by Paolo Ramasso
Server Day 2009: Oracle/Bea Fusion Middleware by Paolo RamassoServer Day 2009: Oracle/Bea Fusion Middleware by Paolo Ramasso
Server Day 2009: Oracle/Bea Fusion Middleware by Paolo Ramasso
 
Banking Software Simulated proposal
Banking Software Simulated proposalBanking Software Simulated proposal
Banking Software Simulated proposal
 
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
 
10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles
 
21st Century Service Oriented Architecture
21st Century Service Oriented Architecture21st Century Service Oriented Architecture
21st Century Service Oriented Architecture
 
2018 jk
2018 jk2018 jk
2018 jk
 
Cloud Hosting for Government Agencies: Drupal Platform as a Service
Cloud Hosting for Government Agencies: Drupal Platform as a ServiceCloud Hosting for Government Agencies: Drupal Platform as a Service
Cloud Hosting for Government Agencies: Drupal Platform as a Service
 
Using a private cloud to automate and govern enterprise development
Using a private cloud to automate and govern enterprise developmentUsing a private cloud to automate and govern enterprise development
Using a private cloud to automate and govern enterprise development
 
Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost
Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost
Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost
 
Architecting a Private Cloud - Cloud Expo
Architecting a Private Cloud - Cloud ExpoArchitecting a Private Cloud - Cloud Expo
Architecting a Private Cloud - Cloud Expo
 
PCTY 2012, Overvågning af forretningssystemer i et virtuelt miljø v. Hans Ped...
PCTY 2012, Overvågning af forretningssystemer i et virtuelt miljø v. Hans Ped...PCTY 2012, Overvågning af forretningssystemer i et virtuelt miljø v. Hans Ped...
PCTY 2012, Overvågning af forretningssystemer i et virtuelt miljø v. Hans Ped...
 
RES Software Online Seminar 10 mei 2011
RES Software Online Seminar 10 mei 2011RES Software Online Seminar 10 mei 2011
RES Software Online Seminar 10 mei 2011
 

Recently uploaded

20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
Rohit Gautam
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Vladimir Iglovikov, Ph.D.
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 

Recently uploaded (20)

20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 

Continuous Delivery using Release Management Automation

  • 1. Continuous Delivery using Automated Release Management Contents  Introduction  Forrester Study  Release Management (RM) Lifecycle  RM Maturity Model  RM Best Practices  Application Lifecycle Management (ALM) Lifecycle
  • 2. Introduction “Continuous Integration” and “Continuous Delivery” are no alien terms to an experienced IT professional. CI & CD define broad principles to ‘Lean SDLC’ focusing on Lower TCO & Faster TTM. Over a period of time a host of FOSS & COTS tools were born to deliver the promise. You might be thinking “there are tools and hence the problem should be solved at least to a major extent…” Not yet, proceed to the next page to see the Forrester study and its results.
  • 3. From the Forrester Report “Five Ways To Streamline Release Management” February 7, 2011
  • 4. So why is there a lag between the Science & Practicality? There is no one answer to that question, but the following are some of the important ones…  Process Anti-Patterns  Complete automation not possible due to Missing Release Management Cycle states  Less focus on Deployment compared to Build & Version Control Systems  Less Traceability & Operational Transparency The following article is based on a “One Click Release Management Automation” we delivered for a Global Banking giant’s Core Banking system. Based on the success the system is being rolled out to the other 700 projects in the bank… Note: The article covers the ‘Big Picture’, Gaps & Best Practices and doesn’t cover the solution specifics which are confidential.
  • 5. RM Lifecycle Change Management Version Deployment Control Framework Management Configuration RELEASE MANAGEMENT Build Repository LIFECYCLE Management Environment Binary Provisioning Repository Deployment Management
  • 6. RM Lifecycle 1. Change Management 5. Deployment Management • Bug Fixes • Deployment Request Portal • New Enhancements • Environment Management • Project Tracking • Notifications 2. Version Control Management 6. Environment Provisioning • Branching & Merging • Bare Metal Provisioning • Labeling/Tagging • System Configuration • Versioning • Application Sanity Checks 3. Build Management 7. Configuration Repository • Build Request Portal • Repository Structure • Continuous Integration • Environment specific data • Dependency Management 8. Deployment Framework 4. Binary Repository • Remote Deployments • Repository Structure • Orchestration • External Libraries Integration • Error Handling • High Availability • Reusable Deployment Scripts
  • 7. RM Maturity Model RM Landscape • RM fully integrated with ALM Framework RM Automation • ALM Framework integrates with all tools/processes of the ALM umbrella • RM fully integrated with ALM • Provides single dashboard view of Project with Full Traceability and Reports & Analytics Level 4 RM Automation RM Landscape • Versioned Build Outputs • Well defined light weight Release Management Process • Binary Repository • Automated RM Framework using FOSS & Custom Components • Configuration Repository, Build Once Deploy Anywhere • Provides Transparency, Reliability, Predictability, Repeatability R • Portal for Build & Deployment Management & Faster Release Cycles Level 3 O RM Automation RM Landscape I • Fully Automated VCS interactions • Org Level Processes & Tool Stack / Home grown Automation • Fully Templatized Build Automation • Lacks RM concepts like Configuration/Binary Repository, … • Remote Deployment Framework • Somewhat Reliable, lacks transparency to scale for • Error handling & rollbacks in Build & Deployment Continuous Integration/Delivery Level 2 RM Automation RM Landscape • Hard wired Build Scripts • No defined Organization Level RM process • Single machine Deployment Scripts • Less usage of tools & Ad-hoc Automation • Low Repeatability, Predictability & Reliability Level 1 Investment
  • 8. RM Best Practices Version Control Best Practices • Check-In – Define a periodic check-in (logical chunks) and refresh policy for your project. Check-in can be as frequent as hourly to daily or completely left to developers as in distributed VCS. Project complexity, quantum of integration effort, team co-location are some critical factors to be considered while taking decision. – Do not check-in binaries files into VCS. VCS should be used for files which get updated, strictly speaking an update to a binary results in a new version (i.e. binaries should be treated read only) • Branching & Merging – Branch only if unavoidable and branch late – Do not create separate branches for individual developers. VCS is not a backup server. – Do not create separate branches for SDLC phases (DEV, ST, SIT, UAT, …). A change to an application results in a new version and a version should be deployable to any environment. A change should not be made for a particular environment. – Define policies for syncing branches. Changes from mainline/trunk to other branches should flow continually, branch to mainline for production releases and child branches to parent branches based on situation. Project complexity, quantum of integration effort, team co-location are some critical factors to be considered while taking decision. • Tagging & Versioning – Label/Tag logical points from which builds are taken for releases – Use a common project structure and naming convention
  • 9. RM Best Practices Build Management Best Practices • General – A build should always produce a versioned binary package – Check in build scripts into version control system – An output of a build run should be automatically placed in the binary repository as per the structure – Build Requests should be captured for audit and other uses. Use a web portal as a build management tool. – Schedule periodic automated builds with the help of CI tools • Modularize – Break down your project into components and build only changed components & their dependencies – In the J2ee world, use Maven/Ivy to manage component dependencies – Break down your build script into reusable templatized components. Do not hard code.
  • 10. RM Best Practices Binary Repository Best Practices • Should have a defined structure & naming convention • High Availability (e.g. SAN clusters with redundancy) • One Binary Repository for a company/unit, can be geographically clustered with replication for performance • Should support promotion of binaries to SDLC environments (DEV/ST/UAT/…) • Should have automatic redundancy detection and avoidance • Can be realized using products like Archiva, Artifactory or a custom solution on top of the file system • Should only be accessible to the deployment frameworks based on right ACL • Should only support file creation, update/delete should not be provided Configuration Repository Best Practices • Should have a defined structure & naming convention and match that of a binary repository • Should be realized on top of a version control system • One Configuration Repository for a company/unit, can be geographically clustered with replication for performance • Should only be accessible to the deployment frameworks based on right ACL
  • 11. RM Best Practices Deployment Management & Deployment Framework Best Practices • Deployment Management – Deployment Requests should be captured for audit and other uses. Use a web portal as a build management tool. – Capture the revision/version number of the configuration repository at the time of deployment request – Deployment portal should present the deployment options after linking the Binary & Configuration Repository • Deployment Framework
  • 12. ALM Lifecycle Testing Requirements APPLICATION LIFECYCLE MANAGEMENT (ALM) • Traceability • Process Automation • Reporting & Analytics Release Modeling Development RM is a part of Application Lifecycle Management