SlideShare a Scribd company logo
1 of 8
Continuous Integration vs Continuous
Delivery vs Continuous Deployment
Heard about these terms ?? ……. I am sure you did
Some people says Continuous Integration and Continuous Delivery are same
Some says Continuous Delivery and Continuous Deployment are same
Some people have a myth that Continuous Delivery means all the builds are getting
automatically deployed into Live environment though automation.
Some also thinks that Continuous Integration includes automated deployment on
Production/Live environment.
There are several other myths which i have heard from the people. The list not only contain
the beginners but also some highly positioned professionals :O
In this fast running worldwherepeoplegive morevalueto time, human effortsandcustomer
satisfaction,continuous Integration, Continuous Delivery or Continuous Deployment are the
vital part of any software organisation. They are an important part of DevOps life cycle.
So, what’s the difference between continuous integration vs continuous delivery vs
continuous deployment. How they are linked with each other and what are the benefits to
opt them …..
Lets start with Continuous Integration which is the first process among them
Continuous Integration (CI) is the process of enforcing developers to merge their code to
mainstream branch or working code base as often as possible.
Continuous Integration involves triggering a build when a change gets committed to the
sourcecoderepositorybyany developer.which includes, fetching the codefromsourcecode
repository, compiling code, running automated tests and creating build out of it.
This will helpto detect any integration erroratearliest andgives a full visibility ofthe project
code.
Continuous Integration creates build after running automated test for every commit. Less
frequent changes means troubleshooting will consume less time in case of any issue.
CI’s biggest advantage is reduction of risk. All the issues can be easily identified and fixed
with each integration.
CI definitely makes everyone’slifeeasierby making software build rapidly andsimple to find
bugs which allow developers to fix them promptly. It will helps users to save their money,
time & efforts.
Now, lets move on to the second most important part of DevOps, i.e. Continuous Delivery
Once you have fully configured the Continuous Integration process in your organisation,
you should now extend the process and implement the next pillar of Software release which
is Continuous Delivery
Continuous Delivery (CD) is the practice which aims to to deliver high quality software
really quickly everytime.
It provides an ability to repeatedly push out enhancements and bug fixes to customers
rapidly, efficiently and reliably every single time which requires minimal manual overhead
as it encourages you to automate the processes.
It is recommended to keep the production and test environment similar and close together
which allows a quicker automated deployment and to perform all the automated testing.
CD framework incorporates with several development technologies & techniques such as
Agile, Scrum, Web/Functional/Acceptance/Unit testing, Continuous Integration and Test
driven developments.
This results into building a right product quickly and there will be no delay in implementing
enhancements & bug fixes and making them available to users for their feedback.
A beautiful description provided by Martin Fowler to identify when you are actually using
Continuos Delivery, is shown below
Continuos Delivery basically is an extension to CI process. Once you have the build ready, CD
comes into the picture and follow another set of steps of processing Automated Tests
(Functional & Non-Functional) and making sure that you are always be able to put a product
into production with just one click.
Continuous Delivery makes your software is always ready to go on production , however the
timing of pushing it into production is purely a business decision which needs to taken after
verifying every possible aspects.
Once you implement CI-CD in your organisation, you will see :
 the enhancement in team work
 reduction in cost
 able to deliver software with lower risk and negligible bugs
 able to react quickly and respond the changes more conveniently
 features gets releases more frequently
 stability and reliability
 huge reduction in manual efforts and time
