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

Continuous Deployment (english)

on

  • 186 views

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

Statistics

Views

Total Views
186
Views on SlideShare
186
Embed Views
0

Actions

Likes
0
Downloads
5
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

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.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
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.