SlideShare a Scribd company logo
DevOps Patterns and Anti-Patterns of
continuous Software Updates
What can possibly go wrong?!
Why software updates?
How frequently?
Patterns and Antipatterns for Software updates
“As every company becomes a software
company, Security vulnerabilities are
the new oil spills”
IDENTIFY FIX DEPLOY
Vulnerabilities which can be identified sooner, but can
take years for fixing and deploying
Hardware Vulnerabilities
● “63% of organizations face security breaches due to hardware vulnerabilities”
- Techrepublic article
IDENTIFY
Immediately
FIX
Months
DEPLOY
Years
- The register, UK
https://www.theregister.co.uk/2017/05/12/nhs
_hospital_shut_down_due_to_cyber_attack/
Vulnerabilities which have moderate time for all the 3
steps, yet affect the industry much higher
Security Vulnerabilities that led to data breaches
● “Proactive work that we do through defense in depth, that's great, but you've got
to be prepared to react and respond when something doesn't go right.”
- Brad Arkin, CSO, Adobe
IDENTIFY
Weeks
FIX
Weeks/Days
DEPLOY
Weeks/Months
Patterns and Antipatterns for Software updates
Vulnerabilities which have faster times for all the 3 steps,
yet affect the industry much much higher
Vulnerabilities in components that affect every industry
● Vulnerabilities in Micro-processors
IDENTIFY
ASAP
FIX
ASAP
DEPLOY
ASAP
Which systems are affected by Meltdown?
Technically, every Intel processor
which implements out-of-order
execution is potentially affected,
which is effectively every processor
since 1995 (except Intel Itanium and
Intel Atom before 2013).
Which systems are affected by Spectre?
Almost every system is affected by
Spectre: Desktops, Laptops, Cloud
Servers, as well as Smartphones.
Patterns and Antipatterns for Software updates
In a span of 6 years, with over 31000
survey responses, a report on the
adaptation of DevOps and categorisation
brings light to the spectacular results!
Patterns and Antipatterns for Software updates
Obviously, this is not a new idea!
❏ XP: Short feedback
❏ Scrum: Reduce cycle time to absolute minimum
❏ TPS: Decide as late as possible and Deliver as fast as possible
❏ Kanban: Incremental change
❏ And now, our vision is Liquid software - Updates as fast as
possible
Patterns and Antipatterns for Software updates
So, which version of Java are we on? How much have we upgraded
since mid-2017?
How do we Update?
Maybe, we don’t trust the QA!
It does depend on other factors
So, is this a solution?
Also, that’s when we have an option or if we care! What
if, we don’t?
❏ Your Browser
❏ Your Smartphone
❏ Smartphone applications (for
most of us)
❏ Twitter or alike applications in
our devices
So, here’s a pattern for both - of course proven!
❏ Problem: Updates went terribly wrong and is affecting the current deployments
❏ Solution: Local rollbacks, Have a previous version saved on the device prior to
update. Rollback in case problem occurred
❏ Have a Plan B!
An Era of IoT
And, in this era of IoT, software updates play a crucial role
To avoid such update costs and risks, OTA updates needs
to be continuous
❏ Problem: Physical recalls are costly. Extremely costly. Also, you can’t force an
upgrade.
❏ Solution: Implement over the air software updates, preferably, continuous
updates.
❏ Basically, DevOps for IoT
Well, we thought our 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
✓ ✕
So, a number of things can go possibly wrong - A Knight-
mare
❏ 1 out of 8 servers was not updated
❏ New system reused old APIs
❏ 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
Lessons learned
❏ Humans are bad at repetitive tasks - we need to Automate everything
❏ Seldom deployments generate anxiety and stress, leading to errors - we need to
update frequently in order to develop skill and habit
❏ Target state can affect the update process and the behavior of the system after
the update - we need to know the Target state before upgrade, reverting
might not be a Solution based on the target state
And things are different when it comes to social media
What can we do to avoid such a mass-outage?
❏ Let’s not impact all the users by a bug in release, 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
❏ Progressive delivery
❏ We cannot rely on feedback only - Implement tracing, monitoring and
logging
❏ Rollbacks is not an option for some deployments, feature flags can save us
from such huge issues - Embed 2 versions of the features in the app itself and
trigger them with API calls
Long time to update is no more acceptable
❏ We will probably lose all the users if
we take weeks/days to update in
this age
❏ We need to ensure Zero
downtime upgrades in order to
be User friendly as well as
Enterprise ready
Thus, we gain the missing trust with all the proven
Continuous updates patterns
3434
24/7 Dedicated Support + DevOps
Acceleration Service Arm
THE JFROG PLATFORM
BUILD TEST RELEASE DEPLOY
Continuously integrate
automate & deploy
Clear security and
compliance issues
Distribute to
production site
Control and monitor
the flow
On Premises
& Multi Cloud
Store and
manage all
types of
packages
ACCESS FEDERATION
Authentication, ACLs
SSO, Access Tokens
“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
Thank You

