SlideShare a Scribd company logo
1 of 21
Software Development and Continuous Delivery
Vmware August 25th, 2015
The LinkedIn Story
 There was a single, relatively homogenous code base
– Build from source, “spaghetti” dependency management
 Java, Spring, Ant, …
 JavaScript, HTML, JSPs, CSS, …
 JARs, WARs, Jetty, Tomcat, …
Then everything went exponential
Number of developers, programming languages, build systems,
frameworks, lines of code, servers, users, page views, …
… and pretty much everything else
Hadoop
LinkedIn Software Development
 We don’t ever want to be in the box
– Living on the bleeding edge, often defining it
– Technical experimentation and diversity encouraged
 Cheap experimentation
– Pace of iteration
– Continuous Delivery
 Automation: people are too slow
 Build over buy
Constructive Chaos
Our Answer: Multiproduct
 Tools, services, interfaces and processes that are architected for a
diverse technology stack
 Agnostic to version control, build system and programming
technology
 Abstracts common software lifecycle tasks
– For example: “build”, “test”, “release”
– Provide a default implementation, allow users to override
Key Concepts
 Elevate tooling from artifact to product level
 Metadata ties the tooling together
 Pluggable implementation of subsystems
 Version management
 Continuous and automated delivery
Source
Control
Build System Deployment
Continuous Delivery in Multiproduct
 Continuous Delivery
– Automatically deliver every code change to “production”
 Automated pipeline triggered on developer change
– No other developer action needed
 Processing around 1,000 code changes a day
– Median time to artifact publish: ~20 minutes
11
Keys to Continuous Delivery
 Backwards compatible APIs
– Strong API contracts, implementation can change
– Culture and Enforcement
– Continuous Integration
– https://www.linkedin.com/pulse/find-seams-jens-pillgram-larsen
 Push feedback earlier
– Feedback loops: post-mortems, root cause analysis, culture
– Developer can run same tests as CI (dev > qa > staging > prod)
 Incentivize desired behavior
– Breakage -> learning and improvement
Software Craftsmanship
 You know it when you see it
– Documentation, testing, code quality, design, architecture, APIs
– Maintainability, extensibility
 Is valued everywhere: production code, tests, build logic, process
 Is a feeling; an emotion
 Is necessary, but not sufficient
 https://www.linkedin.com/pulse/inside-software-jens-pillgram-larsen
Deployment
 Simple concept, hard problem
– Download an artifact and run it
 Artifact
– Ensures “once and once only” build, validation and release
– Consistency
– Speed
– Caching
 Separate code and configuration
 Dynamic provisioning
12-24 Months
 Connect Development to Delivery
– Continuous Task Execution
– Intelligent Developer Platform
– Infinite Scalability
http://www.slideshare.net/jenspillgram/software-engineering-in-the-continuous-age
VMware August 2015

More Related Content

What's hot

Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...
Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...
Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...
eleksdev
 
Improve Development Process with Open Source Software
Improve Development Process with Open Source SoftwareImprove Development Process with Open Source Software
Improve Development Process with Open Source Software
elliando dias
 

What's hot (20)

Swagger - make your API accessible
Swagger - make your API accessibleSwagger - make your API accessible
Swagger - make your API accessible
 
Advanced Mocking for Swagger APIs
Advanced Mocking for Swagger APIsAdvanced Mocking for Swagger APIs
Advanced Mocking for Swagger APIs
 
Enterprise Node - Code Quality
Enterprise Node - Code QualityEnterprise Node - Code Quality
Enterprise Node - Code Quality
 
Developing Faster with Swagger
Developing Faster with SwaggerDeveloping Faster with Swagger
Developing Faster with Swagger
 
Common blind spots on the journey to production vijay raghavan aravamudhan
Common blind spots on the journey to production  vijay raghavan aravamudhanCommon blind spots on the journey to production  vijay raghavan aravamudhan
Common blind spots on the journey to production vijay raghavan aravamudhan
 
Enterprise Node - Code Discoverability
Enterprise Node - Code DiscoverabilityEnterprise Node - Code Discoverability
Enterprise Node - Code Discoverability
 
Getting Predictable - Pragmatic Approach for Mobile Development - Devday.lk ...
Getting Predictable - Pragmatic Approach for Mobile Development  - Devday.lk ...Getting Predictable - Pragmatic Approach for Mobile Development  - Devday.lk ...
Getting Predictable - Pragmatic Approach for Mobile Development - Devday.lk ...
 
Hidden Treasure - TestComplete Script Extensions
Hidden Treasure - TestComplete Script ExtensionsHidden Treasure - TestComplete Script Extensions
Hidden Treasure - TestComplete Script Extensions
 
Swagger APIs for Humans and Robots (Gluecon)
Swagger APIs for Humans and Robots (Gluecon)Swagger APIs for Humans and Robots (Gluecon)
Swagger APIs for Humans and Robots (Gluecon)
 