Moving ahead and start the discussion on Continuous Deployment ……
There is only one difference in Continuos Delivery and Continuous Deployment ……
CD vs CD
Some people has myth that both are same …….NO ……….they are not !!
Bothare following same structurebut with just onedifferencewhich is hugeenoughto make
them as two distinguish processes.
Let me explain it through one diagram …..
Easy ….. Isn’t it ??
I’m sure its easy to recognise through the diagram that the deployment to Production is also
automated and triggered automatically once it is passed with all the tests in Continuous
Deployment practice whereas this step is a manual step in Continuous Delivery.
Continuos Delivery means every change is always ready to deploy on Production but needs
to be done manually.
The updated version of the application is automatically pushed to production through
Continuous Deployment.
Only few organisations who have the belief that all the changes which gone through with the
automated tests and QA are good to go on production and only those can implement
ContinuousDeployment in their organisation.Continuousdelivery now a days is an absolute
requirement of DevOps practices and being implemented in numerous organisations.
The CI-CD processes consists of following practices :
Configure a CI server and tool: A Continuous Integration server is a machine with best
server configuration which can handle a high throughput and multiple tasks.
The CI tool should be correctly installed on this server with all the required
packages/software in order to build the code and produce build artifacts.
** We will discuss CI tools in our upcoming articles
The CI tool will be responsible to continue checking the source code repository for any
change and should trigger the build as soon it detects any change in source code repository.
This should run the full build process and create a build artifact once completed.
Configure a version control system : We havealready discussedthe use of VersionControl
System in our previous articles.
Its a most important activity for implementing SCM in your organization.
Choosing the best suitable VCS tool and implementing are vital for any project. You should
wisely configure the correct VCS in your project.
Automate the Build process : We have also discussed this feature in our earlier article
Software Build Best Practices.
Automating the build process will make sure that build process is completely repeatable and
consistent which will increase the productivity.
Build process should contain self-automated-testing : The build process should have a
step to perform the smoke/unit testing. This will make sure that the build doesn’t break and
not causing any failure.
If the test is failing then build should also fail and should trigger the notification so that
developer can fix the issue before sending the build for deployment.
Once all the test cases are passed, the results should be reported quickly on the dashboard
so that any defects which are found during the build can be quickly analyzed and removed
promptly.
I know we can not test the other automated tests which requires a deployment on the Target
environment but all other tests which doesn’t needs a deployment should be incorporated
and automated in the build process itself to provide best outcome every time.
Its also not necessary to have 1 build script for all kind of builds, some build doesn’t need
some sort of testing, such as UI driven testing, Backend testing, Database testing – For those
kind of test cases, Build master should create separate scripts and test cases which should
be called as and when required to save a lot of efforts and time.
Frequent commits and every commit should trigger a build onCI server : Its averybasic
and important rule that developers should commit their changes frequently, at least once in
a day. Ideally they should commit several times a day to avoid any trouble which comes with
many changes and it will not turn out into such a hard process.
This will allow developers to tell other developers about the changes they have made so that
other developers can incorporate the changes or give the feedback. By following this
approach, developers will be able to find out quickly if there’s a conflict among them. This
will help all developers to track their progress.
It's a developer’s responsibility not to check-in the changes until the change is fully
tested/verified by developer locally.
As soon as the changes are committed into the Version control repository, the CI tool should
detect the change and triggers the build. Its the developer responsibility who checked in the
changes to monitor the build carefully and fix the code or revoke the changes in case of any
issue.
Smaller, less frequentchanges mean lesstime-consuming troubleshooting butwhen youopt
to work on parallel branches, it can be proven as an obstruction to Continuous Integration.
Its against the general principle of frequently merging into the main code line, i.e. trunk.
Store the Build artifacts in CI server and/or with VCS : Always store the build artifacts at
safe place in order to use them either for deployment or to test/check any other
issue/functionality. Its recommended to use a proper tool or Version control system to keep
all the build artifacts.
Or, if feasible than start using an Artifact Repository. It can be used for storing all the build
artifacts at one single place.It will helps you to manage the binary artifacts and associated
metadata. It also provides the audibility and tractability for all the builds and their resultant
artifacts.
Build should be as quick as possible: The thumb rule of Continuous Integration is to
provide rapid feedback. Builds should be fast and verified. Build which takes more time
always becomesa flawed in the process,becausedevelopersstartafraidabouttheir time and
won’t commit as frequently.
Fast build will result into many builds in a day which is also helpful for developers to find
out what exactly the build contains and they will be able to fix the issue really quickly.
Sending Notifications: As stated in the Build best practice article, It's a really good practice
to informall the team members who areworking onthe projectabout the build status, either
in case of build failure or success.
This will also help all the project members to get the current status of their project, they can
also use the notification mails to initiate the conversation about the build failure, etc.
Automate the deployment process: Automation helps you to do repetitive tasks without
using much resources in terms of both man power and hardware.
Systematizing the process will ensures that your automation’s inputs & outputs are
consistent every time. These are also helpful to save time, cost, efforts and provides efficient
results.
Deployment process should have self-automated-testing on test environment:
Basically, the real part of CI gets over once you build the artefacts, however deploying the
artefact to a test environment puts an extra wing to it and introduces CD in the lifecycle
which helps you to find out about any issue which may occur in your test environments.
It will also helps you to quickly fix the issue and retest it on the same environment. An
automated tests in deployment process will allow you rectify any unwanted error/problem.
Its an important key to achieve the best results in short span of time
Results will be visible to everyone: CI-CD is all about communication and the system state
should be transparent.
It's a practice to ensure that everyone can easily see the state of the system and the changes
that have been made to it
CI image credit – www.retrieverconsulting.com
I hope you now get the difference between Continuous Integration, Continuous Delivery and
Continuous Deployment. As i mentioned above, these are really an important practice which
needs to be implemented to get all the benefits of DevOps.
It's a long journey to understand SCM and utilizing all its benefits. Hope you enjoyed our
today’s article as well ……
Keep enjoying …….

