Continuous Deployment at Scale

At Etsy our approach to development is to make small, incremental, continuous changes to the site. Deploying code to production anywhere between 20 to 40 times a day requires not only technical tooling, but also a culture that allows for and encourages innovation, confidence backed by actual data and comprehensive tests, and blameless postmortems that allow for a feedback loop we can learn from and improve.

Learn about the tools we have, and how we foster an environment where we make this possible.

 
1 favorite thumb_down thumb_up 4 comments visibility_off  Remove from Watchlist visibility  Add to Watchlist
 

Outline/structure of the Session

Introduction

Continuous Deployment Principles

- core principles
- traditional deployment cycle

Tooling

- Frequent check-ins
- Feature flags
- A/B testing and experimentation
- dark changes
- config pushes
- Individual tooling
- push train and IRC
- post-deploy tooling

Culture

- learning from failure
- post-mortems

Learning Outcome

Our understanding of how failures happen is fundamentally broken, which leads to an a culture without trust. Tooling alone cannot help our continuous delivery goals - culture plays a critical role in both enabling and in being a critical feedback loop into improving our systems. In this talk we will learn how Etsy achieves continuous deployment through both technical tooling and fostering a culture that allows for it.

Target Audience

Engineers, Engineering Managers, Program/Project Managers

schedule Submitted 11 months ago

Comments Subscribe to Comments

comment Comment on this Proposal
  • Joel Tosi
    By Joel Tosi  ~  11 months ago
    reply Reply

    Hi Premshree,

        This looks like an interesting talk.  Couple quick questions and thoughts - 

     

    Have you delivered this presentation before / do you have slides we could checkout or a sample video to get an idea of your presentation style?

    You have a point around 'tooling alone cannot help our continuous delivery goals' - but if I look at the outline of your session, it is roughly 80% tools.  I am a little confused by that.  Is this talk more about the culture or about the tools.  Also, is this more of an experience report or a standard session?

     

    Your answers will help me help you with the session more.

    Best,

    Joel

    • Premshree Pillai
      By Premshree Pillai  ~  11 months ago
      reply Reply

      Hi Joel,

      I have presented this topic at a few conferences in the past. Here's a video: https://www.youtube.com/watch?v=mJN27NzQyy4

      You're right that the bulk of the talk covers tooling, but all of this hinges on the backbone of a culture that allows failure to be seen as a systemic (in the sense that we can continually make our system more resilient) rather than a human problem. My points on culture covers some of these including failure response, post mortem, and internal "mixers". While it's certainly hard to convey culture through a few minutes of talking, I think it is a critical aspect that is worth having a conversation about.

      Let me know if you have any other questions!

      Premshre
      --

      • Joel Tosi
        By Joel Tosi  ~  10 months ago
        reply Reply

        Thanks Premshre,

            I checked out the video, a nice style of delivery.  While I see what you are saying around the culture blending with the tools, I still feel like this session is 'too much' - either too much tools or too much tools +  collaboration.  I see this is marked as intermediate - is your assumption that everyone is familiar with the tools / techniques you mention?

        Best,

        Joel

        • Premshree Pillai
          By Premshree Pillai  ~  10 months ago
          reply Reply

          Hi Joel,

          I'm happy to tailor it to better suite your target audience, if you can provide me with a few guidelines.

          I'll admit I don't know whether to categorize it as intermediate or not. I don't expect any familiarity with any of the tools from the audience. Maybe you can guide me set the level more effectively?

          Let me know if you have any other questions.

          Premshree
          --