More Related Content

PPTX
Antithesis of dev ops
PDF
DevOps Explained
PPTX
KEYNOTE | WHAT'S COMING IN THE NEXT 10 YEARS OF DEVOPS? // ELLEN CHISA, bolds...
PPTX
DevOps Transformations
PPTX
The Devops Handbook
PPTX
DevOps Friendly Doc Publishing for APIs & Microservices
PPTX
The Human Side of DevSecOps
PPTX
Empowering Automation for Everyone 05/29/2019
Antithesis of dev ops
DevOps Explained
KEYNOTE | WHAT'S COMING IN THE NEXT 10 YEARS OF DEVOPS? // ELLEN CHISA, bolds...
DevOps Transformations
The Devops Handbook
DevOps Friendly Doc Publishing for APIs & Microservices
The Human Side of DevSecOps
Empowering Automation for Everyone 05/29/2019

What's hot (20)

PDF
DevOps for the Discouraged
PPTX
Introducing Puppet Remediate™
PPTX
Five Ways Automation Has Increased Application Deployment and Changed Culture
PPTX
Puppet + Diaxon: Getting to the next stage of DevOps evolution
PPTX
SRE in Enterprise - Local Journey DevopsDays Galway
PDF
Top 5 Challenges in Scaling DevOps in Brownfield Environments
PPTX
DevOps 101
PPTX
Making Security Agile - Oleg Gryb
PPTX
Road to DevOps ROI
PPTX
DevOps Shangri-La: Mystical Claims of Paradise
PPTX
Why Everyone Needs DevOps Now: 15 Year Study Of High Performing Technology Orgs
PPT
What the Fuck is DevOps?
PPTX
DevOps State of the Union 2015
PDF
Bjorn Rabenstein. SRE, DevOps, Google, and you
PPTX
The Next Wave of Reliability Engineering
PDF
A beginners guide to scaling DevOps
PDF
Discovery delivery agiletour-xian
PDF
DevOps not a Toolbox
PDF
Chaos engineering intro
PPTX
Har du en DevOps i ditt team?
DevOps for the Discouraged
Introducing Puppet Remediate™
Five Ways Automation Has Increased Application Deployment and Changed Culture
Puppet + Diaxon: Getting to the next stage of DevOps evolution
SRE in Enterprise - Local Journey DevopsDays Galway
Top 5 Challenges in Scaling DevOps in Brownfield Environments
DevOps 101
Making Security Agile - Oleg Gryb
Road to DevOps ROI
DevOps Shangri-La: Mystical Claims of Paradise
Why Everyone Needs DevOps Now: 15 Year Study Of High Performing Technology Orgs
What the Fuck is DevOps?
DevOps State of the Union 2015
Bjorn Rabenstein. SRE, DevOps, Google, and you
The Next Wave of Reliability Engineering
A beginners guide to scaling DevOps
Discovery delivery agiletour-xian
DevOps not a Toolbox
Chaos engineering intro
Har du en DevOps i ditt team?
Ad

Similar to Patterns and Antipatterns for Software updates (20)

