SlideShare a Scribd company logo
Analyzing Technical Lag in
Docker Images
Work in Progress
Ahmed Zerouali, Tom Mens, Gregorio Robles and Jesus M.
Gonzalez-Barahona
The 17th Belgium-Netherlands Software Evolution Workshop
December 10-11, 2018 - Delft
/background
/previous work
- Cox J, et al. Measuring dependency freshness in software systems. International Conference
Software Engineering 2015 (pp. 109-118). IEEE
- Kula RG, et al. Do developers update their library dependencies? Empirical Software Engineering.
2018; 23(1):384-417. Elsevier
- Zerouali A, et al. An empirical analysis of technical lag in npm package dependencies. International
Conference on Software Reuse 2018 (pp. 95-110). Springer
“A lightweight, standalone, executable package of software that includes everything
needed to run an application: code, runtime, system tools, system libraries and
settings.” Docker, inc.
/What is a Docker container?
Isolation Portability
Reusability
/What is a Docker container?
/DockerHub
/DockerHub:node
Usage:
$ docker pull node:<tag>
For example:
$ docker pull node:8-jessie
$ docker pull node:8-alpine
/Method: Focus
* Alpine is a minimal image (8MB in size) based on the
security-oriented, lightweight Alpine Linux distribution.
/Method: Data Extraction
1) Image identifications: 2,253 images out of 12,840
official images (i.e., 17.5%), coming from 42 official repositories.
2) Extracted installed packages: 82,949 package versions.
3) Tracked packages in the package manager: 63,581 package
versions (23% missing)
/Method: Technical lag
Technical lag*: the difference between deployed
software packages and the latest available packages.
(*) Gonzalez-Barahona, et al. "Technical Lag in Software Compilations: Measuring How Outdated a Software Deployment Is."
IFIP International Conference on Open Source Systems. Springer, 2017.
1.0.1 1.2.0 2.0.12.0.0 2.1.0
Technical lag
Deployed
latest
Available
Dependency
- Measurement = ?
/Method: Technical lag
RQ: How can we quantify technical lag induced by packages in
Docker images?
/Method: Technical lag
Package level:
package time lag: time difference.
package version lag: version difference.
/Method: Technical lag
1.0.1 1.2.0 2.0.12.0.0 2.1.0
Technical lag
Deployed
latest
Available
Dependency
package time lag = date(2.1.0) - date(1.2.0)
package version lag = 3 versions
1
2 3
/Package level
/time lag
- All images have outdated packages.
- Time lag is related to the Alpine version.
/Package level
/version lag
Last updated images have packages with less version lag.
/Package level
- After one month: Updated images, updated only 2.9% of their
installed packages.
- Most of the updates happened for : openssl, libcrypto1.0,
libssl1.0
/Technical lag impact
Image level:
Image lag impact: number of packages with non-zero
technical lag.
/image level
/lag impact
Number of outdated packages in Docker images is increasing over
time.
/Limitations
- There are other measurements, e.g. repository lag impact.
- We relied only on Alpine packages.
- 23% of packages are missed.
- We did not consider community Docker images.
/Conclusion
Technical lag can be used to assess the health of Docker
images and their repositories.
/Future work
- Study packages coming from different package managers.
- Consider other aspects of technical lag: security, bugs, etc.
- Create models to recommend updates to container deployers.
Thank you
More information about how to calculate technical lag
when package version make use of constraints (npm)
.
.
.
/
/method
/technical lag
1.0.1 1.2.0 2.0.1
3.6.0 4.1.04.0.0 5.0.0
2.0.0 2.1.0
npm package: P
dependency: D
^1.0.0
Technical lag
*
^1.0.0 ^2.0.0
^1.0.0 = [ 1.0.0, 2.0.0 [
allowed
/method
/technical lag
1.0.1 1.2.0 2.0.1
3.6.0 4.1.04.0.0 5.0.0
2.0.0 2.1.0
npm package: P
dependency: D
^1.0.0
Technical lag
*
^1.0.0 ^2.0.0
allowed
^1.0.0 = [ 1.0.0, 2.0.0 [
/method
/technical lag
1.0.1 1.2.0 2.0.1
3.6.0 4.1.04.0.0 5.0.0
2.0.0 2.1.0
npm package: P
dependency: D
^1.0.0
Technical lag = 0
*
^1.0.0 ^2.0.0
allowed
^1.0.0 = [ 1.0.0, 2.0.0 [
/repository lag impact

More Related Content

PPTX
Analyzing Packages in Docker images hosted On DockerHub
PDF
Technical Lag in Software Ecosystems
PDF
Evolution of Technical Lag in DockerHub images - Benevol20
PDF
UniK - a unikernel compiler and runtime
PDF
Hands on kubernetes_container_orchestration
PPTX
Cigna Innovation Summit
PPTX
Debugging Microservices - QCON 2017
PPT
OpenStack with-docker-team-17
Analyzing Packages in Docker images hosted On DockerHub
Technical Lag in Software Ecosystems
Evolution of Technical Lag in DockerHub images - Benevol20
UniK - a unikernel compiler and runtime
Hands on kubernetes_container_orchestration
Cigna Innovation Summit
Debugging Microservices - QCON 2017
OpenStack with-docker-team-17

What's hot (6)

PDF
Testing fácil con Docker: Gestiona dependencias y unifica entornos
PDF
Linux advanced concepts - Part 2
PPTX
Microsoft .Net Technology
PPTX
Python programming 2nd
PDF
Compiler.design.in.c.docs
PDF
Embedded Webinar #13: "From Zero to Hero: contribute to Linux Kernel in 15 mi...
Testing fácil con Docker: Gestiona dependencias y unifica entornos
Linux advanced concepts - Part 2
Microsoft .Net Technology
Python programming 2nd
Compiler.design.in.c.docs
Embedded Webinar #13: "From Zero to Hero: contribute to Linux Kernel in 15 mi...
Ad

Similar to Technical Lag in Docker Containers (20)

PDF
A multi-dimensional analysis of technical lag in Debian-based Docker images
PDF
An Empirical Analysis of Technical Lag in npm Package Dependencies
PPTX
On the Relation between Outdated Docker Containers, Severity Vulnerabilities,...
PDF
Technical lag in npm and docker ecosystems
PDF
On the fragility of open source software packaging ecosystems
PDF
Breaking and fixing_your_dockerized_environments_owasp_appsec_usa2016
PDF
Container Security: How We Got Here and Where We're Going
PPTX
Docker - BWI Innovation Talk
PDF
Demystifying Containerization Principles for Data Scientists
PDF
WhitePaper - Implementing a Porting Automation Tool as an Eclipse Plugin
PPTX
Docker and stuff
ODP
Improvements in the OOo Release
PDF
Modern IoT and Embedded Linux Deployment - Berlin
PPTX
Building an Ionic hybrid mobile app with TypeScript
PDF
DEEP: a user success story
PDF
Drupal Dev Days Vienna 2023 - What is the secure software supply chain and th...
PDF
Why you need a private container image registry SCALE 2019
PDF
Unikernels - Bristech June 2016
PDF
Dependency Issues in Open Source Software Package Registries
PDF
Rappel 12 facteurs.pdf
A multi-dimensional analysis of technical lag in Debian-based Docker images
An Empirical Analysis of Technical Lag in npm Package Dependencies
On the Relation between Outdated Docker Containers, Severity Vulnerabilities,...
Technical lag in npm and docker ecosystems
On the fragility of open source software packaging ecosystems
Breaking and fixing_your_dockerized_environments_owasp_appsec_usa2016
Container Security: How We Got Here and Where We're Going
Docker - BWI Innovation Talk
Demystifying Containerization Principles for Data Scientists
WhitePaper - Implementing a Porting Automation Tool as an Eclipse Plugin
Docker and stuff
Improvements in the OOo Release
Modern IoT and Embedded Linux Deployment - Berlin
Building an Ionic hybrid mobile app with TypeScript
DEEP: a user success story
Drupal Dev Days Vienna 2023 - What is the secure software supply chain and th...
Why you need a private container image registry SCALE 2019
Unikernels - Bristech June 2016
Dependency Issues in Open Source Software Package Registries
Rappel 12 facteurs.pdf
Ad

More from Ahmed Zerouali (10)

PDF
Prevalence and Evolution of License Violations in npm and RubyGems Dependency...
PPTX
Analysis And Observations Of The Evolution Of Testing Library Usage
PPTX
On Popularity and Quality Metrics of npm Packages
PDF
On the Impact of Security Vulnerabilities in the npm and RubyGems Dependency ...
PDF
PhD public defense: A Measurement Framework for Analyzing Technical Lag in ...
PPTX
On the Diversity of Software Package Popularity Metrics: An Empirical Study o...
PPTX
ConPan: A Tool to Analyze Packages in Software Containers
PPTX
Analyzing the Evolution of Testing Library Usage in Open Source Java Projects
PPTX
An Empirical Comparison of the Development History of CloudStack and Eucalyptus
PPTX
Analyzing the Evolution of Testing Library Usage in Open Source Java Projects
Prevalence and Evolution of License Violations in npm and RubyGems Dependency...
Analysis And Observations Of The Evolution Of Testing Library Usage
On Popularity and Quality Metrics of npm Packages
On the Impact of Security Vulnerabilities in the npm and RubyGems Dependency ...
PhD public defense: A Measurement Framework for Analyzing Technical Lag in ...
On the Diversity of Software Package Popularity Metrics: An Empirical Study o...
ConPan: A Tool to Analyze Packages in Software Containers
Analyzing the Evolution of Testing Library Usage in Open Source Java Projects
An Empirical Comparison of the Development History of CloudStack and Eucalyptus
Analyzing the Evolution of Testing Library Usage in Open Source Java Projects

Recently uploaded (20)

PPTX
Fluid dynamics vivavoce presentation of prakash
PDF
CHAPTER 3 Cell Structures and Their Functions Lecture Outline.pdf
PPTX
Understanding the Circulatory System……..
PDF
Worlds Next Door: A Candidate Giant Planet Imaged in the Habitable Zone of ↵ ...
PDF
GROUP 2 ORIGINAL PPT. pdf Hhfiwhwifhww0ojuwoadwsfjofjwsofjw
PPTX
ap-psych-ch-1-introduction-to-psychology-presentation.pptx
PDF
Cosmic Outliers: Low-spin Halos Explain the Abundance, Compactness, and Redsh...
PPTX
gene cloning powerpoint for general biology 2
PDF
BET Eukaryotic signal Transduction BET Eukaryotic signal Transduction.pdf
PPTX
BODY FLUIDS AND CIRCULATION class 11 .pptx
PDF
Is Earendel a Star Cluster?: Metal-poor Globular Cluster Progenitors at z ∼ 6
PPTX
Welcome-grrewfefweg-students-of-2024.pptx
PPTX
POULTRY PRODUCTION AND MANAGEMENTNNN.pptx
PPTX
Hypertension_Training_materials_English_2024[1] (1).pptx
PPTX
GREEN FIELDS SCHOOL PPT ON HOLIDAY HOMEWORK
PDF
CHAPTER 2 The Chemical Basis of Life Lecture Outline.pdf
PPTX
PMR- PPT.pptx for students and doctors tt
PPTX
INTRODUCTION TO PAEDIATRICS AND PAEDIATRIC HISTORY TAKING-1.pptx
PPTX
Biomechanics of the Hip - Basic Science.pptx
PPTX
SCIENCE 4 Q2W5 PPT.pptx Lesson About Plnts and animals and their habitat
Fluid dynamics vivavoce presentation of prakash
CHAPTER 3 Cell Structures and Their Functions Lecture Outline.pdf
Understanding the Circulatory System……..
Worlds Next Door: A Candidate Giant Planet Imaged in the Habitable Zone of ↵ ...
GROUP 2 ORIGINAL PPT. pdf Hhfiwhwifhww0ojuwoadwsfjofjwsofjw
ap-psych-ch-1-introduction-to-psychology-presentation.pptx
Cosmic Outliers: Low-spin Halos Explain the Abundance, Compactness, and Redsh...
gene cloning powerpoint for general biology 2
BET Eukaryotic signal Transduction BET Eukaryotic signal Transduction.pdf
BODY FLUIDS AND CIRCULATION class 11 .pptx
Is Earendel a Star Cluster?: Metal-poor Globular Cluster Progenitors at z ∼ 6
Welcome-grrewfefweg-students-of-2024.pptx
POULTRY PRODUCTION AND MANAGEMENTNNN.pptx
Hypertension_Training_materials_English_2024[1] (1).pptx
GREEN FIELDS SCHOOL PPT ON HOLIDAY HOMEWORK
CHAPTER 2 The Chemical Basis of Life Lecture Outline.pdf
PMR- PPT.pptx for students and doctors tt
INTRODUCTION TO PAEDIATRICS AND PAEDIATRIC HISTORY TAKING-1.pptx
Biomechanics of the Hip - Basic Science.pptx
SCIENCE 4 Q2W5 PPT.pptx Lesson About Plnts and animals and their habitat

Technical Lag in Docker Containers

  • 1. Analyzing Technical Lag in Docker Images Work in Progress Ahmed Zerouali, Tom Mens, Gregorio Robles and Jesus M. Gonzalez-Barahona The 17th Belgium-Netherlands Software Evolution Workshop December 10-11, 2018 - Delft
  • 3. /previous work - Cox J, et al. Measuring dependency freshness in software systems. International Conference Software Engineering 2015 (pp. 109-118). IEEE - Kula RG, et al. Do developers update their library dependencies? Empirical Software Engineering. 2018; 23(1):384-417. Elsevier - Zerouali A, et al. An empirical analysis of technical lag in npm package dependencies. International Conference on Software Reuse 2018 (pp. 95-110). Springer
  • 4. “A lightweight, standalone, executable package of software that includes everything needed to run an application: code, runtime, system tools, system libraries and settings.” Docker, inc. /What is a Docker container?
  • 7. /DockerHub:node Usage: $ docker pull node:<tag> For example: $ docker pull node:8-jessie $ docker pull node:8-alpine
  • 8. /Method: Focus * Alpine is a minimal image (8MB in size) based on the security-oriented, lightweight Alpine Linux distribution.
  • 9. /Method: Data Extraction 1) Image identifications: 2,253 images out of 12,840 official images (i.e., 17.5%), coming from 42 official repositories. 2) Extracted installed packages: 82,949 package versions. 3) Tracked packages in the package manager: 63,581 package versions (23% missing)
  • 10. /Method: Technical lag Technical lag*: the difference between deployed software packages and the latest available packages. (*) Gonzalez-Barahona, et al. "Technical Lag in Software Compilations: Measuring How Outdated a Software Deployment Is." IFIP International Conference on Open Source Systems. Springer, 2017. 1.0.1 1.2.0 2.0.12.0.0 2.1.0 Technical lag Deployed latest Available Dependency
  • 11. - Measurement = ? /Method: Technical lag RQ: How can we quantify technical lag induced by packages in Docker images?
  • 12. /Method: Technical lag Package level: package time lag: time difference. package version lag: version difference.
  • 13. /Method: Technical lag 1.0.1 1.2.0 2.0.12.0.0 2.1.0 Technical lag Deployed latest Available Dependency package time lag = date(2.1.0) - date(1.2.0) package version lag = 3 versions 1 2 3
  • 14. /Package level /time lag - All images have outdated packages. - Time lag is related to the Alpine version.
  • 15. /Package level /version lag Last updated images have packages with less version lag.
  • 16. /Package level - After one month: Updated images, updated only 2.9% of their installed packages. - Most of the updates happened for : openssl, libcrypto1.0, libssl1.0
  • 17. /Technical lag impact Image level: Image lag impact: number of packages with non-zero technical lag.
  • 18. /image level /lag impact Number of outdated packages in Docker images is increasing over time.
  • 19. /Limitations - There are other measurements, e.g. repository lag impact. - We relied only on Alpine packages. - 23% of packages are missed. - We did not consider community Docker images.
  • 20. /Conclusion Technical lag can be used to assess the health of Docker images and their repositories.
  • 21. /Future work - Study packages coming from different package managers. - Consider other aspects of technical lag: security, bugs, etc. - Create models to recommend updates to container deployers.
  • 23. More information about how to calculate technical lag when package version make use of constraints (npm) . . . /
  • 24. /method /technical lag 1.0.1 1.2.0 2.0.1 3.6.0 4.1.04.0.0 5.0.0 2.0.0 2.1.0 npm package: P dependency: D ^1.0.0 Technical lag * ^1.0.0 ^2.0.0 ^1.0.0 = [ 1.0.0, 2.0.0 [ allowed
  • 25. /method /technical lag 1.0.1 1.2.0 2.0.1 3.6.0 4.1.04.0.0 5.0.0 2.0.0 2.1.0 npm package: P dependency: D ^1.0.0 Technical lag * ^1.0.0 ^2.0.0 allowed ^1.0.0 = [ 1.0.0, 2.0.0 [
  • 26. /method /technical lag 1.0.1 1.2.0 2.0.1 3.6.0 4.1.04.0.0 5.0.0 2.0.0 2.1.0 npm package: P dependency: D ^1.0.0 Technical lag = 0 * ^1.0.0 ^2.0.0 allowed ^1.0.0 = [ 1.0.0, 2.0.0 [