SlideShare a Scribd company logo
Enabling Continuous Integration & Delivery
Accelerating Business Value with DevOps
1
©RapidValue Solutions
A Whitepaper by RapidValue Solutions
Enabling Continuous Integration & Delivery
Accelerating Business Value with DevOps
Enabling Continuous Integration & Delivery
Accelerating Business Value with DevOps
2
©RapidValue Solutions
Index
01 Shift-left with CI/CD
02 Continuous Integration - Bringing it All Together
01 DevOps: Continuous Everything
04 Continuous Delivery - Anytime Production Deployment
07 Continuous Deployment - Automating Production Release
08 Continuous Delivery vs Continuous Deployment
10 Best Practices to Achieve Continuous Everything
12
14
Case Study
Business Benefits
©RapidValue Solutions
Enabling Continuous Integration & Delivery
Accelerating Business Value with DevOps
1
©RapidValue Solutions
DevOps: Continuous Everything
In today’s fast evolving digital world, speed-to-market is what matters for businesses across industries. To
achieve this the entire software development lifecycle needs to become faster, agile and scalable. DevOps
has pretty much become the new normal to accelerate the software development and delivery processes.
According to a recent IDC study, the worldwide DevOps software market is forecasted to reach $6.6 billion
in 2022. Continuous Integration, Continuous Delivery and Continuous Deployment (CI/CD) are considered
to be the cornerstone of DevOps. Following Agile development methodology, in the past companies could
achieve monthly, quarterly, bi-annual or annual releases. However, in the current DevOps era, we see multiple
releases taking place in a single day. With over 50% of organizations across multiple industries embracing
DevOps last year, continuous integration and continuous delivery has become an integral part of the software
development process.
In this whitepaper, we will deep dive into the concept of continuous integration, continuous delivery and
continuous deployment and explain how businesses can benefit from this. We will also elucidate on how to
build an effective CI/CD pipeline and some of the best practices for your enterprise DevOps journey.
©RapidValue Solutions
Shift-left with CI/CD
The “shift-left” approach is getting increasingly adopted in the Agile and DevOps world for detecting issues
early in project lifecycle and prevent them from getting discovered at a later stage. CI/CD has further enabled
the implementation of the shift-left approach. Shifting-left requires two key DevOps practices: Continuous
Testing and Continuous Deployment. Continuous deployment automates the provisioning and deployment
of new builds, enabling continuous testing to happen quickly and efficiently.
Shift-left includes a test driven development approach which is geared towards reducing errors and
improving flexibility while designing a software. It reduces the risks and consequences of things going
wrong and increases the speed to market. It is perfect for the successful implementation of fearless software
development. Its main aim is to build smaller testing cycles into the process and bring more agility.
Enabling Continuous Integration & Delivery
Accelerating Business Value with DevOps
2
©RapidValue Solutions
Continuous Integration- Bringing it All Together
Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared
repository several times a day. By integrating regularly, one can detect errors quickly, and locate them more
easily. Earlier new features were built in isolation and each of them were submitted at the end of the cycle.
Often bugs were discovered later in the product development lifecycle which would result into increasing
build costs.
To better understand the benefits of CI, let’s imagine that you have a project which you have broken down
into 10 modules. Assume that you’ve given one module to each developer. So the developers will write the
code and then they are also responsible to test it which we call unit testing. So, say the unit test is done and
everything is working perfectly but then all of your developers have been working separately. So now, all of
their code have to be integrated and integration testing has to be done so that your operations team can
deploy the project on a production server. Let’s say it was decided that your developers will work throughout
the week and will integrate the project on the last day of the week. When they integrate there will be an
automated testing done to the build. What happens when this testing throws up bugs? We now have a
problem which is absolutely necessary to solve and you don’t want to wait another week to release your
project.
To solve this problem the concept of Continuous Integration was contrived. In CI, your developers will have
multiple commits a day. So every time they make a change and it is working for them in their unit test, they
can push the code to a shared codebase like Github. So, every developer in the team will push code frequently
to the shared codebase. Every time they commit, there will be an automated test done immediately. Now
after every commit you have a ready build which is tested and working and you don’t have to wait for a week
to release, you can keep releasing continuously.
Enabling Continuous Integration & Delivery
Accelerating Business Value with DevOps
3
©RapidValue Solutions
TESTCOVERAGE
CODE ANALYSIS
UNITTESTS
CONTINUOUS
INTEGRATION
GIT GITHUB RELEASE
Continuous Integration is backed by several important principles and practices.
Practices How It's Done Team Responsibility
- Maintain single source repository.
- Automate the build.
- Every commit should build on an
integration machine.
- Test in a clone of the production
environment.
- Make it easy for anyone to get the
latest excutable version.
- Automate deployment.
- Developers check out code into their
private workspaces.
- When done, commit the changes to
the repository.
- Role of the CI Server:
- Monitors the repository and checks
out changes when they occur.
- Builds the system and runs unit and
integration tests.
- Releases deployable artefacts for
testing.
- Assigns a build label to the version
of the code it just built.
- If the build or tests fail, the CI server
alerts the team.
- The team fixes the issue at the earliest
opportunity.
- Check in frequenly.
- Don't check in broken code.
- Don't check in untested code.
- Don't check in when the build is broken.
Enabling Continuous Integration & Delivery
Accelerating Business Value with DevOps
4
©RapidValue Solutions
Continuous Delivery- Anytime Production Deployment
Continuous delivery is a series of practices designed to ensure that code can be rapidly and safely deployed to
production by delivering every change to a production-like environment and ensuring business applications
and services function as expected through rigorous automated testing. This is an extension to CI, wherein the
delivery process is automated enabling anytime deployment into production.
Plan &
Measure
Release &
Deploy
Develop
& Test
Monitor &
Optimize
Continuous Business Planning
Continuous Release & Deployment
Continuous Testing
Collaborative
Development
Continuous Monitoring
Continuous Client Feedback
and Optimization
Enabling Continuous Integration & Delivery
Accelerating Business Value with DevOps
5
©RapidValue Solutions
Converted
to code
Triggers
Deploy
Deploy
Deploy
Deploy
RapidValue's
Test Automation
Accelerator
Basic Build Loop
Manual Testing
Feedback
Hockey App
Build Registered
with Package Repo
Continuous Delivery at Work
At the core of the continuous delivery, lies a deployment pipeline based on which the team automates
the testing and deployment processes. This pipeline is an automated system that executes a set of test
suites for each of the builds. In each segment in the pipeline, the build may fail a critical test and alert the
team. Otherwise, it continues on to the next test suite, and successive test passes will result in automatic
promotion to the next segment in the pipeline. The last segment in the pipeline will deploy the build to a
production-equivalent environment. This is a comprehensive activity, since the build, deployment, and the
environment are all exercised and tested together. The result is a build that is deployable and verifiable in an
actual production environment.
User Stories
Dependency
Management
Build Script/
Compiler
Static
Analytics
Unit
Tests
Version
Meta - Data
QA
UAT
Staging
Prod
Continuous
Integration & Build
mgmt. (GiTLab CI)
Build
Builds
Runner
(Fast Lane)
Source
Repos
Deployment
SystemBinary Repo
Monitoring
Funtctional, Security
& Performance Tests
Enabling Continuous Integration & Delivery
Accelerating Business Value with DevOps
6
©RapidValue Solutions
Application Servers
AWS CodeDeploy
AWS CodeBuild
AWS CodeCommit
git
Jenkins
AWS CloudWatch
Jira
Nagios
GREENHOPPER
ZABBIX
<Apache Ant>
Crucible
SUBVERSION
Travis CI
MS Build
FishEye
AWS CodeCommit
AWS CodePipeline
Apache Tomcat Hudson
Build Tools
Code Review
Issue Tracking
Provisioning Tool
Monitoring
Version Control
Continuous Integration
Continuous Delivery Tools
* Not a detailed list of tools.
Enabling Continuous Integration & Delivery
Accelerating Business Value with DevOps
7
©RapidValue Solutions
Continuous Deployment - Automating Production Release
Continuous deployment is a strategy for software releases wherein any code commit that passes the
automated testing phase is automatically released into the production environment, making changes that
are visible to the software's users.
A major advantage of continuous deployment is the small change sets. A small change is easy to code -> build
-> test -> deploy -> monitor. You would not have to wait for once-a-week, once-a-month, once-a-quarter, or
even once-a-year to release. The change set in such cases is usually large to massive depending on the release
cycle, requiring a long and painful testing process. So, with continuous deployment, features go live within
hours or sometimes within minutes instead of a month.
Since deployment is fully automated, continuous deployment also speeds up your time to market. Thus,
continuous deployment is a safe, reliable and faster option to release new products, updates, new features etc.
However, continuous deployment can also get risky as we are making changes directly in the production
server. Any unprompted build can quickly end up in a big mess with delayed problematic releases again.
Therefore, most enterprises dealing with large software products prefer continuous delivery to continuous
deployment.
Develop
Build
TestDeploy
Monitor
CONTINUOUS
DEPLOYMENT
Enabling Continuous Integration & Delivery
Accelerating Business Value with DevOps
8
©RapidValue Solutions
Continuous Delivery vs Continuous Deployment
Continuous Delivery and Continuous Deployment are two terms which are highly conflicted in the industry.
The confusion occurs because continuous delivery and continuous deployment are very similar in nature but
there is one particular difference that splits them apart.
In order to understand this difference you need to know that when you deliver a software there is an entire
software delivery lifecycle and multiple environments in the middle. We call this the delivery pipeline. You
start off with the version control system then you code in the development environment and then you build
the software. You have your QA environments, which is usually more than one, as you’ll need QA environment
to support each kind of environment and you are going to be eventually supporting your software. Then
we have several other pre-production or non-production environments, for example system integration
tests, user acceptance tests etc., depending on how your organization is structured or how your delivery
pipeline is structured and what kind of different environments you have. Finally, you have production where
your software actually runs and customers interact with it. So, what you need is to deploy software from one
environment to the next. For that in DevOps we use automation. There are delivery automation tools like
AWS CodePipeline to help you automate your delivery pipeline. However, you do not directly deploy to the
production environment. You first deploy on a production like environment to check the performance of the
system and conduct other tests. Only when you are fully satisfied with the performance and functioning of
your software, will you deploy it to the real production environment.
Thus, continuous delivery is the capability to deploy software to any particular environment at any given time
including the code changes, configuration changes and also changes to the environment if the environment
has changed since your last deployment. This is a must-have capability for DevOps.
Continuous deployment, on the other hand, is the capability where any change the developer makes gets
automatically deployed all the way up to production. You might have heard about born on the web companies.
These companies will deploy multiple changes every day. These companies need to constantly keep their
systems updated and thus they need to continuously deploy to production.
Enabling Continuous Integration & Delivery
Accelerating Business Value with DevOps
9
©RapidValue Solutions
However, continuous deployment is risky and if you are building some large enterprise software you should
not do continuous deployment but you need to do continuous delivery. So that you are absolutely sure about
the performance of your software before you deploy. Thus, continuous delivery is a capability you must have
and continuous deployment is an option which you might choose to exercise based on the kind of product
you have.
CODE DONE
CODE DONE
ACCEPTENCE TEST
ACCEPTENCE TEST
UNIT TESTS
UNIT TESTS
DEPLOY TO PRODUCTION
CONTINUOUS DELIVERY
CONTINUOUS DEPLOYMENT
DEPLOY TO PRODUCTION
INTEGRATE
INTEGRATE
AUTO
AUTO
MANUAL
AUTO
AUTO
AUTO
AUTO
AUTO
Enabling Continuous Integration & Delivery
Accelerating Business Value with DevOps
10
©RapidValue Solutions
Best Practices to Achieve Continuous Everything
Your organization will grow and application and infrastructure complexity is likely to increase. Good
DevOps processes become very essential in order to effectively deliver software. Continuous Integration and
Continuous Delivery are a vital part of your DevOps processes. CI/CD enables your organization to grow your
team, codebase, and infrastructure.
Having an automated delivery pipeline is crucial for serverless applications since they tend to be very
distributed systems. Hence, if you don’t have a well-defined automated pipeline, deploying serverless
applications can become very difficult.
In order to deploy your applications several times a day and at the same time feel secure about it, one needs
to have an effective automated delivery pipeline. Keeping that in mind, here are some best practices to
follow when designing your pipeline.
1. Adapting your CI/CD Pipeline to your Development Process - The CI/CD pipeline is the automatization of
your development process. Adaptation to fit your development process strategy is an integral part. The first
step is formalization of the development process which helps you to determine which branches you have and
what their functions are. Only then you are able to create the correct pipeline.
2. Identifying the Tests that can be Automated - It is unlikely that 100% of the tests can be automated. Since
test automation is core to CI/CD pipeline, identification of those test cases which can be automated is one of
the crucial and vital best practices for CI/CD.
3. Testing in a Clone of Production Environment - A staging environment or a clone of the production
environment is required to be built. This should be capable of maintaining the technology stack and
composition which should allow developers to perform testing.
Enabling Continuous Integration & Delivery
Accelerating Business Value with DevOps
11
©RapidValue Solutions
4. Documentation is an Absolute Necessity - Project requirements change/evolve along with the course of
project execution. The test automation strategy should be devised keeping in mind the short-term goals and
long-term goals into account. There may be changes to the test plan or test strategy over a period of time. It
is important to have everything documented. It should be a free-flowing document, updated with important
timelines and should be version-controlled. One should be able to revisit the document to track the progress.
5. Maintaining a Central Repository for Code Development - To maintain the source code on central repository
is of utmost importance and one of the main best practices for CI/CD pipeline. This way the developers can
keep their changes up-to-date with the latest source code available on the production server. A revision/
version control system is also important to track changes and identify differences.
6. Choosing the Right Tool for CI/CD Process - There are number of tools available for CI/CD. One should choose
the right tool based on the budget, and requirements. Some of the commonly used CI/CD tools are Jenkins,
Travis CI, Gitlab, TeamCity, Codeship, Circle CI, etc. Before deciding on any particular tool, it is recommended
that you research on the pros and cons of that particular tool. Any change in the tool during the course of
development could affect the deliverables and deadlines.
7. Making the Pipelines Fast - Making your pipeline fast is a very important requirement for the team. This
facilitates productivity and enables fast turnaround. If a team needs to wait an hour long for the pipeline to
complete in order to be able to deploy a one line change, then the task becomes arduous.
8. Writing an Extensive Test Suite - To be successful with CI/CD, the team needs to develop a culture of writing
tests for each code change they integrate. This should include writing unit, integration, regression and smoke
tests (to name a few).
9. Provide an Easy Way to Rollback - One of the most important parts of a successful CI/CD pipeline is an easy
way to rollback your changes in case something seems to go wrong. Idempotent deploys can prove to be
useful where doing a rollback just means re-deploying a previous release.
Enabling Continuous Integration & Delivery
Accelerating Business Value with DevOps
12
©RapidValue Solutions
Following some of the basic principles will help you to avoid some common pitfalls thereby, strengthening
your testing and development practices. Adopting CI/ CD best practices allow greater collaboration among
the team members and increases overall efficiency and agility. It helps you to work together seamlessly
eliminating bottlenecks and achieve faster time to market.
Enabling Continuous Product Innovation for a Leading Life Insurer Leveraging DevOps
About the Client : The client is one of the leading life insurance providers for individuals and groups. It offers
a range of individual and group insurance solutions that meet various customer needs such as Protection,
Pension, Savings, Investment and Health. It has over 30 individual and 10 group products in its portfolio,
catering to a diverse range of customer needs.
The Client’s Requirement : The client wanted technology to be the differentiating factor and build
solution for its future growth. It needed innovation as maintenance costs of its legacy systems were
increasing exponentially. They wanted to break away from legacy systems in areas like Underwriting, Claims
Management, Customer Onboarding. The client faced challenges with the current vendor development
team and as a consequence incurred many costs. Though the legacy system could be maintained, they
couldn’t innovate.
10. Securing your CI / CD Environment - The CI/CD system has complete access to your codebase and
credentials that need to be deployed in various environments. Hence, it is essential to secure it so that you
are able to safeguard internal data. CI/CD systems should be deployed to internal, protected networks which
are unexposed to outside parties.
Case Study
Enabling Continuous Integration & Delivery
Accelerating Business Value with DevOps
13
©RapidValue Solutions
Business Solution Highlights : RapidValue analyzed organizational DevOps readiness and did a maturity
assessment.Itprovidedend-to-endautomatedsolutionsforcontinuousdeployment,standardizedprocesses,
templates, guidelines and checklists for DevOps. The certified DevOps test architects at RapidValue with
deep domain expertise provided seamless Agile delivery and deployment. Applications are built in Agile &
DevOps methodology with microservices-based architecture. There was a complex product development
by implementing strategies while touching the core of the company. RapidValue built the “Underwriting
automation tool” as well as “Insurance as an API tool” for channel Integration and implemented DevOps for
enterprise thereby, introducing the client to AWS Cloud and DevOps / Automation testing processes.
Benefits : RapidValue partnered with the client to modernize their legacy systems for boosting efficiency.
The DevOps methodology streamlined the app development cycle with faster time to market
DevOps integration reduced cycle time of testing and release process from weeks to overnight.
Powerful tools like Jenkins, Ansible and Docker facilitated a significant improvement in process
efficiencies which led to the increase in productivity.
Seamless integration testing as part of the DevOps reduced the time to market.
The group portals helped the client by integrating their products on the partner portals and provided
real time processing information of the records.
Kubernetes management tool helped to deliver better quality of work with high accuracy. Improved
customer interaction led to better customer satisfaction.
The Queue Management System enabled a reduction in cost and an increase in productivity
thereby, reducing risk through ‘Intelligent’ system.
There was a decrease in the customer drop-off rates and an increase in basket size through smart
upselling.
Enabling Continuous Integration & Delivery
Accelerating Business Value with DevOps
14
©RapidValue Solutions
CI/CD, when combined effectively within a DevOps setup accelerates delivery of production-ready code
resulting into faster time-to-market and reduced costs. Integration of CI and CD result in faster builds and
deliver quicker results. With deployments running in continuous cycles, this enables you to track the project
and provide feedback in real-time. It also lets you fix the shortcomings with your team whenever necessary.
Business Benefits
•	 CI/CD and DevOps provides developers greater control over the processes and enables them to respond
more quickly to changing market demands by quickly bringing up new environments, testing against
them and easily starting over, if required.
•	 Developers can quickly adapt to new environment that helps in decreasing failures and resolution time.
•	 Automation helps in decreasing repetitive, manual work and brings in more efficiency into the processes.
This provides everyone in the process with more time for strategic and innovative work, which provides
direct bottom-line value to the organization.
•	 Fault isolation is quicker and smaller code changes are simpler. Testability improves due to smaller,
specific changes and smaller changes allow more accurate positive and negative tests. Mean time to
resolution (MTTR) is shorter because of the smaller code changes and quicker fault isolation.
•	 Release cycles are shorter with targeted releases. Elapsed time is shorter with a faster rate of release.
•	 End-user involvement and feedback during continuous development paves way for usability
improvements.
•	 Product improves rapidly because of fast feature introduction and swift turn-around on feature changes.
•	 CI-CD product feature velocity is high. This improves the time spent on investigating and rectifying
defects.
•	 By incorporating CI, the development team becomes more bankable and cost is minimized. In CD, the
software delivery process is further automated which facilitates easy deployments into production at any
time.
Enabling Continuous Integration & Delivery
Accelerating Business Value with DevOps
15
©RapidValue Solutions
Hence, the CI/CD methodology facilitates building and improving applications with faster time to market.
In addition, having a good automation allows you to gain a more streamlined app development cycle thus,
enabling a much quicker feedback cycle and build better, more consistent apps.
CONTINUOUS INTEGRATION CONTINUOUS DELIVERY
CONTINUOUS IMPROVEMENT
CONTINUOUS DEPLOYMENT
Improved quality of code.
More efficient developers.
Highest quality work.
Fewer bugs & lower risk.
Reduced time to market.
Quickly respond to market
changes.
Faster software builds.
Releases are less risky.
Fully automated delivery.
If you’d like to know more about adoption and implementation of CI/CD, please reach out to us
at contactus@rapidvaluesolutions.com
This whitepaper has been written by the marketing team at RapidValue based on market research and real-world
implementations.
Enabling Continuous Integration & Delivery
Accelerating Business Value with DevOps
16
©RapidValue Solutions
Disclaimer:
This document contains information that is confidential and proprietary to RapidValue Solutions Inc. No part of it may be used,
circulated, quoted, or reproduced for distribution outside RapidValue. If you are not the intended recipient of this report, you are
hereby notified that the use, circulation, quoting, or reproducing of this report is strictly prohibited and may be unlawful.
A global leader in digital transformation for enterprise providing end-to-end
mobility, omni-channel, IoT and cloud solutions. Armed with a large team of
expertsinconsulting,UXdesign,applicationdevelopment,integrationandtesting,
along with experience delivering projects worldwide, in mobility and cloud, we
offer a wide range of services across industry verticals. We deliver services to
the world’s top brands, fortune 1000 companies, Multinational companies and
emerging startups. We have offices in the United States, the United Kingdom,
Germany and India.
www.rapidvaluesolutions.com
+1 877.643.1850
www.rapidvaluesolutions.com/blog
contactus@rapidvaluesolutions.com
November, 2019©RapidValue Solutions