More Related Content

What's hot

DevOps 101 - an Introduction to DevOps
DevOps 101  - an Introduction to DevOpsDevOps 101  - an Introduction to DevOps
DevOps 101 - an Introduction to DevOpsRed Gate Software
 
Continuous Integration/Deployment with Gitlab CI
Continuous Integration/Deployment with Gitlab CIContinuous Integration/Deployment with Gitlab CI
Continuous Integration/Deployment with Gitlab CIDavid Hahn
 
Continuous integration
Continuous integrationContinuous integration
Continuous integrationamscanne
 
Introduction to CI/CD
Introduction to CI/CDIntroduction to CI/CD
Introduction to CI/CDHoang Le
 
DevOps - A Gentle Introduction
DevOps - A Gentle IntroductionDevOps - A Gentle Introduction
DevOps - A Gentle IntroductionGanesh Samarthyam
 
Jenkins Introduction
Jenkins IntroductionJenkins Introduction
Jenkins IntroductionPavan Gupta
 
CI/CD (DevOps) 101
CI/CD (DevOps) 101CI/CD (DevOps) 101
CI/CD (DevOps) 101Hazzim Anaya
 
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...Simplilearn
 
Gitops: a new paradigm for software defined operations
Gitops: a new paradigm for software defined operationsGitops: a new paradigm for software defined operations
Gitops: a new paradigm for software defined operationsMariano Cunietti
 
CI/CD Overview
CI/CD OverviewCI/CD Overview
CI/CD OverviewAn Nguyen
 
Introduction to jenkins
Introduction to jenkinsIntroduction to jenkins
Introduction to jenkinsAbe Diaz
 
Dev ops != Dev+Ops
Dev ops != Dev+OpsDev ops != Dev+Ops
Dev ops != Dev+OpsShalu Ahuja
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to dockerJohn Willis
 
Introduction to GitHub Actions
Introduction to GitHub ActionsIntroduction to GitHub Actions
Introduction to GitHub ActionsBo-Yi Wu
 

What's hot (20)

Jenkins tutorial
Jenkins tutorialJenkins tutorial
Jenkins tutorial
 
DevOps 101 - an Introduction to DevOps
DevOps 101  - an Introduction to DevOpsDevOps 101  - an Introduction to DevOps
DevOps 101 - an Introduction to DevOps
 
Maven Introduction
Maven IntroductionMaven Introduction
Maven Introduction
 
Continuous Integration/Deployment with Gitlab CI
Continuous Integration/Deployment with Gitlab CIContinuous Integration/Deployment with Gitlab CI
Continuous Integration/Deployment with Gitlab CI
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Jenkins Overview
Jenkins OverviewJenkins Overview
Jenkins Overview
 
CI/CD
CI/CDCI/CD
CI/CD
 
