SlideShare une entreprise Scribd logo
1  sur  42
Télécharger pour lire hors ligne
Continuous Updating
How do you keep track
of your LIBRARIES?
How many DEPENDENCIES do
you have in your project?
Which LICENSES are
your dependencies
using?
You don’t know ?
15 years ago we used to work with the WATERFALL MODEL
Requirements
Analysis
Design
Coding
Testing
Accepting
But today we are AGILE!
Everything the Waterfall Model used
to execute in one year ...
!

... we nowadays execute in 2 weeks!
The way we develop software
today totally changed!
Being AGILE got us
CONTINUOUS Testing
CONTINUOUS Refactoring
CONTINUOUS Integration
CONTINUOUS Delivery
But what about

CONTINUOUS Updating ?
How do you update your
LIBRARIES ?
You don’t ?
Because you never touch a
running system, right ?
So you wanna work
with COBOL? Right?
Enjoy!
If you can't fly then run,
if you can't run then walk,
if you can't walk then
crawl,
but whatever you do
you have to keep moving
forward.
Martin Luther King Jr.
Core committers don’t release
new versions just for fun!
They always have good reasons
•
•
•
•

Bug Fixes
Security Fixes
Speed & Memory optimization
New Features
How do you ensure that new
versions don’t break the system?
Semantic Versioning
Migration Paths
Continuous Testing
http://semver.org/
MAJOR.MINOR.PATCH
1.MAJOR version when you make incompatible API changes
2.MINOR version when you add functionality in a backwards-compatible manner
3.PATCH version when you make backwards-compatible bug fixes.
Always follow the
MIGRATION PATH!
Many small steps are
better than one big step
!

You can do SMALL MIGRATIONS on the fly.
!

BIG MIGRATIONS are risky and expensive.
!

If you miss versions, you miss migration paths, too.
And that leads to TROUBLE!
Don’t miss migration paths!
1

migrate

2

migrate

3

big migration … expensive

migrate

4
Always run your TESTS against new versions
Another reason for being current
Do you really believe
those young talents
wanna work with
COBOL?
Or other OLD SHIT?
Tracking versions is a pain!
SOFTWARE LIBRARIES
are NOT like iPhone
Apps!
100 libraries per
project in avg.
After 2 weeks the first libraries are OUT-DATED!
Developers are missing critical BUG FIXES
and important UPDATES!
Manually checking for
updates is no fun!
!

It cost TIME & MONEY!
!

NOBODY WANTS TO DO IT!
So, how do you wanna solve this
PROBLEM?
You have to
AUTOMATE!
You need a TOOL for that!
GemNotifier
Languages

Ruby

Gemnasium

VersionEye

Ruby, Node.JS

Java, Ruby, NodeJS,
Python, PHP, Clojure,
JavaScript, Object-C

Project Integration

Single Subscribe

GitHub

GitHub, URL,
FileUpload, API

Changelogs

no

yes

in progress

Security

no

yes

in progress

Licenses

no

no

yes

API

no

no

yes
www.VersionEye.com
Keeps an eye on more than 270K open source libraries!
Supports 8 Languages and 7 Package Managers!
API
https://www.versioneye.com/api?version=v2
Projects using the VersionEye API
Ruby command line tool: https://github.com/versioneye/veye
Maven Plugin: https://github.com/versioneye/versioneye_maven_plugin
Zend Framework Module: https://github.com/ocramius/VersionEyeModule
Symfony Profiler Module: https://github.com/mattsches/VersionEyeBundle
QUESTIONS?
!

Contact me
on Twitter
!

@RobertReiz

Contenu connexe

Tendances

PyCon UK 2013 "Python Adventures in Startup Land"
PyCon UK 2013 "Python Adventures in Startup Land"PyCon UK 2013 "Python Adventures in Startup Land"
PyCon UK 2013 "Python Adventures in Startup Land"
rwillmer
 

Tendances (19)

DevOps Measurement - DevOpsDays DC
DevOps Measurement - DevOpsDays DCDevOps Measurement - DevOpsDays DC
DevOps Measurement - DevOpsDays DC
 
Real world software launch
Real world software launchReal world software launch
Real world software launch
 
Coolblue Behind the Scenes | Jeffrey Simons - The UX nerd and you.
Coolblue Behind the Scenes | Jeffrey Simons - The UX nerd and you.Coolblue Behind the Scenes | Jeffrey Simons - The UX nerd and you.
Coolblue Behind the Scenes | Jeffrey Simons - The UX nerd and you.
 