More Related Content

What's hot

CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
Edureka!
 
CI/CD (DevOps) 101
CI/CD (DevOps) 101CI/CD (DevOps) 101
CI/CD (DevOps) 101
Hazzim Anaya
 
CI and CD with Jenkins
CI and CD with JenkinsCI and CD with Jenkins
CI and CD with Jenkins
Martin Málek
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
Hawkman Academy
 
DevOps Introduction
DevOps IntroductionDevOps Introduction
DevOps Introduction
Robert Sell
 
Introduction to CI/CD
Introduction to CI/CDIntroduction to CI/CD
Introduction to CI/CD
Steve Mactaggart
 
CI/CD with Github Actions
CI/CD with Github ActionsCI/CD with Github Actions
CI/CD with Github Actions
Md. Minhazul Haque
 
Continuous Integration (CI) - An effective development practice
Continuous Integration (CI) - An effective development practiceContinuous Integration (CI) - An effective development practice
Continuous Integration (CI) - An effective development practice
Dao Ngoc Kien
 
DevOps introduction
DevOps introductionDevOps introduction
DevOps introduction
Mettje Heegstra
 
Flusso Continuous Integration & Continuous Delivery
Flusso Continuous Integration & Continuous DeliveryFlusso Continuous Integration & Continuous Delivery
Flusso Continuous Integration & Continuous Delivery
Joost van der Griendt
 
