Experience Report
Summary
Aricent has implemented “DevOps” method for automating delivery
pipeline of Aricloud Product/Framework
This experience report covers the following
Objectives behind the DevOps implementation
Details the steps involved in implementing the DevOps
Highlights various technical and non-technical challenges faced during
DevOps implementation
Key Learnings to overcome the challenges
Why DevOps for Aricloud Product?
Aricent IT is potential customer for Aricloud Product – (Cloud
Monitoring System). Aricent IT is planned to use Aricloud Product for
managing and monitoring their private cloud based data center.
After every release, Aricloud Development Team has to create and
upload the Aricloud Package in a network and then needs to co-
ordinate with IT Operations Team to deploy at IT Staging/Production
environment for testing
Manual process of Aricloud deployment was more time consuming and
“overall delivery to deployment” had taken more time and delayed the
delivery milestones
“DevOps” methodology is selected to completely automate the entire
delivery pipeline
Transitioning to DevOPs
Old Process – Manual Integration & Delivery
Build Testing DeployCode Check-
in
manual manual manual
• DevOps – Continuous Integration & Delivery
DevOps Implementation
DevOps implemented using our Jenkins CI tool capability by adding
Plugins to automate the entire delivery pipeline
Steps Involved:
Develop the DevOps pipeline
Ability to disable specific stage(s) in pipeline
Design & Implement build promotion logic taking promotion decision
based on output of current stage
Setup Email alerts for build promotion success or failure at each stage in
pipeline
Log all the DevOps events including failure details and all the Test
results
Triggering of DevOps workflow - check-in driven & schedule driven
Automated logging of new defects into Bug Tracker (Bugzilla/Mantis)
on build/test failures
DevOps Implementation
Following Plug-in used with Jenkins:
https://wiki.jenkins-ci.org/display/JENKINS/Conditional+BuildStep+Plugin
https://wiki.jenkins-ci.org/display/JENKINS/Run+Condition+Plugin
https://wiki.jenkins-ci.org/display/JENKINS/Flexible+Publish+Plugin
https://wiki.jenkins-ci.org/display/JENKINS/Any+Build+Step+Plugin
https://wiki.jenkins-ci.org/display/JENKINS/Build+Pipeline+Plugin
https://wiki.jenkins-ci.org/display/JENKINS/Delivery+Pipeline+Plugin
https://wiki.jenkins-ci.org/display/JENKINS/Join+Plugin
https://wiki.jenkins-ci.org/display/JENKINS/Multijob+Plugin
Challenges Faced
Technical Challenges
• Using each of the Plug-in involved to configure and make it work in Jenkins
involved its learning curve.
• Integrating the links among various stages of pipeline took considerable
amount of time
• Setting up the Email Alerts for build promotion success/failure involved its
own set of challenges.
Team had overcome the challenges by exploring and experimenting the Jenkins
Plug-in and its configurations and were able to make it work each of the stages
correctly in DevOps pipeline
Challenges Faced
Cultural Issue/ Resistance from IT Operations:
IT Operations has low trust on “DevOps” as they feared low quality
code may be deployed into Staging/Production environment due to
automated continuous delivery. So there were initial resistance to
implement DevOps for their deployment.
IT Operations team was walk through the complete process by showing
the adequate test coverage in Continuous Integration and given
confident by showing “Fewer changes per release means more control
for operations, even if those releases happen more frequently”
This challenge is overcome by setting the “ground rules” and ensuring
smooth co-ordination and effective communication between
development and operations team
Challenges Faced
Change in Team’s Way of Working
Team’s Way of Working needs to be changed for adopting “Continuous
Integration” and “Continuous Delivery” as part of DevOps. Aricloud
product is developed by distributed Agile team across geographic,
which added further complexity.
This challenge was overcome by educating the teams on processes
involved in Continuous Integration & Continuous Delivery and
ensuring the effective communication between teams in DSMs.
Organisation Delivery processes
In traditional organisation delivery process, the Release Audit needs to
be done prior to delivery /deployment of Aricloud product.This
challenged was overcome by automating the Release Audit/checklist
and ensured the delivery is done only if the release criteria met.
Challenges Faced
Test Automation
As the Testing stage in the DevOps pipeline involves running series of
automated test cases on the newly deployed build, thus there was a
need for sufficient test coverage. This had also some challenges in
allocating the budget for Test Automation.
This challenge was overcome initially by automating test cases based on
“Risk based Testing” using Selenium. Later other test cases were
automated in subsequent sprints for more test coverage.
Key Benefits
Continuous Delivery reduces the time between Code checkins to Production
Deployment from weeks to few hours
Improved communication, collaboration and integration between Software
Developers and Operations team
Increased Customer satisfaction due to
Rapid turnaround on requested feature enhancements and bug fixes
Improved deployment frequency
Shortened lead time between fixes
Faster mean time to recovery in the event of a new release crashing or otherwise
disabling the current system