API Developer Experience: Why it Matters, and How Documenting Your API with S...
API Developer Experience: Why it Matters, and How Documenting Your API with S...API Developer Experience: Why it Matters, and How Documenting Your API with S...
API Developer Experience: Why it Matters, and How Documenting Your API with S...
 
Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...
Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...
Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...
 
Microservice Stategies - Scaling your API design workflow
Microservice Stategies - Scaling your API design workflowMicroservice Stategies - Scaling your API design workflow
Microservice Stategies - Scaling your API design workflow
 
Improve Development Process with Open Source Software
Improve Development Process with Open Source SoftwareImprove Development Process with Open Source Software
Improve Development Process with Open Source Software
 
Introducing Swagger
Introducing SwaggerIntroducing Swagger
Introducing Swagger
 
The Magic Behind Faster API Development, Testing and Delivery with API Virtua...
The Magic Behind Faster API Development, Testing and Delivery with API Virtua...The Magic Behind Faster API Development, Testing and Delivery with API Virtua...
The Magic Behind Faster API Development, Testing and Delivery with API Virtua...
 
End to end test automation with cypress
End to end test automation with cypressEnd to end test automation with cypress
End to end test automation with cypress
 
Runing JMeter Tests On Rancher
Runing JMeter Tests On RancherRuning JMeter Tests On Rancher
Runing JMeter Tests On Rancher
 
Azure Bicep - An Introduction
Azure Bicep - An IntroductionAzure Bicep - An Introduction
Azure Bicep - An Introduction
 
Design Driven API Development
Design Driven API DevelopmentDesign Driven API Development
Design Driven API Development
 
Implement Web API with Swagger
Implement Web API with SwaggerImplement Web API with Swagger
Implement Web API with Swagger
 

Similar to VMware August 2015

Successfully Implementing DEV-SEC-OPS in the Cloud
Successfully Implementing DEV-SEC-OPS in the CloudSuccessfully Implementing DEV-SEC-OPS in the Cloud
Successfully Implementing DEV-SEC-OPS in the Cloud
Amazon Web Services
 
JEFFREY D SMITH - RESUME - 2016b
JEFFREY D SMITH - RESUME - 2016bJEFFREY D SMITH - RESUME - 2016b
JEFFREY D SMITH - RESUME - 2016b
Jeff Smith
 
Continuous Integration and Delivery at Shapeways (Matt Boyle)
Continuous Integration and Delivery at Shapeways (Matt Boyle)Continuous Integration and Delivery at Shapeways (Matt Boyle)
Continuous Integration and Delivery at Shapeways (Matt Boyle)
Nordic APIs
 
Tech foundations-slides
Tech foundations-slidesTech foundations-slides
Tech foundations-slides
tranquynh93
 

Similar to VMware August 2015 (20)

Successfully Implementing DEV-SEC-OPS in the Cloud
Successfully Implementing DEV-SEC-OPS in the CloudSuccessfully Implementing DEV-SEC-OPS in the Cloud
Successfully Implementing DEV-SEC-OPS in the Cloud
 
The DevSecOps Builder’s Guide to the CI/CD Pipeline
The DevSecOps Builder’s Guide to the CI/CD PipelineThe DevSecOps Builder’s Guide to the CI/CD Pipeline
The DevSecOps Builder’s Guide to the CI/CD Pipeline
 
DevSecOps and the CI/CD Pipeline
 DevSecOps and the CI/CD Pipeline DevSecOps and the CI/CD Pipeline
DevSecOps and the CI/CD Pipeline
 
Pragmatic Pipeline Security
Pragmatic Pipeline SecurityPragmatic Pipeline Security
Pragmatic Pipeline Security
 
JEFFREY D SMITH - RESUME - 2016b
JEFFREY D SMITH - RESUME - 2016bJEFFREY D SMITH - RESUME - 2016b
JEFFREY D SMITH - RESUME - 2016b
 
Ibm innovate ci for system z
Ibm innovate ci for system zIbm innovate ci for system z
Ibm innovate ci for system z
 
Continuous Integration for OpenVMS with Jenkins
Continuous Integration for OpenVMS with JenkinsContinuous Integration for OpenVMS with Jenkins
Continuous Integration for OpenVMS with Jenkins
 
Continuous Integration and Delivery at Shapeways (Matt Boyle)
Continuous Integration and Delivery at Shapeways (Matt Boyle)Continuous Integration and Delivery at Shapeways (Matt Boyle)
Continuous Integration and Delivery at Shapeways (Matt Boyle)
 
AWS Summit Auckland - Application Delivery Patterns for Developers
AWS Summit Auckland - Application Delivery Patterns for DevelopersAWS Summit Auckland - Application Delivery Patterns for Developers
AWS Summit Auckland - Application Delivery Patterns for Developers
 