DevOps
DevOps DevOps
DevOps
 
Introduction to CI/CD
Introduction to CI/CDIntroduction to CI/CD
Introduction to CI/CD
 
DevOps - A Gentle Introduction
DevOps - A Gentle IntroductionDevOps - A Gentle Introduction
DevOps - A Gentle Introduction
 
Jenkins Introduction
Jenkins IntroductionJenkins Introduction
Jenkins Introduction
 
CI/CD (DevOps) 101
CI/CD (DevOps) 101CI/CD (DevOps) 101
CI/CD (DevOps) 101
 
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
 
Gitlab ci-cd
Gitlab ci-cdGitlab ci-cd
Gitlab ci-cd
 
Gitops: a new paradigm for software defined operations
Gitops: a new paradigm for software defined operationsGitops: a new paradigm for software defined operations
Gitops: a new paradigm for software defined operations
 
CI/CD Overview
CI/CD OverviewCI/CD Overview
CI/CD Overview
 
Introduction to jenkins
Introduction to jenkinsIntroduction to jenkins
Introduction to jenkins
 
Dev ops != Dev+Ops
Dev ops != Dev+OpsDev ops != Dev+Ops
Dev ops != Dev+Ops
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
 
Introduction to GitHub Actions
Introduction to GitHub ActionsIntroduction to GitHub Actions
Introduction to GitHub Actions
 

Similar to Continuous Integration vs Continuous Delivery vs Continuous Deployment

How To Implement Continuous Integration And Delivery In Software Development.pdf
How To Implement Continuous Integration And Delivery In Software Development.pdfHow To Implement Continuous Integration And Delivery In Software Development.pdf
How To Implement Continuous Integration And Delivery In Software Development.pdfIntegrated IT Solutions
 
Continuous Everything
Continuous EverythingContinuous Everything
Continuous EverythingAndrea Tino
 
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValueDevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValueRapidValue
 
Introducing Continuous Integration Using Vsts
Introducing Continuous Integration Using VstsIntroducing Continuous Integration Using Vsts
Introducing Continuous Integration Using VstsMohamed Samy
 
Magenic-White-Paper-Continuous-Inegration-for-QA-Teams
Magenic-White-Paper-Continuous-Inegration-for-QA-TeamsMagenic-White-Paper-Continuous-Inegration-for-QA-Teams
Magenic-White-Paper-Continuous-Inegration-for-QA-TeamsAaron Humerickhouse
 
What is Continuous Integration and Continuous Delivery
What is Continuous Integration and Continuous Delivery What is Continuous Integration and Continuous Delivery
What is Continuous Integration and Continuous Delivery Sarah Elson
 
Continuous integration
Continuous integrationContinuous integration
Continuous integrationwebomates
 
Boast the Potential of DevOps with CI CD
Boast the Potential of DevOps with CI CDBoast the Potential of DevOps with CI CD
Boast the Potential of DevOps with CI CDZoe Gilbert
 
How To Ensure Quality With Automation
How To Ensure Quality With AutomationHow To Ensure Quality With Automation
How To Ensure Quality With AutomationMindbowser Inc
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous IntegrationPreetam Palwe
 
Testing in the new age of DevOps
Testing in the new age of DevOpsTesting in the new age of DevOps
Testing in the new age of DevOpsMoataz Mahmoud
 
Continuous, continuous, continuous
Continuous, continuous, continuousContinuous, continuous, continuous
Continuous, continuous, continuousMichele Orselli
 
Continuous Integration: A Case Study
Continuous Integration: A Case StudyContinuous Integration: A Case Study
Continuous Integration: A Case StudyIndicThreads
 
What Key Features Lead to Successful Continuous Testing and its Benefits.pdf
What Key Features Lead to Successful Continuous Testing and its Benefits.pdfWhat Key Features Lead to Successful Continuous Testing and its Benefits.pdf
What Key Features Lead to Successful Continuous Testing and its Benefits.pdfpCloudy
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous IntegrationJoseph Wang
 