Introduction to devops
Introduction to devopsIntroduction to devops
Introduction to devops
UtpalenduChakrobortt1
 
Dev ops != Dev+Ops
Dev ops != Dev+OpsDev ops != Dev+Ops
Dev ops != Dev+Ops
Shalu Ahuja
 
Yale Jenkins Show and Tell
Yale Jenkins Show and TellYale Jenkins Show and Tell
Yale Jenkins Show and TellE. Camden Fisher
 
What is Jenkins | Jenkins Tutorial for Beginners | Edureka
What is Jenkins | Jenkins Tutorial for Beginners | EdurekaWhat is Jenkins | Jenkins Tutorial for Beginners | Edureka
What is Jenkins | Jenkins Tutorial for Beginners | Edureka
Edureka!
 
Edureka-DevOps-Ebook.pdf
Edureka-DevOps-Ebook.pdfEdureka-DevOps-Ebook.pdf
Edureka-DevOps-Ebook.pdf
relekarsushant
 
DevOps vs Agile | DevOps Tutorial For Beginners | DevOps Training | Edureka
DevOps vs Agile | DevOps Tutorial For Beginners | DevOps Training | EdurekaDevOps vs Agile | DevOps Tutorial For Beginners | DevOps Training | Edureka
DevOps vs Agile | DevOps Tutorial For Beginners | DevOps Training | Edureka
Edureka!
 