Phonegap
PhonegapPhonegap
Phonegap
 
Why do mobile projects (still) fail - September 2014 edition
Why do mobile projects (still) fail - September 2014 editionWhy do mobile projects (still) fail - September 2014 edition
Why do mobile projects (still) fail - September 2014 edition
 
Agile Intro to DevOps
Agile Intro to DevOpsAgile Intro to DevOps
Agile Intro to DevOps
 
Beyond Agile: Conversational Development
Beyond Agile: Conversational DevelopmentBeyond Agile: Conversational Development
Beyond Agile: Conversational Development
 
WebVisions: ISITE Design and CCLI on Platformication
WebVisions: ISITE Design and CCLI on PlatformicationWebVisions: ISITE Design and CCLI on Platformication
WebVisions: ISITE Design and CCLI on Platformication
 
The Software Craftsman
The Software CraftsmanThe Software Craftsman
The Software Craftsman
 
The Software Craftsman (2nd edition)
The Software Craftsman (2nd edition)The Software Craftsman (2nd edition)
The Software Craftsman (2nd edition)
 
Conversational Development
Conversational DevelopmentConversational Development
Conversational Development
 
Putting the pro in programmer
Putting the pro in programmerPutting the pro in programmer
Putting the pro in programmer
 
Agile UX
Agile UXAgile UX
Agile UX
 
PyCon UK 2013 "Python Adventures in Startup Land"
PyCon UK 2013 "Python Adventures in Startup Land"PyCon UK 2013 "Python Adventures in Startup Land"
PyCon UK 2013 "Python Adventures in Startup Land"
 
DevOps: Getting Started with Puppet on Windows
DevOps: Getting Started with Puppet on WindowsDevOps: Getting Started with Puppet on Windows
DevOps: Getting Started with Puppet on Windows
 
Software Craftsmanship @ Ntnu
Software Craftsmanship @ NtnuSoftware Craftsmanship @ Ntnu
Software Craftsmanship @ Ntnu
 
Remote and Open: How GitLab functions (presentation at Landing.careers)
Remote and Open: How GitLab functions (presentation at Landing.careers)Remote and Open: How GitLab functions (presentation at Landing.careers)
Remote and Open: How GitLab functions (presentation at Landing.careers)
 
Cross platform or native: how to decide?
Cross platform or native: how to decide?Cross platform or native: how to decide?
Cross platform or native: how to decide?
 
Learn Kanban - Agile Software Development Methodology
Learn Kanban - Agile Software Development MethodologyLearn Kanban - Agile Software Development Methodology
Learn Kanban - Agile Software Development Methodology
 

Similaire à Continuous Updating

VersionEye for PHP User Group Berlin
VersionEye for PHP User Group BerlinVersionEye for PHP User Group Berlin
VersionEye for PHP User Group Berlin
Robert Reiz
 
icebreakerwithdevops-150218112943-conversion-gate02
icebreakerwithdevops-150218112943-conversion-gate02icebreakerwithdevops-150218112943-conversion-gate02
icebreakerwithdevops-150218112943-conversion-gate02
Manohar Kumar
 
Coding With JRebel - Java Forever Changed
Coding With JRebel - Java Forever ChangedCoding With JRebel - Java Forever Changed
Coding With JRebel - Java Forever Changed
Elizabeth Quinn-Woods
 
Coding With JRebel - Java Forever Changed
Coding With JRebel - Java Forever ChangedCoding With JRebel - Java Forever Changed
Coding With JRebel - Java Forever Changed
Madeline Gauthier
 
Coding With JRebel - Java Forever Changed
Coding With JRebel - Java Forever ChangedCoding With JRebel - Java Forever Changed
Coding With JRebel - Java Forever Changed
K. Dachos
 

Similaire à Continuous Updating (20)

Continuous Updating with VersionEye at code.talks 2014
Continuous Updating with VersionEye at code.talks 2014Continuous Updating with VersionEye at code.talks 2014
Continuous Updating with VersionEye at code.talks 2014
 
VersionEye for PHP User Group Berlin
VersionEye for PHP User Group BerlinVersionEye for PHP User Group Berlin
VersionEye for PHP User Group Berlin
 
2016 - Daniel Lebrero - REPL driven development
2016 - Daniel Lebrero - REPL driven development2016 - Daniel Lebrero - REPL driven development
2016 - Daniel Lebrero - REPL driven development
 
