SlideShare a Scribd company logo
DevOps Patterns & Antipatterns
for Continuous Software Updates
“What can possibly go wrong?!”
Why software updates?
@jbaruch #NADOG #LiquidSoftware http://jfrog.com/shownotes
DevOps Patterns & Antipatterns for Continuous Software Updates @ NADOG April 2020
DevOps Patterns & Antipatterns for Continuous Software Updates @ NADOG April 2020
@jbaruch #NADOG #LiquidSoftware http://jfrog.com/shownotes
“As everycompanybecome asoftware company,
Security vulnerabilities are the new oil spills”
@jbaruch #NADOG #LiquidSoftware http://jfrog.com/shownotes
DevOps Patterns & Antipatterns for Continuous Software Updates @ NADOG April 2020
@jbaruch #NADOG #LiquidSoftware http://jfrog.com/shownotes
Identify Fix Deploy
@jbaruch #NADOG #LiquidSoftware http://jfrog.com/shownotes
@jbaruch #NADOG #LiquidSoftware http://jfrog.com/shownotes
Identify
As fast as possible
Fix
As fast as possible
Deploy
As fast as possible
@jbaruch #NADOG #LiquidSoftware http://jfrog.com/shownotes
DevOps Patterns & Antipatterns for Continuous Software Updates @ NADOG April 2020
DevOps Patterns & Antipatterns for Continuous Software Updates @ NADOG April 2020
DevOps Patterns & Antipatterns for Continuous Software Updates @ NADOG April 2020
@jbaruch #NADOG #LiquidSoftware http://jfrog.com/shownotes
This is not
a new idea!
XP: short feedback
Scrum: reducing cycle time
to absolute minimum
TPS: Decide as late as
possible and Deliver as fast
as possible
Kanban: Incremental
change
@jbaruch #NADOG #LiquidSoftware http://jfrog.com/shownotes
DevOps Patterns & Antipatterns for Continuous Software Updates @ NADOG April 2020
@jbaruch #dockercon jfrog.com/shownotes@ErinMeyerINSEAD’s “Culture Map”
🎩
shownotes
http://jfrog.com/shownotes
Slides
Video
Links
Comments, Ratings
Raffle
@jbaruch #NADOG #LiquidSoftware http://jfrog.com/shownotes
DevOps Patterns & Antipatterns for Continuous Software Updates @ NADOG April 2020
@jbaruch #NADOG #LiquidSoftware http://jfrog.com/shownotes
@jbaruch #NADOG #LiquidSoftware http://jfrog.com/shownotes
DevOps Patterns & Antipatterns for Continuous Software Updates @ NADOG April 2020
@jbaruch #NADOG #LiquidSoftware http://jfrog.com/shownotes
Do we want
it?
Let’s
update!
Are there
any high
risks?
How about no
Do we trust
the
update?
Update
available
No
Yes
Yes
Yes
NoNo
@jbaruch #NADOG #LiquidSoftware http://jfrog.com/shownotes
complexity
@jbaruch @jfrog #LiquidSoftware www.liquidsoftware.com
IoT
Serverless
Docker
Infrastructure as Code
Continuous Delivery
Continuous Integration
Agile
Microservices
2000
Today
The problem is not the code, it’s the data. Big data.
@jbaruch #NADOG #LiquidSoftware http://jfrog.com/shownotes
Do we want
it?
Let’s
update!
Are there
any high
risks?
Can we
verify the
update?
How about no
Do we trust
the
update?
Update
available
No
Yes
Yes
Yes
Yes
NoNoNo
Time
consuming
verification
DevOps Patterns & Antipatterns for Continuous Software Updates @ NADOG April 2020
Features
that we
want
Acceptance
tests costs
@jbaruch #NADOG #LiquidSoftware http://jfrog.com/shownotes
What can possibly
go wrong?
@jbaruch #NADOG #LiquidSoftware http://jfrog.com/shownotes
DevOps Patterns & Antipatterns for Continuous Software Updates @ NADOG April 2020
Continuous
updates pattern:
Local rollback
Problem: update went
catastrophically wrong and
an over the-air patch can’t
reach the device
Solution: Have a previous
version saved on the device
prior to update. Rollback in
case problem occurred
@jbaruch #NADOG #LiquidSoftware http://jfrog.com/shownotes
@jbaruch #NADOG #LiquidSoftware http://jfrog.com/shownotes
DevOps Patterns & Antipatterns for Continuous Software Updates @ NADOG April 2020
DevOps Patterns & Antipatterns for Continuous Software Updates @ NADOG April 2020
DevOps Patterns & Antipatterns for Continuous Software Updates @ NADOG April 2020
Continuous
updates pattern:
OTA software
updates
Problem: physical recalls
are costly. Extremely costly.
Also, you can’t force an
upgrade.
Solution: Implement over
the air software updates,
preferably, continuous
updates.
@jbaruch #NADOG #LiquidSoftware http://jfrog.com/shownotes
continuous OTA updates are like normal OTA updates,
but better
@jbaruch #NADOG #LiquidSoftware http://jfrog.com/shownotes
DevOps Patterns & Antipatterns for Continuous Software Updates @ NADOG April 2020
DevOps Patterns & Antipatterns for Continuous Software Updates @ NADOG April 2020
Continuous
updates pattern:
continuous
updates
Problem: In batch updates
important features wait for
non-important features.
Solution: Implement
continuous updates.
@jbaruch #NADOG #LiquidSoftware http://jfrog.com/shownotes
You thought your problems are hard?
Things under your control Server-side Updates IoT (Mobile, Automotive,
Edge) Updates
The availability of the target
✓ ✕
The state of the target
✓ ✕
The version on the target
✓ ✕
The access to the target
✓ ✕
@jbaruch #NADOG #LiquidSoftware http://jfrog.com/shownotes
DevOps Patterns & Antipatterns for Continuous Software Updates @ NADOG April 2020
KNIGHT-MARE
New system reused old APIs
1 out of 8 servers was not
updated
New clients sent requests to
machine contained old code
Engineers undeployed
working code from updated
servers, increasing the load on
the not-updated server
No monitoring, no alerting, no
debugging
@jbaruch #NADOG #LiquidSoftware http://jfrog.com/shownotes
Continuous
updates pattern:
Automated
deployment
Problem: People suck at
repetitive tasks.
Solution: Automate
everything.
@jbaruch #NADOG #LiquidSoftware http://jfrog.com/shownotes
Continuous
updates pattern:
frequent updates
Problem: Seldom
deployments generate
anxiety and stress, leading
to errors.
Solution: Update
frequently to develop skill
and habit.
@jbaruch #NADOG #LiquidSoftware http://jfrog.com/shownotes
Continuous
updates pattern:
state awareness
Problem: Target state can
affect the update process
and the behavior of the
system after the update.
Solution: Know and
consider target state when
updating.
Reverting might require
revering the state.
@jbaruch #NADOG #LiquidSoftware http://jfrog.com/shownotes
DevOps Patterns & Antipatterns for Continuous Software Updates @ NADOG April 2020
Cloud-dark
New rules are deployed
frequently to battle attacks
Deployment of a single
misconfigured rule
Included regex to spike
CPU to 100%
“Affected region: Earth”
@jbaruch #NADOG #LiquidSoftware http://jfrog.com/shownotes
Continuous
updates pattern:
Progressive
Delivery
Problem: Releasing a bug
affects ALL the users.
Solution: Release to a
small number of users first
effectively reducing the
blast radius and observe.
If a problem occurs, stop
the release, revert or
update the affected users.
@jbaruch #NADOG #LiquidSoftware http://jfrog.com/shownotes
@jbaruch #NADOG #LiquidSoftware http://jfrog.com/shownotes
Continuous
updates pattern:
observability
Problem: Some problems
are hard to trace relying on
user feedback only
Solution: Implement
tracing, monitoring and
logging
@jbaruch #NADOG #LiquidSoftware http://jfrog.com/shownotes
Continuous
updates pattern:
Rollbacks
Problem: Fixes might take
time, users suffer in a
meanwhile
Solution: Implement
rollback, the ability to
deploy a previous version
without delay
@jbaruch #NADOG #LiquidSoftware http://jfrog.com/shownotes
Continuous
updates pattern:
feature flags
Problem: Rollbacks are not
always supported by the
deployment target platform
Solution: Embed 2 versions
of the features in the app
itself and trigger them with
API calls
@jbaruch #NADOG #LiquidSoftware http://jfrog.com/shownotes
Do we want
it?
Let’s update!
Are there
any high
risks?
Do we trust
the
update?
Update
available
No
Yes
Yes
Yes
Sure, why not?
(auto update)
Our goal is to transition from bulk and rare software updates to
extremely tiny and extremely frequent software updates;
so tiny and so frequent that they provide an illusion of
software flowing from development to the update target.
We call it the Liquid Software vision.
”
@jbaruch #NADOG #LiquidSoftware http://jfrog.com/shownotes
@jbaruch #NADOG #LiquidSoftware http://jfrog.com/shownotes
Corner cases?
@jbaruch #NADOG #LiquidSoftware http://jfrog.com/shownotes
DevOps Patterns & Antipatterns for Continuous Software Updates @ NADOG April 2020
DevOps Patterns & Antipatterns for Continuous Software Updates @ NADOG April 2020
@jbaruch #NADOG #LiquidSoftware http://jfrog.com/shownotes
Q&A and twitter ads
@jbaruch
#LiquidSoftware
#NADOG
https://liquidsoftware.com
https://jfrog.com/shownotes

