Just Enough Devops

Follow along

  • mrf.github.io/just-enough-devops

About Me

  • Director of Engineering at Chapter Three

What is Devops?

"A developer with sysadmin tendencies that loves to write code for servers"

"The process of getting your code from your local computer to a server"

"An ethereal concept designed to prevent developers and sysadmins from throwing tickets back and forth at each other eternally"

A Brief History of Devops

1963

  • First "virtual machine" at MIT

1990

  • CVS initial release

1991

  • Continuous Integration proposed
  • Linux initial release

1993

  • NCSA HTTPd initial release
  • HTML initial release
  • Red Hat founded
  • Debian initial release

1994

  • Yours truly publishes his first website

1995

  • Apache initial release
  • MySQL initial release
  • PHP initial release
  • Java initial release
  • Javascript initial release
  • Netscape Navigator 2.0 adds FTP support

1996

  • CSS initial release

1997

  • Dreamweaver initial release

1999

  • "Extreme Programming Explained" published

2000

  • Subversion initial release
  • REST pattern defined

2001

  • Drupal initial release
  • Agile manifesto published

2004

  • Hudson initial release
  • Maven initial release
  • Ubuntu initial release

2005

  • Git initial release
  • Puppet initial release
  • Resurgence of virtual machine technology

2006

  • Sass initial release
  • AWS launch
  • Yours truly writes his first bash script

2007

  • Acquia founded
  • Yours truly gets saddled with his first dev server

2008

  • GitHub founded
  • LXC Containers initial release

2009

  • Oracle swallows up Sun and kills Hudson
  • Nodejs initial release
  • Chef initial release
  • Term devops is coined on Twitter #devopsdays

2010

  • Pantheon founded
  • Continuous Delivery popularized

2011

  • Hudson officially becomes Jenkins and two projects go separate ways
  • SaltStack initial release
  • Travis CI founded
  • Circle CI founded

2012

  • Grunt initial release
  • Ansible initial release
  • Composer initial release
  • Yours truly gets saddled with his first prod server

2013

  • Docker initial release

2014

  • Kubernetes initial release

2018

  • The year of the Linux desktop

The Framework

"Any step that provides no value to the end product gets cut."

Why Are We Here

Guaranteed current spending to avoid hypothetical future spending

Focusing on process rather than the people involved in it

Forcing developers to jump through hoops to get work deployed

Decreasing quality by shifting responsibility to machines

What Stacks Up?

FTP

Version Control

Basics

Git Flow

Pull request workflow

Continuous Integration

The promise of less bugs and less disruptive bugs

Testing

  • Unit Tests
  • Behavioral Tests
  • Visual Regressions

"Building" your site

  • Composer

"Building" your frontend

  • Locally vs Through CI

Citations

  • Wikipedia
  • https://www.safaribooksonline.com/library/view/jenkins-the-definitive/9781449311155/ch01s04.html
  • http://itrevolution.com/the-history-of-devops/
  • https://www.codeproject.com/Tips/859451/Benefits-of-Continuous-Integration