Jenkins CI
Jenkins CIJenkins CI
Jenkins CI
Viyaan Jhiingade
 
DevOps without DevOps Tools
DevOps without DevOps ToolsDevOps without DevOps Tools
DevOps without DevOps Tools
Jagatveer Singh
 

What's hot (20)

CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
 
CI/CD (DevOps) 101
CI/CD (DevOps) 101CI/CD (DevOps) 101
CI/CD (DevOps) 101
 
CI and CD with Jenkins
CI and CD with JenkinsCI and CD with Jenkins
CI and CD with Jenkins
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
DevOps Introduction
DevOps IntroductionDevOps Introduction
DevOps Introduction
 
Introduction to CI/CD
Introduction to CI/CDIntroduction to CI/CD
Introduction to CI/CD
 
CI/CD with Github Actions
CI/CD with Github ActionsCI/CD with Github Actions
CI/CD with Github Actions
 
Continuous Integration (CI) - An effective development practice
Continuous Integration (CI) - An effective development practiceContinuous Integration (CI) - An effective development practice
Continuous Integration (CI) - An effective development practice
 
DevOps introduction
DevOps introductionDevOps introduction
DevOps introduction
 
Flusso Continuous Integration & Continuous Delivery
Flusso Continuous Integration & Continuous DeliveryFlusso Continuous Integration & Continuous Delivery
Flusso Continuous Integration & Continuous Delivery
 
Introduction to devops
Introduction to devopsIntroduction to devops
Introduction to devops
 
CICD with Jenkins
CICD with JenkinsCICD with Jenkins
CICD with Jenkins
 
Dev ops != Dev+Ops
Dev ops != Dev+OpsDev ops != Dev+Ops
Dev ops != Dev+Ops
 
devops
devops devops
devops
 
Yale Jenkins Show and Tell
Yale Jenkins Show and TellYale Jenkins Show and Tell
Yale Jenkins Show and Tell
 
What is Jenkins | Jenkins Tutorial for Beginners | Edureka
What is Jenkins | Jenkins Tutorial for Beginners | EdurekaWhat is Jenkins | Jenkins Tutorial for Beginners | Edureka
What is Jenkins | Jenkins Tutorial for Beginners | Edureka
 
Edureka-DevOps-Ebook.pdf
Edureka-DevOps-Ebook.pdfEdureka-DevOps-Ebook.pdf
Edureka-DevOps-Ebook.pdf
 
DevOps vs Agile | DevOps Tutorial For Beginners | DevOps Training | Edureka
DevOps vs Agile | DevOps Tutorial For Beginners | DevOps Training | EdurekaDevOps vs Agile | DevOps Tutorial For Beginners | DevOps Training | Edureka
DevOps vs Agile | DevOps Tutorial For Beginners | DevOps Training | Edureka
 
Jenkins CI
Jenkins CIJenkins CI
Jenkins CI
 
DevOps without DevOps Tools
DevOps without DevOps ToolsDevOps without DevOps Tools
DevOps without DevOps Tools
 

Similar to DevOps Continuous Integration & Delivery - A Whitepaper by RapidValue

Continuous Everything
Continuous EverythingContinuous Everything
Continuous Everything
Andrea Tino
 
Continuous Integration vs Continuous Delivery vs Continuous Deployment
Continuous Integration vs Continuous Delivery vs Continuous Deployment Continuous Integration vs Continuous Delivery vs Continuous Deployment
Continuous Integration vs Continuous Delivery vs Continuous Deployment
LGS, GBHS&IC, University Of South-Asia, TARA-Technologies
 
Continous integration and delivery for single page applications
Continous integration and delivery for single page applicationsContinous integration and delivery for single page applications
Continous integration and delivery for single page applications
Sunil Dalal
 
DevOps & DevEx
DevOps & DevExDevOps & DevEx
DevOps & DevEx
Ifunga Ndana
 
Continuous integration and delivery for java based web applications
Continuous integration and delivery for java based web applicationsContinuous integration and delivery for java based web applications
Continuous integration and delivery for java based web applications
Sunil Dalal
 
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 integration
webomates
 
Continuous integration with Jenkins
Continuous integration with JenkinsContinuous integration with Jenkins
Continuous integration with Jenkins
Mohammad Hossein Rimaz
 
Continuous delivery @ hi q
Continuous delivery @ hi qContinuous delivery @ hi q
Continuous delivery @ hi qTomas Riha
 
Continuous integration
Continuous integration Continuous integration
Continuous integration
John Temoty Roca
 
Continuous Integration - What even is it?
Continuous Integration - What even is it?Continuous Integration - What even is it?
Continuous Integration - What even is it?
Rob Jacoby
 
SCALABLE CI CD DEVOPS
SCALABLE CI CD DEVOPSSCALABLE CI CD DEVOPS
SCALABLE CI CD DEVOPS
G R VISHAL
 
Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps  Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps
Chetan Gordhan
 
Dev ops in agile - 1st Conference Melbourne
Dev ops in agile - 1st Conference MelbourneDev ops in agile - 1st Conference Melbourne
Dev ops in agile - 1st Conference Melbourne
Mirco Hering
 
Dev ops culture and practices
Dev ops culture  and  practicesDev ops culture  and  practices
Dev ops culture and practices
AnkaraCloud
 
How Azure DevOps can boost your organization's productivity
How Azure DevOps can boost your organization's productivityHow Azure DevOps can boost your organization's productivity
How Azure DevOps can boost your organization's productivity
Ivan Porta
 
Automation CICD
Automation CICDAutomation CICD
Automation CICD
Lumban Sopian
 
Continuous Integration for Mobile App Testing
Continuous Integration for Mobile App TestingContinuous Integration for Mobile App Testing
Continuous Integration for Mobile App Testing
Infostretch
 
Continuous Integration for Mobile App Testing
Continuous Integration for Mobile App TestingContinuous Integration for Mobile App Testing
Continuous Integration for Mobile App Testing
Martin Smith
 

Similar to DevOps Continuous Integration & Delivery - A Whitepaper by RapidValue (20)

Continuous Everything
Continuous EverythingContinuous Everything
Continuous Everything
 
Continuous Integration vs Continuous Delivery vs Continuous Deployment
Continuous Integration vs Continuous Delivery vs Continuous Deployment Continuous Integration vs Continuous Delivery vs Continuous Deployment
Continuous Integration vs Continuous Delivery vs Continuous Deployment
 