Delivering Quality Software with Continuous Integration
Delivering Quality Software with Continuous IntegrationDelivering Quality Software with Continuous Integration
Delivering Quality Software with Continuous IntegrationAspire Systems
 
7Cs of Lifecycle of Every DevOps Services Company
7Cs of Lifecycle of Every DevOps Services Company7Cs of Lifecycle of Every DevOps Services Company
7Cs of Lifecycle of Every DevOps Services CompanyMoogleLabs default
 

Similar to Continuous Integration vs Continuous Delivery vs Continuous Deployment (20)

How To Implement Continuous Integration And Delivery In Software Development.pdf
How To Implement Continuous Integration And Delivery In Software Development.pdfHow To Implement Continuous Integration And Delivery In Software Development.pdf
How To Implement Continuous Integration And Delivery In Software Development.pdf
 
Continuous Everything
Continuous EverythingContinuous Everything
Continuous Everything
 
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValueDevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
 
Introducing Continuous Integration Using Vsts
Introducing Continuous Integration Using VstsIntroducing Continuous Integration Using Vsts
Introducing Continuous Integration Using Vsts
 
Magenic-White-Paper-Continuous-Inegration-for-QA-Teams
Magenic-White-Paper-Continuous-Inegration-for-QA-TeamsMagenic-White-Paper-Continuous-Inegration-for-QA-Teams
Magenic-White-Paper-Continuous-Inegration-for-QA-Teams
 
What is Continuous Integration and Continuous Delivery
What is Continuous Integration and Continuous Delivery What is Continuous Integration and Continuous Delivery
What is Continuous Integration and Continuous Delivery
 
Continuous integration with Jenkins
Continuous integration with JenkinsContinuous integration with Jenkins
Continuous integration with Jenkins
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Boast the Potential of DevOps with CI CD
Boast the Potential of DevOps with CI CDBoast the Potential of DevOps with CI CD
Boast the Potential of DevOps with CI CD
 
How To Ensure Quality With Automation
How To Ensure Quality With AutomationHow To Ensure Quality With Automation
How To Ensure Quality With Automation
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Testing in the new age of DevOps
Testing in the new age of DevOpsTesting in the new age of DevOps
Testing in the new age of DevOps
 
Continuous, continuous, continuous
Continuous, continuous, continuousContinuous, continuous, continuous
Continuous, continuous, continuous
 
Bn1006 demo ppt devops
Bn1006 demo ppt devopsBn1006 demo ppt devops
Bn1006 demo ppt devops
 
DevOps: Age Of CI/CD
DevOps: Age Of CI/CDDevOps: Age Of CI/CD
DevOps: Age Of CI/CD
 
Continuous Integration: A Case Study
Continuous Integration: A Case StudyContinuous Integration: A Case Study
Continuous Integration: A Case Study
 
What Key Features Lead to Successful Continuous Testing and its Benefits.pdf
What Key Features Lead to Successful Continuous Testing and its Benefits.pdfWhat Key Features Lead to Successful Continuous Testing and its Benefits.pdf
What Key Features Lead to Successful Continuous Testing and its Benefits.pdf
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Delivering Quality Software with Continuous Integration
Delivering Quality Software with Continuous IntegrationDelivering Quality Software with Continuous Integration
Delivering Quality Software with Continuous Integration
 
7Cs of Lifecycle of Every DevOps Services Company
7Cs of Lifecycle of Every DevOps Services Company7Cs of Lifecycle of Every DevOps Services Company
7Cs of Lifecycle of Every DevOps Services Company
 

More from LGS, GBHS&IC, University Of South-Asia, TARA-Technologies

More from LGS, GBHS&IC, University Of South-Asia, TARA-Technologies (20)

GAT Dogar Sons E book
GAT Dogar Sons E bookGAT Dogar Sons E book
GAT Dogar Sons E book
 
POSIMS Point Of Sale & Inventory Management System
POSIMS Point Of Sale & Inventory Management SystemPOSIMS Point Of Sale & Inventory Management System
POSIMS Point Of Sale & Inventory Management System
 
