0% found this document useful (0 votes)
147 views22 pages

DevOps CI/CD Practices and Benefits

This document discusses DevOps practices like continuous integration (CI), continuous delivery (CD), and actual DevOps scenarios implemented at HCL Technologies. It provides an overview of CI principles like maintaining a single code repository and integrating code changes daily. It also describes CD principles like automating everything and treating "done" as meaning "released". Finally, it outlines benefits of CI/CD like reducing waste and risk, and improving collaboration, release quality, and risk management.

Uploaded by

Pulkit Kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
147 views22 pages

DevOps CI/CD Practices and Benefits

This document discusses DevOps practices like continuous integration (CI), continuous delivery (CD), and actual DevOps scenarios implemented at HCL Technologies. It provides an overview of CI principles like maintaining a single code repository and integrating code changes daily. It also describes CD principles like automating everything and treating "done" as meaning "released". Finally, it outlines benefits of CI/CD like reducing waste and risk, and improving collaboration, release quality, and risk management.

Uploaded by

Pulkit Kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd

DevOps – CI, CD and Actual Scenarios

HCL Technologies

1
Continuous Integration

2
Continuous Integration

• …is a software development practice


where engineers integrate frequently,
leading to multiple integrations per
day. Each integration is verified by an
automated build and test to detect
integration errors as quickly as
possible.

3
Principles of CI

• Maintain a Single Source Code Repository


• Everyone commits every day
• Every Commit should build the code on
integration machine
• Keep the Build fast and short
• Everyone can see what's happening

4
Continuous Delivery

5
A Service/Software contains

• Code
• Configuration
• Data
• Infrastructure
Every change will requires to re-validate
the entire service.
How can ship fast with low risk and high
confidence?
6
The answer is “Continuous Delivery”

is a set of practices and principles aimed at


Building, Testing, and Releasing software faster
and more frequently.

7
Principles of Continuous Delivery

• The process for releasing/deploying software MUST


be repeatable and reliable.
• Automate everything!
• Done means “released”.
• If something difficult or painful, do it more often.
• Keep everything in source control
• Pushing in quality Builds.
• Improve continuously.
• Everybody is responsible for release process.
8
Benefits of Continuous Delivery

• Remove waste, risk and bottlenecks in the process


to deliver changes faster and safer.
• Improved release quality.
• More collaboration. Test, Support and Dev. as one
delivery team.
• Predictable and faster turnaround for business
requests.
• Improved Risk Management. Releases to production
are reliable, routine “non-events”.
• This improves confidence, and avoids potentially
embarrassing customer impacts.
9
10
CI and CD Tools Landscape

11
DevOps Engineering Themes
Test In Production

• Continuously and extensively Monitoring and experimental our service in production

Continuous Deployment

• Frequent deployments of small changes to production environment (starting with weekly releases)

Continuous Integration

• Minimize the gap between code development and deployment readiness

Pushing Quality Upstream

• Efficient processes to reduce the cost and gaps between product and quality development

Continuous Improvement

• Constant observation, measurement and feedback on processes ,systems and cost

12
DevOps Core Practices

13
Deployment Pipeline

14
Deployment Pipeline models the part of feedback driven
project’s value stream that goes from commit to release,
and then will be automated.

15
Benefits of Deployment Pipeline

• Formalize and Visualize release process


• Remove waste, risk and bottlenecks in the
process to deliver changes faster and safer.
• More collaboration. Test, Support and Dev. as
one delivery team.
• Predictable and faster turnaround for business
requests.
• Improved Risk Management. Releases to
production are reliable, routine “non-events”.
16
Delivery Tools Integration
and Custom DevOps
Pipeline (Actual Scenario)

17
18
Are the All the versions
Are all SVN versions containing the closed
status of all JIRA sub tasks id in
STORY extracted in extracted closed their commit logs will
child tasks child tasks be extracted
closed? reviewed?

YES
YES

Graphical view of all


types of
Commit/Checkout
A custom query will be
triggered in JIRA to
Reports
This custom
framework using
Custom
extract all child tasks of a
STORY
scripting will be
prepared to build the
Framework
SVN extracted SVN
revisions
Reports
Historical build Custom Framework
results & SVN will be triggered
reports will then be using Bamboo
transferred to Stable/unstable
SharePoint for deployment results will
Analytics purpose be published here Deployment will
be done using
urbanDeploy

19
The Transformation
(Actual Scenario)…

20
The Journey So Far
Repetitive Artifact generation
Scheduled/Manual Regression with Release Team’s Cross dependency during
Version Control Deployment Dependency build

 On the fly artifact generation for


non prod uncontrolled environment  Manual pre and post
Complex SVN Structure  No Code quality check  Manual artifact generation for UAT step
  Executes after deployment
 Commit issues  Scheduled nightly deployment and PROD deployment  Dependency on
 Used to complete in 5 to 6
 Merging Issues  Issues surfaces only next day of hours
 Lots of manual intervention in case various teams
commit of deployment failures

Build Process Then!!!


Build Process Now!!!

 Artifact
generated for
 Ensure high quality
 Automated
QA1 itself will be
code
 Deployment triggers as  Automatically mainstream
promoted till
 Deployment will be soon as code is executes after release build
 Simple & Modular SVN production
proceeded only if code committed deployment including pre and
structure
 No manual
passes quality checks
 Notify developers in  Segregated post steps
 Ease and issue free code artifact
 In case of failures case of failures Regression&  Zero dependency  Achieved Continuous
commit using IDE generation
code will not be
 Easy to track issues as Progression pack on other teams Delivery for data
 Simplified merging
 Less manual
promoted for soon as developer  Take few minutes except for interface
intervention in
deployment commits code. to complete incidents  Delivery in 1 week
case of failures

On commit Integrated Regression


Version Control using deployment/Single click Suite and Progression Single time Artifact Self Service Build & Continuous Delivery
IDE Code Quality check build Pack generation zero dependency Cycle to Prod in 1 week
`

21
22

You might also like