Dev ops continuousdeliveryforcloudproduct

  • 1.
  • 2.
    Summary Aricent has implemented“DevOps” method for automating delivery pipeline of Aricloud Product/Framework This experience report covers the following Objectives behind the DevOps implementation Details the steps involved in implementing the DevOps Highlights various technical and non-technical challenges faced during DevOps implementation Key Learnings to overcome the challenges
  • 3.
    Why DevOps forAricloud Product? Aricent IT is potential customer for Aricloud Product – (Cloud Monitoring System). Aricent IT is planned to use Aricloud Product for managing and monitoring their private cloud based data center. After every release, Aricloud Development Team has to create and upload the Aricloud Package in a network and then needs to co- ordinate with IT Operations Team to deploy at IT Staging/Production environment for testing Manual process of Aricloud deployment was more time consuming and “overall delivery to deployment” had taken more time and delayed the delivery milestones “DevOps” methodology is selected to completely automate the entire delivery pipeline
  • 4.
    Transitioning to DevOPs OldProcess – Manual Integration & Delivery Build Testing DeployCode Check- in manual manual manual • DevOps – Continuous Integration & Delivery
  • 5.
    DevOps Implementation DevOps implementedusing our Jenkins CI tool capability by adding Plugins to automate the entire delivery pipeline Steps Involved: Develop the DevOps pipeline Ability to disable specific stage(s) in pipeline Design & Implement build promotion logic taking promotion decision based on output of current stage Setup Email alerts for build promotion success or failure at each stage in pipeline Log all the DevOps events including failure details and all the Test results Triggering of DevOps workflow - check-in driven & schedule driven Automated logging of new defects into Bug Tracker (Bugzilla/Mantis) on build/test failures
  • 6.
    DevOps Implementation Following Plug-inused with Jenkins: https://wiki.jenkins-ci.org/display/JENKINS/Conditional+BuildStep+Plugin https://wiki.jenkins-ci.org/display/JENKINS/Run+Condition+Plugin https://wiki.jenkins-ci.org/display/JENKINS/Flexible+Publish+Plugin https://wiki.jenkins-ci.org/display/JENKINS/Any+Build+Step+Plugin https://wiki.jenkins-ci.org/display/JENKINS/Build+Pipeline+Plugin https://wiki.jenkins-ci.org/display/JENKINS/Delivery+Pipeline+Plugin https://wiki.jenkins-ci.org/display/JENKINS/Join+Plugin https://wiki.jenkins-ci.org/display/JENKINS/Multijob+Plugin
  • 7.
    Challenges Faced Technical Challenges •Using each of the Plug-in involved to configure and make it work in Jenkins involved its learning curve. • Integrating the links among various stages of pipeline took considerable amount of time • Setting up the Email Alerts for build promotion success/failure involved its own set of challenges. Team had overcome the challenges by exploring and experimenting the Jenkins Plug-in and its configurations and were able to make it work each of the stages correctly in DevOps pipeline
  • 8.
    Challenges Faced Cultural Issue/Resistance from IT Operations: IT Operations has low trust on “DevOps” as they feared low quality code may be deployed into Staging/Production environment due to automated continuous delivery. So there were initial resistance to implement DevOps for their deployment. IT Operations team was walk through the complete process by showing the adequate test coverage in Continuous Integration and given confident by showing “Fewer changes per release means more control for operations, even if those releases happen more frequently” This challenge is overcome by setting the “ground rules” and ensuring smooth co-ordination and effective communication between development and operations team
  • 9.
    Challenges Faced Change inTeam’s Way of Working Team’s Way of Working needs to be changed for adopting “Continuous Integration” and “Continuous Delivery” as part of DevOps. Aricloud product is developed by distributed Agile team across geographic, which added further complexity. This challenge was overcome by educating the teams on processes involved in Continuous Integration & Continuous Delivery and ensuring the effective communication between teams in DSMs. Organisation Delivery processes In traditional organisation delivery process, the Release Audit needs to be done prior to delivery /deployment of Aricloud product.This challenged was overcome by automating the Release Audit/checklist and ensured the delivery is done only if the release criteria met.
  • 10.
    Challenges Faced Test Automation Asthe Testing stage in the DevOps pipeline involves running series of automated test cases on the newly deployed build, thus there was a need for sufficient test coverage. This had also some challenges in allocating the budget for Test Automation. This challenge was overcome initially by automating test cases based on “Risk based Testing” using Selenium. Later other test cases were automated in subsequent sprints for more test coverage.
  • 11.
    Key Benefits Continuous Deliveryreduces the time between Code checkins to Production Deployment from weeks to few hours Improved communication, collaboration and integration between Software Developers and Operations team Increased Customer satisfaction due to Rapid turnaround on requested feature enhancements and bug fixes Improved deployment frequency Shortened lead time between fixes Faster mean time to recovery in the event of a new release crashing or otherwise disabling the current system