Waste management app launched for lahore | TARA-Technologies
Waste management app launched for lahore | TARA-Technologies Waste management app launched for lahore | TARA-Technologies
Waste management app launched for lahore | TARA-Technologies
 
CV-HMFTJ
CV-HMFTJ CV-HMFTJ
CV-HMFTJ
 
The Way To Perform Hajj Islamic Pilgrimage
The Way To Perform Hajj Islamic PilgrimageThe Way To Perform Hajj Islamic Pilgrimage
The Way To Perform Hajj Islamic Pilgrimage
 
Hajj All Duas * Pilgrimage Supplications
Hajj All Duas *  Pilgrimage SupplicationsHajj All Duas *  Pilgrimage Supplications
Hajj All Duas * Pilgrimage Supplications
 
Web Development Roadmaps ~hmftj
Web Development Roadmaps  ~hmftj Web Development Roadmaps  ~hmftj
Web Development Roadmaps ~hmftj
 
Top Software Houses In Pakistan
Top Software Houses In PakistanTop Software Houses In Pakistan
Top Software Houses In Pakistan
 
Russian Conversations and Dialogues​ -hmftj
Russian Conversations and Dialogues​ -hmftjRussian Conversations and Dialogues​ -hmftj
Russian Conversations and Dialogues​ -hmftj
 
hmftj-curriculum vitae-resume
hmftj-curriculum vitae-resumehmftj-curriculum vitae-resume
hmftj-curriculum vitae-resume
 
Emotional Intelligence Info-graphic
Emotional Intelligence Info-graphicEmotional Intelligence Info-graphic
Emotional Intelligence Info-graphic
 
Human Computer Interaction Evaluation
Human Computer Interaction EvaluationHuman Computer Interaction Evaluation
Human Computer Interaction Evaluation
 
A9-HSMS: HCI Prototype Project
A9-HSMS: HCI Prototype Project A9-HSMS: HCI Prototype Project
A9-HSMS: HCI Prototype Project
 
hcimidtermhmftj
hcimidtermhmftjhcimidtermhmftj
hcimidtermhmftj
 
thehomemaster
thehomemasterthehomemaster
thehomemaster
 
cchmftjb-18298
cchmftjb-18298cchmftjb-18298
cchmftjb-18298
 
Good Men Live For Others Precis Writing -hmftj
Good Men Live For Others Precis Writing -hmftjGood Men Live For Others Precis Writing -hmftj
Good Men Live For Others Precis Writing -hmftj
 
Four colors of lies ~hmftj
Four colors of lies ~hmftjFour colors of lies ~hmftj
Four colors of lies ~hmftj
 
R&D Comes to Services: Software House's Pathbreaking Experiments
R&D Comes to Services: Software House's Pathbreaking ExperimentsR&D Comes to Services: Software House's Pathbreaking Experiments
R&D Comes to Services: Software House's Pathbreaking Experiments
 
List of magazines in Pakistan
List of magazines in PakistanList of magazines in Pakistan
List of magazines in Pakistan
 

Recently uploaded

EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 

Recently uploaded (20)

EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 

