• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Continuous Deployment (english)

Continuous Deployment (english)



Slides for Continuous Deployment talk on agileday 2013 in Vilnius - tak (in lithuanian) here - http://www.youtube.com/watch?v=ti1Pfu9dnYY

Slides for Continuous Deployment talk on agileday 2013 in Vilnius - tak (in lithuanian) here - http://www.youtube.com/watch?v=ti1Pfu9dnYY



Total Views
Views on SlideShare
Embed Views



0 Embeds 0

No embeds



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    Continuous Deployment (english) Continuous Deployment (english) Presentation Transcript

    • Continuous DeploymentTitas Norkūnas / @varsketiz
    • Assembla the Product~ 350.000 Projects tracked~ 350.000 Repositories hosted~ 850.000 Users registered~ 5.000.000 Tasks created
    • Assembla the Team● 40 People (20 Developers)● 20 Countries● 15 Different Timezones● 163 Prod Deploys in April
    • Assembla the Team
    • Assembla the TeamMeColleague I work with the most
    • Have you heard aboutContinuous Deployment before?
    • How often do you deploy?
    • This is about● The Why● Common concerns● The How● Good to haves and common issues● How we did it
    • Why bother?Agile manifesto:"Our highest priority is to satisfy thecustomer through early andcontinuous delivery of valuablesoftware."
    • Why bother?Agile manifesto:"Working software is the primarymeasure of progress."
    • Why bother?Agile manifesto:"Simplicity – the art of maximizing theamount of work not done – isessential."
    • Why bother?MVP:"The minimum viable product is thatversion of a new product whichallows a team to collect the maximumamount of validated learning aboutcustomers with the least effort."
    • Why bother?Your favorite tech company does it:● Github● Amazon● Heroku● Linkedin● Etsy● ... <endless list> ...
    • Why bother?Your favorite tech company does it:● Github● Amazon - Prod Deploy every 11s!● Heroku● Linkedin● Etsy● ... <endless list> ...
    • Benefits● Deliver value ASAP● Advance every day● Always be informed● Have a fast feedback cycle● Create a top-notch environment
    • Concerns● But isnt that dangerous?● That will cost much more!● It will reduce quality!● Thats just cowboy-coding!
    • But isnt that dangerous? - No.● Less changes in every release● Minimal issue fix and deploy time● Deploys are standard
    • That will cost much more! - No.● Automated deploys - one time fee● Cheap a/b testing● Always ASAP code delivery
    • It will reduce quality! - No.● Hide features that arenot ready● Never rush to "make it"● Keep all current testingpractices
    • Thats just cowboy-coding! - No.● Standardize configuration● Standardize migrations● Standardize all environments
    • The How● "Continuous" team mentality● Proper Continuous Integration● Deployment Automation● Metrics and Alerts
    • There is only one rule toContinuous Deployment - keepyour Mainline deployable.
    • Define deployable
    • Automated tests pass
    • Automated tests pass, codereviewed and tested by peer orQA
    • Automated tests pass, codereviewed and tested by peer orQA, code tested on productionby a subset of users
    • Mainline stability● Dont break the trust to save 5minutes● Dont assume you know everything● Dont block others
    • Continuous IntegrationBranch →Mainline →
    • Continuous Integration2?1Mainline →Branch →
    • Continuous IntegrationMainline →1 ?4Branch →3Mainline →Branch →
    • Backmerge from Mainline tobranch for integrate and build.Premature integration is evil
    • Deployment Automation● Easy - with a click of a button● Risk-free - be able to rollback● Consistent - no surprises● Traceable - who, when what
    • Easy - with a click of a button
    • Risk-free - be able to rollback
    • Consistent - no surprises
    • Traceable - who, when, what?
    • Metrics and Alerts● Real-time● Monitor key business metrics● Have a dashboard for app metrics● Alert on abnormalities notthresholds
    • Business metrics
    • Application Metrics
    • Abnormalities, not thresholds
    • The good to haves● Fast tests and fast deploys● Configuration automation● Fast developer onboarding● Uniform migration strategy
    • Fast tests and fast deploys
    • Configuration automation
    • Fast developer onboarding
    • Uniform migration strategy
    • "Continuous" is a game-changer.How does it change the game forother people in the company?
    • How Assembla did it
    • Release Count Evolution
    • Release Count EvolutionFrustration
    • Release Count Evolution
    • Release Count Evolution
    • Release Count EvolutionLOL Vacation
    • Release Count Evolution
    • Common issues● Wait, but how do I deploy schemachanges without downtime?● I need manual testing in myworkflow...● Does not scale.