Continous integration and delivery for single page applications
Continous integration and delivery for single page applicationsContinous integration and delivery for single page applications
Continous integration and delivery for single page applications
 
DevOps & DevEx
DevOps & DevExDevOps & DevEx
DevOps & DevEx
 
Continuous integration and delivery for java based web applications
Continuous integration and delivery for java based web applicationsContinuous integration and delivery for java based web applications
Continuous integration and delivery for java based web applications
 
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
Continuous integrationContinuous integration
Continuous integration
 
Continuous integration with Jenkins
Continuous integration with JenkinsContinuous integration with Jenkins
Continuous integration with Jenkins
 
Continuous delivery @ hi q
Continuous delivery @ hi qContinuous delivery @ hi q
Continuous delivery @ hi q
 
Continuous integration
Continuous integration Continuous integration
Continuous integration
 
Continuous Integration - What even is it?
Continuous Integration - What even is it?Continuous Integration - What even is it?
Continuous Integration - What even is it?
 
SCALABLE CI CD DEVOPS
SCALABLE CI CD DEVOPSSCALABLE CI CD DEVOPS
SCALABLE CI CD DEVOPS
 
Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps  Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps
 
Dev ops in agile - 1st Conference Melbourne
Dev ops in agile - 1st Conference MelbourneDev ops in agile - 1st Conference Melbourne
Dev ops in agile - 1st Conference Melbourne
 
Tce automation-d4
Tce automation-d4Tce automation-d4
Tce automation-d4
 
Dev ops culture and practices
Dev ops culture  and  practicesDev ops culture  and  practices
Dev ops culture and practices
 
How Azure DevOps can boost your organization's productivity
How Azure DevOps can boost your organization's productivityHow Azure DevOps can boost your organization's productivity
How Azure DevOps can boost your organization's productivity
 
Automation CICD
Automation CICDAutomation CICD
Automation CICD
 
Continuous Integration for Mobile App Testing
Continuous Integration for Mobile App TestingContinuous Integration for Mobile App Testing
Continuous Integration for Mobile App Testing
 
Continuous Integration for Mobile App Testing
Continuous Integration for Mobile App TestingContinuous Integration for Mobile App Testing
Continuous Integration for Mobile App Testing
 

More from RapidValue

How to Build a Micro-Application using Single-Spa
How to Build a Micro-Application using Single-SpaHow to Build a Micro-Application using Single-Spa
How to Build a Micro-Application using Single-Spa
RapidValue
 
Play with Jenkins Pipeline
Play with Jenkins PipelinePlay with Jenkins Pipeline
Play with Jenkins Pipeline
RapidValue
 
Accessibility Testing using Axe
Accessibility Testing using AxeAccessibility Testing using Axe
Accessibility Testing using Axe
RapidValue
 
Guide to Generate Extent Report in Kotlin
Guide to Generate Extent Report in KotlinGuide to Generate Extent Report in Kotlin
Guide to Generate Extent Report in Kotlin
RapidValue
 
Automation in Digital Cloud Labs
Automation in Digital Cloud LabsAutomation in Digital Cloud Labs
Automation in Digital Cloud Labs
RapidValue
 
Microservices Architecture - Top Trends & Key Business Benefits
Microservices Architecture -  Top Trends & Key Business BenefitsMicroservices Architecture -  Top Trends & Key Business Benefits
Microservices Architecture - Top Trends & Key Business Benefits
RapidValue
 
Uploading Data Using Oracle Web ADI
Uploading Data Using Oracle Web ADIUploading Data Using Oracle Web ADI
Uploading Data Using Oracle Web ADI
RapidValue
 
Appium Automation with Kotlin
Appium Automation with KotlinAppium Automation with Kotlin
Appium Automation with Kotlin
RapidValue
 
Build UI of the Future with React 360
Build UI of the Future with React 360Build UI of the Future with React 360
Build UI of the Future with React 360
RapidValue
 
Python Google Cloud Function with CORS
Python Google Cloud Function with CORSPython Google Cloud Function with CORS
Python Google Cloud Function with CORS
RapidValue
 
Real-time Automation Result in Slack Channel
Real-time Automation Result in Slack ChannelReal-time Automation Result in Slack Channel
Real-time Automation Result in Slack Channel
RapidValue
 
Automation Testing with KATALON Cucumber BDD
Automation Testing with KATALON Cucumber BDDAutomation Testing with KATALON Cucumber BDD
Automation Testing with KATALON Cucumber BDD
RapidValue
 
How to Implement Micro Frontend Architecture using Angular Framework
How to Implement Micro Frontend Architecture using Angular FrameworkHow to Implement Micro Frontend Architecture using Angular Framework
How to Implement Micro Frontend Architecture using Angular Framework
RapidValue
 
Video Recording of Selenium Automation Flows
Video Recording of Selenium Automation FlowsVideo Recording of Selenium Automation Flows
Video Recording of Selenium Automation Flows
RapidValue
 
JMeter JMX Script Creation via BlazeMeter
JMeter JMX Script Creation via BlazeMeterJMeter JMX Script Creation via BlazeMeter
JMeter JMX Script Creation via BlazeMeter
RapidValue
 
Migration to Extent Report 4
Migration to Extent Report 4Migration to Extent Report 4
Migration to Extent Report 4
RapidValue
 
The Definitive Guide to Implementing Shift Left Testing in QA
The Definitive Guide to Implementing Shift Left Testing in QAThe Definitive Guide to Implementing Shift Left Testing in QA
The Definitive Guide to Implementing Shift Left Testing in QA
RapidValue
 
Data Seeding via Parameterized API Requests
Data Seeding via Parameterized API RequestsData Seeding via Parameterized API Requests
Data Seeding via Parameterized API Requests
RapidValue
 
Test Case Creation in Katalon Studio
Test Case Creation in Katalon StudioTest Case Creation in Katalon Studio
Test Case Creation in Katalon Studio
RapidValue
 
How to Perform Memory Leak Test Using Valgrind
How to Perform Memory Leak Test Using ValgrindHow to Perform Memory Leak Test Using Valgrind
How to Perform Memory Leak Test Using Valgrind
RapidValue
 

More from RapidValue (20)

How to Build a Micro-Application using Single-Spa
How to Build a Micro-Application using Single-SpaHow to Build a Micro-Application using Single-Spa
How to Build a Micro-Application using Single-Spa
 
Play with Jenkins Pipeline
Play with Jenkins PipelinePlay with Jenkins Pipeline
Play with Jenkins Pipeline
 
Accessibility Testing using Axe
Accessibility Testing using AxeAccessibility Testing using Axe
Accessibility Testing using Axe
 
Guide to Generate Extent Report in Kotlin
Guide to Generate Extent Report in KotlinGuide to Generate Extent Report in Kotlin
Guide to Generate Extent Report in Kotlin
 
Automation in Digital Cloud Labs
Automation in Digital Cloud LabsAutomation in Digital Cloud Labs
Automation in Digital Cloud Labs
 
Microservices Architecture - Top Trends & Key Business Benefits
Microservices Architecture -  Top Trends & Key Business BenefitsMicroservices Architecture -  Top Trends & Key Business Benefits
Microservices Architecture - Top Trends & Key Business Benefits
 
Uploading Data Using Oracle Web ADI
Uploading Data Using Oracle Web ADIUploading Data Using Oracle Web ADI
Uploading Data Using Oracle Web ADI
 
Appium Automation with Kotlin
Appium Automation with KotlinAppium Automation with Kotlin
Appium Automation with Kotlin
 
Build UI of the Future with React 360
Build UI of the Future with React 360Build UI of the Future with React 360
Build UI of the Future with React 360
 
