Release Engineering as More than a Part-time Pastime Dinah McNutt - - PowerPoint PPT Presentation

release engineering as more than a part time pastime
SMART_READER_LITE
LIVE PREVIEW

Release Engineering as More than a Part-time Pastime Dinah McNutt - - PowerPoint PPT Presentation

Release Engineering as More than a Part-time Pastime Dinah McNutt Google, Inc. mcnutt@google.com What does a Release Engineer Do? Writes Makefiles What does a Release Engineer Do? Writes Makefiles Yells at the developers What


slide-1
SLIDE 1

Release Engineering as More than a Part-time Pastime

Dinah McNutt Google, Inc. mcnutt@google.com

slide-2
SLIDE 2

What does a Release Engineer Do?

  • Writes Makefiles
slide-3
SLIDE 3

What does a Release Engineer Do?

  • Writes Makefiles
  • Yells at the developers
slide-4
SLIDE 4

What does a Release Engineer Do?

  • Writes Makefiles
  • Yells at the developers
  • Maintains the source code

repository

slide-5
SLIDE 5

What does a Release Engineer Do?

  • Writes Makefiles
  • Yells at the developers
  • Maintains the source code

repository

  • Makes Jenkins work
slide-6
SLIDE 6

What does a Release Engineer Do?

  • Writes Makefiles
  • Yells at the developers
  • Maintains the source code

repository

  • Makes Jenkins work
  • Understands RPMs
slide-7
SLIDE 7

What does a Release Engineer Do?

  • Writes Makefiles
  • Yells at the developers
  • Maintains the source code

repository

  • Makes Jenkins work
  • Understands RPMs
  • Yells at the SREs
slide-8
SLIDE 8

What does a Release Engineer Do?

“Accelerates the path from development to operations”

slide-9
SLIDE 9

Steps in Release Process

Check out code Compile Test Release

slide-10
SLIDE 10

The Real Process

Check out code Compile Unit Tests Deployment Package System Tests Canaries System Tests

Bug Fixes

slide-11
SLIDE 11

The Real, Real Process

Check out code Compile Unit Tests Deployment Package System Tests Canaries System Tests

Bug Fixes

Build Artifacts Reports Alerts/Monitoring

slide-12
SLIDE 12

“Release Engineering from the Beginning”

slide-13
SLIDE 13

Release Engineering from the Beginning

  • Cheaper to put good practices in place early
  • Releng, developers, testers and SRES work together
  • Releng must understand the intent of how the code should

be built and deployed (and then help define the processes)

  • No “Build and Pray”
slide-14
SLIDE 14

Releng Building Blocks

  • Source Code Management
slide-15
SLIDE 15

Releng Building Blocks

  • Source Code Management
  • Build Configuration Files
slide-16
SLIDE 16

Releng Building Blocks

  • Source Code Management
  • Build Configuration Files
  • Automated Build System
slide-17
SLIDE 17

Releng Building Blocks

  • Source Code Management
  • Build Configuration Files
  • Automated Build System
  • Build Identification Mechanism

○Unique build strings ○Ability to identify when/where/how a binary was built

slide-18
SLIDE 18

Releng Building Blocks

  • Source Code Management
  • Build Configuration Files
  • Automated Build System
  • Build Identification Mechanism
  • Packaging
slide-19
SLIDE 19

Releng Building Blocks

  • Source Code Management
  • Build Configuration Files
  • Automated Build System
  • Build Identification Mechanism
  • Packaging
  • Deployment
slide-20
SLIDE 20

Releng Building Blocks

  • Source Code Management
  • Build Configuration Files
  • Automated Build System
  • Build Identification Mechanism
  • Packaging
  • Deployment
  • Reporting/Auditing
slide-21
SLIDE 21

Releng Building Blocks

  • Source Code Management
  • Build Configuration Files
  • Automated Build System
  • Build Identification Mechanism
  • Packaging
  • Deployment
  • Reporting/Auditing
  • Best Practices
slide-22
SLIDE 22

End Results

  • Continuous delivery of new products
  • Early bug identification
  • Repeatability
  • Enforcement of policy and procedures
  • Hermetic build process
slide-23
SLIDE 23

Hermetic (Dictionary.com)

  • 1. made airtight by fusion or sealing.
  • 2. not affected by outward influence or power;

isolated.

  • 3. of, pertaining to, or characteristic of occult

science, especially alchemy.

slide-24
SLIDE 24

So what does a

release engineer do????

slide-25
SLIDE 25

Disciplines within Releng

  • Automation and Execution
  • Consultation and support
  • Source code repository management
  • Tools development
  • Audit compliance
  • Metrics
  • Best Practices
  • Deployment
slide-26
SLIDE 26

Skills and tools - then

2004

  • make, ant
  • cvs, svn
  • cruisecontrol, home

grown scripts

  • Machine-oriented

build/deployment

  • Scripting
  • Sysadmin skills
slide-27
SLIDE 27

Skills and tools - then and now

2004

  • make, ant
  • cvs, svn
  • cruisecontrol, home

grown scripts

  • Machine-oriented

build/deployment

  • Scripting
  • Sysadmin skills

2014

  • maven
  • perforce and git
  • Jenkins, Chef,

Puppet, bamboo, buildbot, teamcity

  • Container technology
  • Object-oriented

programming

  • Sysadmin skills
slide-28
SLIDE 28

The Future of Releng

  • Industry-standards for:

○ job ladders and job descriptions ○best practices ○metrics ○compliance

  • College curriculums
  • More solutions from vendors

○end-to-end

slide-29
SLIDE 29

And of course - conferences!

  • Usenix Release Engineering Summit (URES) 2014

○East - June 20, Philadelphia ○West - November 10, Seattle

  • IEEE RELENG 2014

○April - Mountain View, CA

  • Flowcon 2014

○September 3-4, San Francisco