More Related Content

PDF
DevOps Patterns & Antipatterns for Continuous Software Updates @ DevOps.com A...
PDF
Work with Developers for Fun and Progress - AppSec California
PPTX
Advanced deployment scenarios (netcoreconf)
PPTX
Advanced deployment scenarios
PPTX
Back to basic: continuous integration (Madrid DevOps)
PDF
Use Scrum and Continuous Delivery to innovate like crazy!
PDF
How to Upgrade to the Newest Shiniest Django Version
PPTX
PAC 2020 Santorin - Ankur Jain
DevOps Patterns & Antipatterns for Continuous Software Updates @ DevOps.com A...
Work with Developers for Fun and Progress - AppSec California
Advanced deployment scenarios (netcoreconf)
Advanced deployment scenarios
Back to basic: continuous integration (Madrid DevOps)
Use Scrum and Continuous Delivery to innovate like crazy!
How to Upgrade to the Newest Shiniest Django Version
PAC 2020 Santorin - Ankur Jain

What's hot (20)

PPT
Continuous deployment
PDF
Advanced Techniques for Testing Responsive Apps and Sites -- By Aakrit Prasad
PDF
Visual Testing: Quality and Speed -- by GIl Tayar, Applitools
PDF
Kanban and DevOps
PDF
Faster Secure Software Development with Continuous Deployment - PH Days 2013
PPTX
CI/CD for mobile at HERE
PPTX
10 Emerging Test Frameworks for Cross Browser Testing
PDF
Shift left-devoxx-pl
PDF
Breaking News and Breaking Software by Andy Hume
PPTX
Colorful world-of-visual-automation-testing-latest
PDF
PyCon 9: Continuous Delivery starts at your Development Dnvironment
PDF
JavaOne 2016 - The DevOps Disaster
PDF
Continuous Testing With React Storybook & WebdriverIO
PDF
PAC 2019 virtual Bruno Audoux
PDF
JavaZone 2016 - The DevOps disaster
PDF
DevOps Utrecht - The DevOps Disaster
PDF
Oracle Code Brussels 2017 - The DevOps disaster
PDF
Digital Ocean Amsterdam meetup March 2017 - The DevOps disaster
DOCX
2. portfolio links and descriptions in order3
PDF
Recent Rogueware
Continuous deployment
Advanced Techniques for Testing Responsive Apps and Sites -- By Aakrit Prasad
Visual Testing: Quality and Speed -- by GIl Tayar, Applitools
Kanban and DevOps
Faster Secure Software Development with Continuous Deployment - PH Days 2013
CI/CD for mobile at HERE
10 Emerging Test Frameworks for Cross Browser Testing
Shift left-devoxx-pl
Breaking News and Breaking Software by Andy Hume
Colorful world-of-visual-automation-testing-latest
PyCon 9: Continuous Delivery starts at your Development Dnvironment
JavaOne 2016 - The DevOps Disaster
Continuous Testing With React Storybook & WebdriverIO
PAC 2019 virtual Bruno Audoux
JavaZone 2016 - The DevOps disaster
DevOps Utrecht - The DevOps Disaster
Oracle Code Brussels 2017 - The DevOps disaster
Digital Ocean Amsterdam meetup March 2017 - The DevOps disaster
2. portfolio links and descriptions in order3
Recent Rogueware
Ad