The Emergent Cloud Security Toolchain for CI/CD
The Emergent Cloud Security Toolchain for CI/CDThe Emergent Cloud Security Toolchain for CI/CD
The Emergent Cloud Security Toolchain for CI/CD
 
Dev ops using Jenkins
Dev ops using JenkinsDev ops using Jenkins
Dev ops using Jenkins
 
Tech foundations-slides
Tech foundations-slidesTech foundations-slides
Tech foundations-slides
 
Build Time Hacking
Build Time HackingBuild Time Hacking
Build Time Hacking
 
Profile_Ahmad2
Profile_Ahmad2Profile_Ahmad2
Profile_Ahmad2
 
Selenium for everyone
Selenium for everyoneSelenium for everyone
Selenium for everyone
 
Achieving DevOps Success with Chef Automate
Achieving DevOps Success with Chef AutomateAchieving DevOps Success with Chef Automate
Achieving DevOps Success with Chef Automate
 
Java and the Internet of Things
Java and the Internet of ThingsJava and the Internet of Things
Java and the Internet of Things
 
What's New in NetBeans IDE 7.x
What's New in NetBeans IDE 7.xWhat's New in NetBeans IDE 7.x
What's New in NetBeans IDE 7.x
 
What’s New & Cool in NetBeans IDE 7.x
What’s New & Cool in NetBeans IDE 7.xWhat’s New & Cool in NetBeans IDE 7.x
What’s New & Cool in NetBeans IDE 7.x
 
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
 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
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
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
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...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
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...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
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
 
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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 

VMware August 2015

  • 1. Software Development and Continuous Delivery Vmware August 25th, 2015
  • 2. The LinkedIn Story  There was a single, relatively homogenous code base – Build from source, “spaghetti” dependency management  Java, Spring, Ant, …  JavaScript, HTML, JSPs, CSS, …  JARs, WARs, Jetty, Tomcat, …
  • 3. Then everything went exponential Number of developers, programming languages, build systems, frameworks, lines of code, servers, users, page views, … … and pretty much everything else
  • 5. LinkedIn Software Development  We don’t ever want to be in the box – Living on the bleeding edge, often defining it – Technical experimentation and diversity encouraged  Cheap experimentation – Pace of iteration – Continuous Delivery  Automation: people are too slow  Build over buy
  • 7. Our Answer: Multiproduct  Tools, services, interfaces and processes that are architected for a diverse technology stack  Agnostic to version control, build system and programming technology  Abstracts common software lifecycle tasks – For example: “build”, “test”, “release” – Provide a default implementation, allow users to override
  • 8. Key Concepts  Elevate tooling from artifact to product level  Metadata ties the tooling together  Pluggable implementation of subsystems  Version management  Continuous and automated delivery
  • 10.
  • 11. Continuous Delivery in Multiproduct  Continuous Delivery – Automatically deliver every code change to “production”  Automated pipeline triggered on developer change – No other developer action needed  Processing around 1,000 code changes a day – Median time to artifact publish: ~20 minutes 11
  • 12.
  • 13. Keys to Continuous Delivery  Backwards compatible APIs – Strong API contracts, implementation can change – Culture and Enforcement – Continuous Integration – https://www.linkedin.com/pulse/find-seams-jens-pillgram-larsen  Push feedback earlier – Feedback loops: post-mortems, root cause analysis, culture – Developer can run same tests as CI (dev > qa > staging > prod)  Incentivize desired behavior – Breakage -> learning and improvement
  • 14.
  • 15. Software Craftsmanship  You know it when you see it – Documentation, testing, code quality, design, architecture, APIs – Maintainability, extensibility  Is valued everywhere: production code, tests, build logic, process  Is a feeling; an emotion  Is necessary, but not sufficient  https://www.linkedin.com/pulse/inside-software-jens-pillgram-larsen
  • 16. Deployment  Simple concept, hard problem – Download an artifact and run it  Artifact – Ensures “once and once only” build, validation and release – Consistency – Speed – Caching  Separate code and configuration  Dynamic provisioning
  • 17.
  • 18.
  • 19.
  • 20. 12-24 Months  Connect Development to Delivery – Continuous Task Execution – Intelligent Developer Platform – Infinite Scalability http://www.slideshare.net/jenspillgram/software-engineering-in-the-continuous-age

Editor's Notes

  1. Homogenous -> Heterogenous Build vs buy, starting taking on more tasks internally. Started open-sourcing our own stuff to pay it forward.
  2. “out of the box” thinking should make you ask why the heck you were in the box in the first place Automation requires trust in the system
  3. But there must be basic sanity checks: our operations team must be able to configure and operate the products at scale, the organization must maintain focus and prioritize, have to consider compliance (legal, government, ethical) There’s constructive and destructive chaos. Multiproduct tries to define constructive chaos.
  4. A product can publish a single or many artifacts