PPTX
DevOps - Understanding Core Concepts
PDF
Shift Happens - Rapidly Rolling Forward During Production Failure
PDF
Strategies on How to Overcome Security Challenges Unique to Cloud-Native Apps
PPTX
Intro To Continuous Delivery
PPT
Quality Software Development
PDF
3. introduction to software testing
PPT
Continuous Integration
PPTX
DevOps - Understanding Core Concepts (Old)
PDF
2021-10-14 The Critical Role of Security in DevOps.pdf
PPTX
One trunk one pipeline one truth
PDF
Continuous Delivery in a Legacy Shop—One Step at a Time
PPTX
Why Software Maintenance is Essential for Business?
PPTX
Devsec ops
PPTX
Fundamentals of Testing - Andika Dwi Ary Candra
PDF
Executing Deployment & Release Strategies
PPTX
Data Engineer's Lunch #68: DevOps Fundamentals
PDF
Cisco_eBook_ShiftLeftSecurity_2022_06_07a.pdf
PPTX
Measure Your DevOps Success: Using Goal-based KPIs to Drive Results and Demon...
PDF
DataOps, DevOps and the Developer: Treating Database Code Just Like App Code
PDF
Top DevOps Best Practices for a Successful Transition in 2023
DevOps - Understanding Core Concepts
Shift Happens - Rapidly Rolling Forward During Production Failure
Strategies on How to Overcome Security Challenges Unique to Cloud-Native Apps
Intro To Continuous Delivery
Quality Software Development
3. introduction to software testing
Continuous Integration
DevOps - Understanding Core Concepts (Old)
2021-10-14 The Critical Role of Security in DevOps.pdf
One trunk one pipeline one truth
Continuous Delivery in a Legacy Shop—One Step at a Time
Why Software Maintenance is Essential for Business?
Devsec ops
Fundamentals of Testing - Andika Dwi Ary Candra
Executing Deployment & Release Strategies
Data Engineer's Lunch #68: DevOps Fundamentals
Cisco_eBook_ShiftLeftSecurity_2022_06_07a.pdf
Measure Your DevOps Success: Using Goal-based KPIs to Drive Results and Demon...
DataOps, DevOps and the Developer: Treating Database Code Just Like App Code
Top DevOps Best Practices for a Successful Transition in 2023
Ad

Recently uploaded (20)

PDF
Encapsulation theory and applications.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Cloud computing and distributed systems.
PDF
MIND Revenue Release Quarter 2 2025 Press Release
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
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Approach and Philosophy of On baking technology
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Encapsulation theory and applications.pdf
Unlocking AI with Model Context Protocol (MCP)
Per capita expenditure prediction using model stacking based on satellite ima...
Cloud computing and distributed systems.
MIND Revenue Release Quarter 2 2025 Press Release
Spectral efficient network and resource selection model in 5G networks
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
The Rise and Fall of 3GPP – Time for a Sabbatical?
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
20250228 LYD VKU AI Blended-Learning.pptx
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Approach and Philosophy of On baking technology
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
MYSQL Presentation for SQL database connectivity
Encapsulation_ Review paper, used for researhc scholars
Advanced methodologies resolving dimensionality complications for autism neur...
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Network Security Unit 5.pdf for BCA BBA.
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...