Similar to DevOps Patterns & Antipatterns for Continuous Software Updates @ NADOG April 2020 (20)

PDF
Principles and Practices in Continuous Deployment at Etsy
PDF
Java Web Start czyli jak żyć z tą dziwną technologią & Continuous Delivery w ...
PDF
Java Web Start czyli jak żyć z tą dziwną technologią? & Continuous Delivery w...
PPT
The Why and How of Continuous Delivery
DOCX
54 c o m m u n i c at i o n s o f t h e a c m n o.docx
PPTX
How to Develop Progressive Web Apps in Flutter – Step by Step Guide.pptx
PPTX
Continuous Delivery with TFS msbuild msdeploy
PDF
Continuous Deployment at Etsy — TimesOpen NYC
PDF
Working With People Adl Uni
PDF
So You Just Inherited a $Legacy Application… NomadPHP July 2016
PPTX
Patterns and Antipatterns for Software updates
ODP
Deployment talk dpc 13
DOCX
Window Desktop Application Testing
PDF
Data driven devops as presented at Codemash 2018
PPT
Manual testing visonia
PPTX
Engineering Velocity @indeed eng presented on Sept 24 2014 at Beyond Agile
PDF
Debugging Your Plone Site
PPT
SOFTWARE QUALITY ASSURANCE, PAOLA DI MAIO
PPTX
How to Boost Your SEO With Mobile Performance Optimization
PPTX
GDG Devfest 2016 session on Android N
Principles and Practices in Continuous Deployment at Etsy
Java Web Start czyli jak żyć z tą dziwną technologią & Continuous Delivery w ...
Java Web Start czyli jak żyć z tą dziwną technologią? & Continuous Delivery w...
The Why and How of Continuous Delivery
54 c o m m u n i c at i o n s o f t h e a c m n o.docx
How to Develop Progressive Web Apps in Flutter – Step by Step Guide.pptx
Continuous Delivery with TFS msbuild msdeploy
Continuous Deployment at Etsy — TimesOpen NYC
Working With People Adl Uni
So You Just Inherited a $Legacy Application… NomadPHP July 2016
Patterns and Antipatterns for Software updates
Deployment talk dpc 13
Window Desktop Application Testing
Data driven devops as presented at Codemash 2018
Manual testing visonia
Engineering Velocity @indeed eng presented on Sept 24 2014 at Beyond Agile
Debugging Your Plone Site
SOFTWARE QUALITY ASSURANCE, PAOLA DI MAIO
How to Boost Your SEO With Mobile Performance Optimization
GDG Devfest 2016 session on Android N
Ad