Continuous Integration vs Continuous Delivery vs Continuous Deployment

  • 1. Continuous Integration vs Continuous Delivery vs Continuous Deployment Heard about these terms ?? ……. I am sure you did Some people says Continuous Integration and Continuous Delivery are same Some says Continuous Delivery and Continuous Deployment are same Some people have a myth that Continuous Delivery means all the builds are getting automatically deployed into Live environment though automation. Some also thinks that Continuous Integration includes automated deployment on Production/Live environment. There are several other myths which i have heard from the people. The list not only contain the beginners but also some highly positioned professionals :O
  • 2. In this fast running worldwherepeoplegive morevalueto time, human effortsandcustomer satisfaction,continuous Integration, Continuous Delivery or Continuous Deployment are the vital part of any software organisation. They are an important part of DevOps life cycle. So, what’s the difference between continuous integration vs continuous delivery vs continuous deployment. How they are linked with each other and what are the benefits to opt them ….. Lets start with Continuous Integration which is the first process among them Continuous Integration (CI) is the process of enforcing developers to merge their code to mainstream branch or working code base as often as possible. Continuous Integration involves triggering a build when a change gets committed to the sourcecoderepositorybyany developer.which includes, fetching the codefromsourcecode repository, compiling code, running automated tests and creating build out of it. This will helpto detect any integration erroratearliest andgives a full visibility ofthe project code.
  • 3. Continuous Integration creates build after running automated test for every commit. Less frequent changes means troubleshooting will consume less time in case of any issue. CI’s biggest advantage is reduction of risk. All the issues can be easily identified and fixed with each integration. CI definitely makes everyone’slifeeasierby making software build rapidly andsimple to find bugs which allow developers to fix them promptly. It will helps users to save their money, time & efforts. Now, lets move on to the second most important part of DevOps, i.e. Continuous Delivery Once you have fully configured the Continuous Integration process in your organisation, you should now extend the process and implement the next pillar of Software release which is Continuous Delivery Continuous Delivery (CD) is the practice which aims to to deliver high quality software really quickly everytime. It provides an ability to repeatedly push out enhancements and bug fixes to customers rapidly, efficiently and reliably every single time which requires minimal manual overhead as it encourages you to automate the processes. It is recommended to keep the production and test environment similar and close together which allows a quicker automated deployment and to perform all the automated testing. CD framework incorporates with several development technologies & techniques such as Agile, Scrum, Web/Functional/Acceptance/Unit testing, Continuous Integration and Test driven developments. This results into building a right product quickly and there will be no delay in implementing enhancements & bug fixes and making them available to users for their feedback. A beautiful description provided by Martin Fowler to identify when you are actually using Continuos Delivery, is shown below
  • 4. Continuos Delivery basically is an extension to CI process. Once you have the build ready, CD comes into the picture and follow another set of steps of processing Automated Tests (Functional & Non-Functional) and making sure that you are always be able to put a product into production with just one click. Continuous Delivery makes your software is always ready to go on production , however the timing of pushing it into production is purely a business decision which needs to taken after verifying every possible aspects. Once you implement CI-CD in your organisation, you will see :  the enhancement in team work  reduction in cost  able to deliver software with lower risk and negligible bugs  able to react quickly and respond the changes more conveniently  features gets releases more frequently  stability and reliability  huge reduction in manual efforts and time Moving ahead and start the discussion on Continuous Deployment …… There is only one difference in Continuos Delivery and Continuous Deployment …… CD vs CD Some people has myth that both are same …….NO ……….they are not !! Bothare following same structurebut with just onedifferencewhich is hugeenoughto make them as two distinguish processes. Let me explain it through one diagram …..
  • 5. Easy ….. Isn’t it ?? I’m sure its easy to recognise through the diagram that the deployment to Production is also automated and triggered automatically once it is passed with all the tests in Continuous Deployment practice whereas this step is a manual step in Continuous Delivery. Continuos Delivery means every change is always ready to deploy on Production but needs to be done manually. The updated version of the application is automatically pushed to production through Continuous Deployment.
  • 6. Only few organisations who have the belief that all the changes which gone through with the automated tests and QA are good to go on production and only those can implement ContinuousDeployment in their organisation.Continuousdelivery now a days is an absolute requirement of DevOps practices and being implemented in numerous organisations. The CI-CD processes consists of following practices : Configure a CI server and tool: A Continuous Integration server is a machine with best server configuration which can handle a high throughput and multiple tasks. The CI tool should be correctly installed on this server with all the required packages/software in order to build the code and produce build artifacts. ** We will discuss CI tools in our upcoming articles The CI tool will be responsible to continue checking the source code repository for any change and should trigger the build as soon it detects any change in source code repository. This should run the full build process and create a build artifact once completed. Configure a version control system : We havealready discussedthe use of VersionControl System in our previous articles. Its a most important activity for implementing SCM in your organization. Choosing the best suitable VCS tool and implementing are vital for any project. You should wisely configure the correct VCS in your project. Automate the Build process : We have also discussed this feature in our earlier article Software Build Best Practices. Automating the build process will make sure that build process is completely repeatable and consistent which will increase the productivity. Build process should contain self-automated-testing : The build process should have a step to perform the smoke/unit testing. This will make sure that the build doesn’t break and not causing any failure. If the test is failing then build should also fail and should trigger the notification so that developer can fix the issue before sending the build for deployment. Once all the test cases are passed, the results should be reported quickly on the dashboard so that any defects which are found during the build can be quickly analyzed and removed promptly.
  • 7. I know we can not test the other automated tests which requires a deployment on the Target environment but all other tests which doesn’t needs a deployment should be incorporated and automated in the build process itself to provide best outcome every time. Its also not necessary to have 1 build script for all kind of builds, some build doesn’t need some sort of testing, such as UI driven testing, Backend testing, Database testing – For those kind of test cases, Build master should create separate scripts and test cases which should be called as and when required to save a lot of efforts and time. Frequent commits and every commit should trigger a build onCI server : Its averybasic and important rule that developers should commit their changes frequently, at least once in a day. Ideally they should commit several times a day to avoid any trouble which comes with many changes and it will not turn out into such a hard process. This will allow developers to tell other developers about the changes they have made so that other developers can incorporate the changes or give the feedback. By following this approach, developers will be able to find out quickly if there’s a conflict among them. This will help all developers to track their progress. It's a developer’s responsibility not to check-in the changes until the change is fully tested/verified by developer locally. As soon as the changes are committed into the Version control repository, the CI tool should detect the change and triggers the build. Its the developer responsibility who checked in the changes to monitor the build carefully and fix the code or revoke the changes in case of any issue. Smaller, less frequentchanges mean lesstime-consuming troubleshooting butwhen youopt to work on parallel branches, it can be proven as an obstruction to Continuous Integration. Its against the general principle of frequently merging into the main code line, i.e. trunk. Store the Build artifacts in CI server and/or with VCS : Always store the build artifacts at safe place in order to use them either for deployment or to test/check any other issue/functionality. Its recommended to use a proper tool or Version control system to keep all the build artifacts. Or, if feasible than start using an Artifact Repository. It can be used for storing all the build artifacts at one single place.It will helps you to manage the binary artifacts and associated metadata. It also provides the audibility and tractability for all the builds and their resultant artifacts. Build should be as quick as possible: The thumb rule of Continuous Integration is to provide rapid feedback. Builds should be fast and verified. Build which takes more time
  • 8. always becomesa flawed in the process,becausedevelopersstartafraidabouttheir time and won’t commit as frequently. Fast build will result into many builds in a day which is also helpful for developers to find out what exactly the build contains and they will be able to fix the issue really quickly. Sending Notifications: As stated in the Build best practice article, It's a really good practice to informall the team members who areworking onthe projectabout the build status, either in case of build failure or success. This will also help all the project members to get the current status of their project, they can also use the notification mails to initiate the conversation about the build failure, etc. Automate the deployment process: Automation helps you to do repetitive tasks without using much resources in terms of both man power and hardware. Systematizing the process will ensures that your automation’s inputs & outputs are consistent every time. These are also helpful to save time, cost, efforts and provides efficient results. Deployment process should have self-automated-testing on test environment: Basically, the real part of CI gets over once you build the artefacts, however deploying the artefact to a test environment puts an extra wing to it and introduces CD in the lifecycle which helps you to find out about any issue which may occur in your test environments. It will also helps you to quickly fix the issue and retest it on the same environment. An automated tests in deployment process will allow you rectify any unwanted error/problem. Its an important key to achieve the best results in short span of time Results will be visible to everyone: CI-CD is all about communication and the system state should be transparent. It's a practice to ensure that everyone can easily see the state of the system and the changes that have been made to it CI image credit – www.retrieverconsulting.com I hope you now get the difference between Continuous Integration, Continuous Delivery and Continuous Deployment. As i mentioned above, these are really an important practice which needs to be implemented to get all the benefits of DevOps. It's a long journey to understand SCM and utilizing all its benefits. Hope you enjoyed our today’s article as well …… Keep enjoying …….