Patterns and Antipatterns for Software updates

  • 1. DevOps Patterns and Anti-Patterns of continuous Software Updates What can possibly go wrong?!
  • 5. “As every company becomes a software company, Security vulnerabilities are the new oil spills” IDENTIFY FIX DEPLOY
  • 6. Vulnerabilities which can be identified sooner, but can take years for fixing and deploying Hardware Vulnerabilities ● “63% of organizations face security breaches due to hardware vulnerabilities” - Techrepublic article IDENTIFY Immediately FIX Months DEPLOY Years
  • 7. - The register, UK https://www.theregister.co.uk/2017/05/12/nhs _hospital_shut_down_due_to_cyber_attack/
  • 8. Vulnerabilities which have moderate time for all the 3 steps, yet affect the industry much higher Security Vulnerabilities that led to data breaches ● “Proactive work that we do through defense in depth, that's great, but you've got to be prepared to react and respond when something doesn't go right.” - Brad Arkin, CSO, Adobe IDENTIFY Weeks FIX Weeks/Days DEPLOY Weeks/Months
  • 10. Vulnerabilities which have faster times for all the 3 steps, yet affect the industry much much higher Vulnerabilities in components that affect every industry ● Vulnerabilities in Micro-processors IDENTIFY ASAP FIX ASAP DEPLOY ASAP
  • 11. Which systems are affected by Meltdown? Technically, every Intel processor which implements out-of-order execution is potentially affected, which is effectively every processor since 1995 (except Intel Itanium and Intel Atom before 2013). Which systems are affected by Spectre? Almost every system is affected by Spectre: Desktops, Laptops, Cloud Servers, as well as Smartphones.
  • 13. In a span of 6 years, with over 31000 survey responses, a report on the adaptation of DevOps and categorisation brings light to the spectacular results!
  • 15. Obviously, this is not a new idea! ❏ XP: Short feedback ❏ Scrum: Reduce cycle time to absolute minimum ❏ TPS: Decide as late as possible and Deliver as fast as possible ❏ Kanban: Incremental change ❏ And now, our vision is Liquid software - Updates as fast as possible
  • 17. So, which version of Java are we on? How much have we upgraded since mid-2017?
  • 18. How do we Update?
  • 19. Maybe, we don’t trust the QA!
  • 20. It does depend on other factors
  • 21. So, is this a solution?
  • 22. Also, that’s when we have an option or if we care! What if, we don’t? ❏ Your Browser ❏ Your Smartphone ❏ Smartphone applications (for most of us) ❏ Twitter or alike applications in our devices
  • 23. So, here’s a pattern for both - of course proven! ❏ Problem: Updates went terribly wrong and is affecting the current deployments ❏ Solution: Local rollbacks, Have a previous version saved on the device prior to update. Rollback in case problem occurred ❏ Have a Plan B!
  • 24. An Era of IoT
  • 25. And, in this era of IoT, software updates play a crucial role
  • 26. To avoid such update costs and risks, OTA updates needs to be continuous ❏ Problem: Physical recalls are costly. Extremely costly. Also, you can’t force an upgrade. ❏ Solution: Implement over the air software updates, preferably, continuous updates. ❏ Basically, DevOps for IoT
  • 27. Well, we thought our 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 ✓ ✕
  • 28. So, a number of things can go possibly wrong - A Knight- mare ❏ 1 out of 8 servers was not updated ❏ New system reused old APIs ❏ 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
  • 29. Lessons learned ❏ Humans are bad at repetitive tasks - we need to Automate everything ❏ Seldom deployments generate anxiety and stress, leading to errors - we need to update frequently in order to develop skill and habit ❏ Target state can affect the update process and the behavior of the system after the update - we need to know the Target state before upgrade, reverting might not be a Solution based on the target state
  • 30. And things are different when it comes to social media
  • 31. What can we do to avoid such a mass-outage? ❏ Let’s not impact all the users by a bug in release, 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 ❏ Progressive delivery ❏ We cannot rely on feedback only - Implement tracing, monitoring and logging ❏ Rollbacks is not an option for some deployments, feature flags can save us from such huge issues - Embed 2 versions of the features in the app itself and trigger them with API calls
  • 32. Long time to update is no more acceptable ❏ We will probably lose all the users if we take weeks/days to update in this age ❏ We need to ensure Zero downtime upgrades in order to be User friendly as well as Enterprise ready
  • 33. Thus, we gain the missing trust with all the proven Continuous updates patterns
  • 34. 3434 24/7 Dedicated Support + DevOps Acceleration Service Arm THE JFROG PLATFORM BUILD TEST RELEASE DEPLOY Continuously integrate automate & deploy Clear security and compliance issues Distribute to production site Control and monitor the flow On Premises & Multi Cloud Store and manage all types of packages ACCESS FEDERATION Authentication, ACLs SSO, Access Tokens
  • 35. “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