Python Google Cloud Function with CORS
Python Google Cloud Function with CORSPython Google Cloud Function with CORS
Python Google Cloud Function with CORS
 
Real-time Automation Result in Slack Channel
Real-time Automation Result in Slack ChannelReal-time Automation Result in Slack Channel
Real-time Automation Result in Slack Channel
 
Automation Testing with KATALON Cucumber BDD
Automation Testing with KATALON Cucumber BDDAutomation Testing with KATALON Cucumber BDD
Automation Testing with KATALON Cucumber BDD
 
How to Implement Micro Frontend Architecture using Angular Framework
How to Implement Micro Frontend Architecture using Angular FrameworkHow to Implement Micro Frontend Architecture using Angular Framework
How to Implement Micro Frontend Architecture using Angular Framework
 
Video Recording of Selenium Automation Flows
Video Recording of Selenium Automation FlowsVideo Recording of Selenium Automation Flows
Video Recording of Selenium Automation Flows
 
JMeter JMX Script Creation via BlazeMeter
JMeter JMX Script Creation via BlazeMeterJMeter JMX Script Creation via BlazeMeter
JMeter JMX Script Creation via BlazeMeter
 
Migration to Extent Report 4
Migration to Extent Report 4Migration to Extent Report 4
Migration to Extent Report 4
 
The Definitive Guide to Implementing Shift Left Testing in QA
The Definitive Guide to Implementing Shift Left Testing in QAThe Definitive Guide to Implementing Shift Left Testing in QA
The Definitive Guide to Implementing Shift Left Testing in QA
 
Data Seeding via Parameterized API Requests
Data Seeding via Parameterized API RequestsData Seeding via Parameterized API Requests
Data Seeding via Parameterized API Requests
 
Test Case Creation in Katalon Studio
Test Case Creation in Katalon StudioTest Case Creation in Katalon Studio
Test Case Creation in Katalon Studio
 
How to Perform Memory Leak Test Using Valgrind
How to Perform Memory Leak Test Using ValgrindHow to Perform Memory Leak Test Using Valgrind
How to Perform Memory Leak Test Using Valgrind
 

Recently uploaded

Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
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
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
Bhaskar Mitra
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
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
 

Recently uploaded (20)

Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
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
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
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...
 