More from Baruch Sadogursky (20)

PDF
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Oracle Code NY...
PDF
Data driven devops as presented at QCon London 2018
PDF
A Research Study Into DevOps Bottlenecks as presented at Oracle Code LA 2018
PDF
Java Puzzlers NG S03 a DevNexus 2018
PDF
Where the Helm are your binaries? as presented at Canada Kubernetes Meetups
PDF
A Research Study into DevOps Bottlenecks as presented at Codemash 2018
PPTX
Best Practices for Managing Docker Versions as presented at JavaOne 2017
PDF
Troubleshooting & Debugging Production Microservices in Kubernetes as present...
PDF
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Devoxx 2017
PPTX
Amazon Alexa Skills vs Google Home Actions, the Big Java VUI Faceoff as prese...
PDF
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at DevOps Days Be...
PDF
Java Puzzlers NG S02: Down the Rabbit Hole as it was presented at The Pittsbu...
PDF
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at The Pittsburgh...
PDF
Let’s Wing It: A Study in DevRel Strategy
PDF
Log Driven First Class Customer Support at Scale
PPTX
[Webinar] The Frog And The Butler: CI Pipelines For Modern DevOps
PDF
Patterns and antipatterns in Docker image lifecycle as was presented at DC Do...
PDF
Groovy Puzzlers S04: The Bytecode Bites Back at Gr8Conf US 2017
PDF
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Gr8Conf 2017
PDF
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Downtown San J...
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Oracle Code NY...
Data driven devops as presented at QCon London 2018
A Research Study Into DevOps Bottlenecks as presented at Oracle Code LA 2018
Java Puzzlers NG S03 a DevNexus 2018
Where the Helm are your binaries? as presented at Canada Kubernetes Meetups
A Research Study into DevOps Bottlenecks as presented at Codemash 2018
Best Practices for Managing Docker Versions as presented at JavaOne 2017
Troubleshooting & Debugging Production Microservices in Kubernetes as present...
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Devoxx 2017
Amazon Alexa Skills vs Google Home Actions, the Big Java VUI Faceoff as prese...
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at DevOps Days Be...
Java Puzzlers NG S02: Down the Rabbit Hole as it was presented at The Pittsbu...
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at The Pittsburgh...
Let’s Wing It: A Study in DevRel Strategy
Log Driven First Class Customer Support at Scale
[Webinar] The Frog And The Butler: CI Pipelines For Modern DevOps
Patterns and antipatterns in Docker image lifecycle as was presented at DC Do...
Groovy Puzzlers S04: The Bytecode Bites Back at Gr8Conf US 2017
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Gr8Conf 2017
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Downtown San J...

Recently uploaded (20)

PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
KodekX | Application Modernization Development
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
Big Data Technologies - Introduction.pptx
PDF
Machine learning based COVID-19 study performance prediction
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
NewMind AI Weekly Chronicles - August'25 Week I
Advanced methodologies resolving dimensionality complications for autism neur...
The AUB Centre for AI in Media Proposal.docx
Network Security Unit 5.pdf for BCA BBA.
Spectral efficient network and resource selection model in 5G networks
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
KodekX | Application Modernization Development
20250228 LYD VKU AI Blended-Learning.pptx
The Rise and Fall of 3GPP – Time for a Sabbatical?
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
“AI and Expert System Decision Support & Business Intelligence Systems”
Big Data Technologies - Introduction.pptx
Machine learning based COVID-19 study performance prediction
Encapsulation_ Review paper, used for researhc scholars
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication

DevOps Patterns & Antipatterns for Continuous Software Updates @ NADOG April 2020