How to write bad code using C#
How to write bad code using C#How to write bad code using C#
How to write bad code using C#
 
Ice breaker with dev ops
Ice breaker with dev opsIce breaker with dev ops
Ice breaker with dev ops
 
Sugsa mobile ux_april 2013
Sugsa mobile ux_april 2013Sugsa mobile ux_april 2013
Sugsa mobile ux_april 2013
 
icebreakerwithdevops-150218112943-conversion-gate02
icebreakerwithdevops-150218112943-conversion-gate02icebreakerwithdevops-150218112943-conversion-gate02
icebreakerwithdevops-150218112943-conversion-gate02
 
Coolblue Behind the Scenes | Niels Abels - Continuous Delivery.
Coolblue Behind the Scenes | Niels Abels - Continuous Delivery.Coolblue Behind the Scenes | Niels Abels - Continuous Delivery.
Coolblue Behind the Scenes | Niels Abels - Continuous Delivery.
 
DevOps - Understanding Core Concepts (Old)
DevOps - Understanding Core Concepts (Old)DevOps - Understanding Core Concepts (Old)
DevOps - Understanding Core Concepts (Old)
 
Dominik Veselý - Vše co jste kdy chtěli vědět o CI a báli jste se zeptat
Dominik Veselý - Vše co jste kdy chtěli vědět o CI a báli jste se zeptatDominik Veselý - Vše co jste kdy chtěli vědět o CI a báli jste se zeptat
Dominik Veselý - Vše co jste kdy chtěli vědět o CI a báli jste se zeptat
 
I broke what?!??!? Taking over maintenance on well loved projects
I broke what?!??!? Taking over maintenance on well loved projectsI broke what?!??!? Taking over maintenance on well loved projects
I broke what?!??!? Taking over maintenance on well loved projects
 
I broke what? Taking over maintenance on existing (well loved) projects, by B...
I broke what? Taking over maintenance on existing (well loved) projects, by B...I broke what? Taking over maintenance on existing (well loved) projects, by B...
I broke what? Taking over maintenance on existing (well loved) projects, by B...
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
DevOps - Understanding Core Concepts
DevOps - Understanding Core ConceptsDevOps - Understanding Core Concepts
DevOps - Understanding Core Concepts
 
The Way We Start Our Transformation Journey
The Way We Start Our Transformation JourneyThe Way We Start Our Transformation Journey
The Way We Start Our Transformation Journey
 
Coding With JRebel - Java Forever Changed
Coding With JRebel - Java Forever ChangedCoding With JRebel - Java Forever Changed
Coding With JRebel - Java Forever Changed
 
Coding With JRebel - Java Forever Changed
Coding With JRebel - Java Forever ChangedCoding With JRebel - Java Forever Changed
Coding With JRebel - Java Forever Changed
 
Coding With JRebel - Java Forever Changed
Coding With JRebel - Java Forever ChangedCoding With JRebel - Java Forever Changed
Coding With JRebel - Java Forever Changed
 
From hello world to goodbye code
From hello world to goodbye codeFrom hello world to goodbye code
From hello world to goodbye code
 
How to explain DevOps to your mom
How to explain DevOps to your momHow to explain DevOps to your mom
How to explain DevOps to your mom
 

Plus de Robert Reiz

Plus de Robert Reiz (10)

Silicon Valley vs. Berlin vs. Mannheim
Silicon Valley vs. Berlin vs. MannheimSilicon Valley vs. Berlin vs. Mannheim
Silicon Valley vs. Berlin vs. Mannheim
 
Go with Go
Go with GoGo with Go
Go with Go
 
Infrastructure Deployment with Docker & Ansible
Infrastructure Deployment with Docker & AnsibleInfrastructure Deployment with Docker & Ansible
Infrastructure Deployment with Docker & Ansible
 
Dependencies and Licenses
Dependencies and LicensesDependencies and Licenses
Dependencies and Licenses
 
Ansible Introduction
Ansible Introduction Ansible Introduction
Ansible Introduction
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Gruenden indercloud
Gruenden indercloudGruenden indercloud
Gruenden indercloud
 
Silicon Valley
Silicon ValleySilicon Valley
Silicon Valley
 
Software Libraries And Numbers
Software Libraries And NumbersSoftware Libraries And Numbers
Software Libraries And Numbers
 
Ruby for Java Developers
Ruby for Java DevelopersRuby for Java Developers
Ruby for Java Developers
 

Dernier

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Dernier (20)

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 

Continuous Updating