DevOps Continuous Integration & Delivery - A Whitepaper by RapidValue

  • 1. Enabling Continuous Integration & Delivery Accelerating Business Value with DevOps 1 ©RapidValue Solutions A Whitepaper by RapidValue Solutions Enabling Continuous Integration & Delivery Accelerating Business Value with DevOps
  • 2. Enabling Continuous Integration & Delivery Accelerating Business Value with DevOps 2 ©RapidValue Solutions Index 01 Shift-left with CI/CD 02 Continuous Integration - Bringing it All Together 01 DevOps: Continuous Everything 04 Continuous Delivery - Anytime Production Deployment 07 Continuous Deployment - Automating Production Release 08 Continuous Delivery vs Continuous Deployment 10 Best Practices to Achieve Continuous Everything 12 14 Case Study Business Benefits ©RapidValue Solutions
  • 3. Enabling Continuous Integration & Delivery Accelerating Business Value with DevOps 1 ©RapidValue Solutions DevOps: Continuous Everything In today’s fast evolving digital world, speed-to-market is what matters for businesses across industries. To achieve this the entire software development lifecycle needs to become faster, agile and scalable. DevOps has pretty much become the new normal to accelerate the software development and delivery processes. According to a recent IDC study, the worldwide DevOps software market is forecasted to reach $6.6 billion in 2022. Continuous Integration, Continuous Delivery and Continuous Deployment (CI/CD) are considered to be the cornerstone of DevOps. Following Agile development methodology, in the past companies could achieve monthly, quarterly, bi-annual or annual releases. However, in the current DevOps era, we see multiple releases taking place in a single day. With over 50% of organizations across multiple industries embracing DevOps last year, continuous integration and continuous delivery has become an integral part of the software development process. In this whitepaper, we will deep dive into the concept of continuous integration, continuous delivery and continuous deployment and explain how businesses can benefit from this. We will also elucidate on how to build an effective CI/CD pipeline and some of the best practices for your enterprise DevOps journey. ©RapidValue Solutions Shift-left with CI/CD The “shift-left” approach is getting increasingly adopted in the Agile and DevOps world for detecting issues early in project lifecycle and prevent them from getting discovered at a later stage. CI/CD has further enabled the implementation of the shift-left approach. Shifting-left requires two key DevOps practices: Continuous Testing and Continuous Deployment. Continuous deployment automates the provisioning and deployment of new builds, enabling continuous testing to happen quickly and efficiently. Shift-left includes a test driven development approach which is geared towards reducing errors and improving flexibility while designing a software. It reduces the risks and consequences of things going wrong and increases the speed to market. It is perfect for the successful implementation of fearless software development. Its main aim is to build smaller testing cycles into the process and bring more agility.
  • 4. Enabling Continuous Integration & Delivery Accelerating Business Value with DevOps 2 ©RapidValue Solutions Continuous Integration- Bringing it All Together Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times a day. By integrating regularly, one can detect errors quickly, and locate them more easily. Earlier new features were built in isolation and each of them were submitted at the end of the cycle. Often bugs were discovered later in the product development lifecycle which would result into increasing build costs. To better understand the benefits of CI, let’s imagine that you have a project which you have broken down into 10 modules. Assume that you’ve given one module to each developer. So the developers will write the code and then they are also responsible to test it which we call unit testing. So, say the unit test is done and everything is working perfectly but then all of your developers have been working separately. So now, all of their code have to be integrated and integration testing has to be done so that your operations team can deploy the project on a production server. Let’s say it was decided that your developers will work throughout the week and will integrate the project on the last day of the week. When they integrate there will be an automated testing done to the build. What happens when this testing throws up bugs? We now have a problem which is absolutely necessary to solve and you don’t want to wait another week to release your project. To solve this problem the concept of Continuous Integration was contrived. In CI, your developers will have multiple commits a day. So every time they make a change and it is working for them in their unit test, they can push the code to a shared codebase like Github. So, every developer in the team will push code frequently to the shared codebase. Every time they commit, there will be an automated test done immediately. Now after every commit you have a ready build which is tested and working and you don’t have to wait for a week to release, you can keep releasing continuously.
  • 5. Enabling Continuous Integration & Delivery Accelerating Business Value with DevOps 3 ©RapidValue Solutions TESTCOVERAGE CODE ANALYSIS UNITTESTS CONTINUOUS INTEGRATION GIT GITHUB RELEASE Continuous Integration is backed by several important principles and practices. Practices How It's Done Team Responsibility - Maintain single source repository. - Automate the build. - Every commit should build on an integration machine. - Test in a clone of the production environment. - Make it easy for anyone to get the latest excutable version. - Automate deployment. - Developers check out code into their private workspaces. - When done, commit the changes to the repository. - Role of the CI Server: - Monitors the repository and checks out changes when they occur. - Builds the system and runs unit and integration tests. - Releases deployable artefacts for testing. - Assigns a build label to the version of the code it just built. - If the build or tests fail, the CI server alerts the team. - The team fixes the issue at the earliest opportunity. - Check in frequenly. - Don't check in broken code. - Don't check in untested code. - Don't check in when the build is broken.
  • 6. Enabling Continuous Integration & Delivery Accelerating Business Value with DevOps 4 ©RapidValue Solutions Continuous Delivery- Anytime Production Deployment Continuous delivery is a series of practices designed to ensure that code can be rapidly and safely deployed to production by delivering every change to a production-like environment and ensuring business applications and services function as expected through rigorous automated testing. This is an extension to CI, wherein the delivery process is automated enabling anytime deployment into production. Plan & Measure Release & Deploy Develop & Test Monitor & Optimize Continuous Business Planning Continuous Release & Deployment Continuous Testing Collaborative Development Continuous Monitoring Continuous Client Feedback and Optimization
  • 7. Enabling Continuous Integration & Delivery Accelerating Business Value with DevOps 5 ©RapidValue Solutions Converted to code Triggers Deploy Deploy Deploy Deploy RapidValue's Test Automation Accelerator Basic Build Loop Manual Testing Feedback Hockey App Build Registered with Package Repo Continuous Delivery at Work At the core of the continuous delivery, lies a deployment pipeline based on which the team automates the testing and deployment processes. This pipeline is an automated system that executes a set of test suites for each of the builds. In each segment in the pipeline, the build may fail a critical test and alert the team. Otherwise, it continues on to the next test suite, and successive test passes will result in automatic promotion to the next segment in the pipeline. The last segment in the pipeline will deploy the build to a production-equivalent environment. This is a comprehensive activity, since the build, deployment, and the environment are all exercised and tested together. The result is a build that is deployable and verifiable in an actual production environment. User Stories Dependency Management Build Script/ Compiler Static Analytics Unit Tests Version Meta - Data QA UAT Staging Prod Continuous Integration & Build mgmt. (GiTLab CI) Build Builds Runner (Fast Lane) Source Repos Deployment SystemBinary Repo Monitoring Funtctional, Security & Performance Tests
  • 8. Enabling Continuous Integration & Delivery Accelerating Business Value with DevOps 6 ©RapidValue Solutions Application Servers AWS CodeDeploy AWS CodeBuild AWS CodeCommit git Jenkins AWS CloudWatch Jira Nagios GREENHOPPER ZABBIX <Apache Ant> Crucible SUBVERSION Travis CI MS Build FishEye AWS CodeCommit AWS CodePipeline Apache Tomcat Hudson Build Tools Code Review Issue Tracking Provisioning Tool Monitoring Version Control Continuous Integration Continuous Delivery Tools * Not a detailed list of tools.
  • 9. Enabling Continuous Integration & Delivery Accelerating Business Value with DevOps 7 ©RapidValue Solutions Continuous Deployment - Automating Production Release Continuous deployment is a strategy for software releases wherein any code commit that passes the automated testing phase is automatically released into the production environment, making changes that are visible to the software's users. A major advantage of continuous deployment is the small change sets. A small change is easy to code -> build -> test -> deploy -> monitor. You would not have to wait for once-a-week, once-a-month, once-a-quarter, or even once-a-year to release. The change set in such cases is usually large to massive depending on the release cycle, requiring a long and painful testing process. So, with continuous deployment, features go live within hours or sometimes within minutes instead of a month. Since deployment is fully automated, continuous deployment also speeds up your time to market. Thus, continuous deployment is a safe, reliable and faster option to release new products, updates, new features etc. However, continuous deployment can also get risky as we are making changes directly in the production server. Any unprompted build can quickly end up in a big mess with delayed problematic releases again. Therefore, most enterprises dealing with large software products prefer continuous delivery to continuous deployment. Develop Build TestDeploy Monitor CONTINUOUS DEPLOYMENT
  • 10. Enabling Continuous Integration & Delivery Accelerating Business Value with DevOps 8 ©RapidValue Solutions Continuous Delivery vs Continuous Deployment Continuous Delivery and Continuous Deployment are two terms which are highly conflicted in the industry. The confusion occurs because continuous delivery and continuous deployment are very similar in nature but there is one particular difference that splits them apart. In order to understand this difference you need to know that when you deliver a software there is an entire software delivery lifecycle and multiple environments in the middle. We call this the delivery pipeline. You start off with the version control system then you code in the development environment and then you build the software. You have your QA environments, which is usually more than one, as you’ll need QA environment to support each kind of environment and you are going to be eventually supporting your software. Then we have several other pre-production or non-production environments, for example system integration tests, user acceptance tests etc., depending on how your organization is structured or how your delivery pipeline is structured and what kind of different environments you have. Finally, you have production where your software actually runs and customers interact with it. So, what you need is to deploy software from one environment to the next. For that in DevOps we use automation. There are delivery automation tools like AWS CodePipeline to help you automate your delivery pipeline. However, you do not directly deploy to the production environment. You first deploy on a production like environment to check the performance of the system and conduct other tests. Only when you are fully satisfied with the performance and functioning of your software, will you deploy it to the real production environment. Thus, continuous delivery is the capability to deploy software to any particular environment at any given time including the code changes, configuration changes and also changes to the environment if the environment has changed since your last deployment. This is a must-have capability for DevOps. Continuous deployment, on the other hand, is the capability where any change the developer makes gets automatically deployed all the way up to production. You might have heard about born on the web companies. These companies will deploy multiple changes every day. These companies need to constantly keep their systems updated and thus they need to continuously deploy to production.
  • 11. Enabling Continuous Integration & Delivery Accelerating Business Value with DevOps 9 ©RapidValue Solutions However, continuous deployment is risky and if you are building some large enterprise software you should not do continuous deployment but you need to do continuous delivery. So that you are absolutely sure about the performance of your software before you deploy. Thus, continuous delivery is a capability you must have and continuous deployment is an option which you might choose to exercise based on the kind of product you have. CODE DONE CODE DONE ACCEPTENCE TEST ACCEPTENCE TEST UNIT TESTS UNIT TESTS DEPLOY TO PRODUCTION CONTINUOUS DELIVERY CONTINUOUS DEPLOYMENT DEPLOY TO PRODUCTION INTEGRATE INTEGRATE AUTO AUTO MANUAL AUTO AUTO AUTO AUTO AUTO
  • 12. Enabling Continuous Integration & Delivery Accelerating Business Value with DevOps 10 ©RapidValue Solutions Best Practices to Achieve Continuous Everything Your organization will grow and application and infrastructure complexity is likely to increase. Good DevOps processes become very essential in order to effectively deliver software. Continuous Integration and Continuous Delivery are a vital part of your DevOps processes. CI/CD enables your organization to grow your team, codebase, and infrastructure. Having an automated delivery pipeline is crucial for serverless applications since they tend to be very distributed systems. Hence, if you don’t have a well-defined automated pipeline, deploying serverless applications can become very difficult. In order to deploy your applications several times a day and at the same time feel secure about it, one needs to have an effective automated delivery pipeline. Keeping that in mind, here are some best practices to follow when designing your pipeline. 1. Adapting your CI/CD Pipeline to your Development Process - The CI/CD pipeline is the automatization of your development process. Adaptation to fit your development process strategy is an integral part. The first step is formalization of the development process which helps you to determine which branches you have and what their functions are. Only then you are able to create the correct pipeline. 2. Identifying the Tests that can be Automated - It is unlikely that 100% of the tests can be automated. Since test automation is core to CI/CD pipeline, identification of those test cases which can be automated is one of the crucial and vital best practices for CI/CD. 3. Testing in a Clone of Production Environment - A staging environment or a clone of the production environment is required to be built. This should be capable of maintaining the technology stack and composition which should allow developers to perform testing.
  • 13. Enabling Continuous Integration & Delivery Accelerating Business Value with DevOps 11 ©RapidValue Solutions 4. Documentation is an Absolute Necessity - Project requirements change/evolve along with the course of project execution. The test automation strategy should be devised keeping in mind the short-term goals and long-term goals into account. There may be changes to the test plan or test strategy over a period of time. It is important to have everything documented. It should be a free-flowing document, updated with important timelines and should be version-controlled. One should be able to revisit the document to track the progress. 5. Maintaining a Central Repository for Code Development - To maintain the source code on central repository is of utmost importance and one of the main best practices for CI/CD pipeline. This way the developers can keep their changes up-to-date with the latest source code available on the production server. A revision/ version control system is also important to track changes and identify differences. 6. Choosing the Right Tool for CI/CD Process - There are number of tools available for CI/CD. One should choose the right tool based on the budget, and requirements. Some of the commonly used CI/CD tools are Jenkins, Travis CI, Gitlab, TeamCity, Codeship, Circle CI, etc. Before deciding on any particular tool, it is recommended that you research on the pros and cons of that particular tool. Any change in the tool during the course of development could affect the deliverables and deadlines. 7. Making the Pipelines Fast - Making your pipeline fast is a very important requirement for the team. This facilitates productivity and enables fast turnaround. If a team needs to wait an hour long for the pipeline to complete in order to be able to deploy a one line change, then the task becomes arduous. 8. Writing an Extensive Test Suite - To be successful with CI/CD, the team needs to develop a culture of writing tests for each code change they integrate. This should include writing unit, integration, regression and smoke tests (to name a few). 9. Provide an Easy Way to Rollback - One of the most important parts of a successful CI/CD pipeline is an easy way to rollback your changes in case something seems to go wrong. Idempotent deploys can prove to be useful where doing a rollback just means re-deploying a previous release.
  • 14. Enabling Continuous Integration & Delivery Accelerating Business Value with DevOps 12 ©RapidValue Solutions Following some of the basic principles will help you to avoid some common pitfalls thereby, strengthening your testing and development practices. Adopting CI/ CD best practices allow greater collaboration among the team members and increases overall efficiency and agility. It helps you to work together seamlessly eliminating bottlenecks and achieve faster time to market. Enabling Continuous Product Innovation for a Leading Life Insurer Leveraging DevOps About the Client : The client is one of the leading life insurance providers for individuals and groups. It offers a range of individual and group insurance solutions that meet various customer needs such as Protection, Pension, Savings, Investment and Health. It has over 30 individual and 10 group products in its portfolio, catering to a diverse range of customer needs. The Client’s Requirement : The client wanted technology to be the differentiating factor and build solution for its future growth. It needed innovation as maintenance costs of its legacy systems were increasing exponentially. They wanted to break away from legacy systems in areas like Underwriting, Claims Management, Customer Onboarding. The client faced challenges with the current vendor development team and as a consequence incurred many costs. Though the legacy system could be maintained, they couldn’t innovate. 10. Securing your CI / CD Environment - The CI/CD system has complete access to your codebase and credentials that need to be deployed in various environments. Hence, it is essential to secure it so that you are able to safeguard internal data. CI/CD systems should be deployed to internal, protected networks which are unexposed to outside parties. Case Study
  • 15. Enabling Continuous Integration & Delivery Accelerating Business Value with DevOps 13 ©RapidValue Solutions Business Solution Highlights : RapidValue analyzed organizational DevOps readiness and did a maturity assessment.Itprovidedend-to-endautomatedsolutionsforcontinuousdeployment,standardizedprocesses, templates, guidelines and checklists for DevOps. The certified DevOps test architects at RapidValue with deep domain expertise provided seamless Agile delivery and deployment. Applications are built in Agile & DevOps methodology with microservices-based architecture. There was a complex product development by implementing strategies while touching the core of the company. RapidValue built the “Underwriting automation tool” as well as “Insurance as an API tool” for channel Integration and implemented DevOps for enterprise thereby, introducing the client to AWS Cloud and DevOps / Automation testing processes. Benefits : RapidValue partnered with the client to modernize their legacy systems for boosting efficiency. The DevOps methodology streamlined the app development cycle with faster time to market DevOps integration reduced cycle time of testing and release process from weeks to overnight. Powerful tools like Jenkins, Ansible and Docker facilitated a significant improvement in process efficiencies which led to the increase in productivity. Seamless integration testing as part of the DevOps reduced the time to market. The group portals helped the client by integrating their products on the partner portals and provided real time processing information of the records. Kubernetes management tool helped to deliver better quality of work with high accuracy. Improved customer interaction led to better customer satisfaction. The Queue Management System enabled a reduction in cost and an increase in productivity thereby, reducing risk through ‘Intelligent’ system. There was a decrease in the customer drop-off rates and an increase in basket size through smart upselling.
  • 16. Enabling Continuous Integration & Delivery Accelerating Business Value with DevOps 14 ©RapidValue Solutions CI/CD, when combined effectively within a DevOps setup accelerates delivery of production-ready code resulting into faster time-to-market and reduced costs. Integration of CI and CD result in faster builds and deliver quicker results. With deployments running in continuous cycles, this enables you to track the project and provide feedback in real-time. It also lets you fix the shortcomings with your team whenever necessary. Business Benefits • CI/CD and DevOps provides developers greater control over the processes and enables them to respond more quickly to changing market demands by quickly bringing up new environments, testing against them and easily starting over, if required. • Developers can quickly adapt to new environment that helps in decreasing failures and resolution time. • Automation helps in decreasing repetitive, manual work and brings in more efficiency into the processes. This provides everyone in the process with more time for strategic and innovative work, which provides direct bottom-line value to the organization. • Fault isolation is quicker and smaller code changes are simpler. Testability improves due to smaller, specific changes and smaller changes allow more accurate positive and negative tests. Mean time to resolution (MTTR) is shorter because of the smaller code changes and quicker fault isolation. • Release cycles are shorter with targeted releases. Elapsed time is shorter with a faster rate of release. • End-user involvement and feedback during continuous development paves way for usability improvements. • Product improves rapidly because of fast feature introduction and swift turn-around on feature changes. • CI-CD product feature velocity is high. This improves the time spent on investigating and rectifying defects. • By incorporating CI, the development team becomes more bankable and cost is minimized. In CD, the software delivery process is further automated which facilitates easy deployments into production at any time.
  • 17. Enabling Continuous Integration & Delivery Accelerating Business Value with DevOps 15 ©RapidValue Solutions Hence, the CI/CD methodology facilitates building and improving applications with faster time to market. In addition, having a good automation allows you to gain a more streamlined app development cycle thus, enabling a much quicker feedback cycle and build better, more consistent apps. CONTINUOUS INTEGRATION CONTINUOUS DELIVERY CONTINUOUS IMPROVEMENT CONTINUOUS DEPLOYMENT Improved quality of code. More efficient developers. Highest quality work. Fewer bugs & lower risk. Reduced time to market. Quickly respond to market changes. Faster software builds. Releases are less risky. Fully automated delivery. If you’d like to know more about adoption and implementation of CI/CD, please reach out to us at contactus@rapidvaluesolutions.com This whitepaper has been written by the marketing team at RapidValue based on market research and real-world implementations.
  • 18. Enabling Continuous Integration & Delivery Accelerating Business Value with DevOps 16 ©RapidValue Solutions Disclaimer: This document contains information that is confidential and proprietary to RapidValue Solutions Inc. No part of it may be used, circulated, quoted, or reproduced for distribution outside RapidValue. If you are not the intended recipient of this report, you are hereby notified that the use, circulation, quoting, or reproducing of this report is strictly prohibited and may be unlawful. A global leader in digital transformation for enterprise providing end-to-end mobility, omni-channel, IoT and cloud solutions. Armed with a large team of expertsinconsulting,UXdesign,applicationdevelopment,integrationandtesting, along with experience delivering projects worldwide, in mobility and cloud, we offer a wide range of services across industry verticals. We deliver services to the world’s top brands, fortune 1000 companies, Multinational companies and emerging startups. We have offices in the United States, the United Kingdom, Germany and India. www.rapidvaluesolutions.com +1 877.643.1850 www.rapidvaluesolutions.com/blog contactus@rapidvaluesolutions.com November, 2019©RapidValue Solutions