devops columbus meetup kickoff - infrastructure as code

51
July 11, 2013 DevOps Columbus Meetup

Upload: michael-ducy

Post on 08-May-2015

461 views

Category:

Technology


0 download

DESCRIPTION

Slides from the DevOps Columbus Meetup Kickoff meeting.

TRANSCRIPT

Page 1: DevOps Columbus Meetup Kickoff - Infrastructure as Code

July 11, 2013

DevOps Columbus Meetup

Page 2: DevOps Columbus Meetup Kickoff - Infrastructure as Code

Agenda

• 5:30 – 6:00 – Meet, greet, and eat

• 6:00 – 6:15 – Welcome, introductions, and agenda

• 6:15 – 6:45 – Infrastructure as Code

• 6:45 – 7:00 – Meetup group logistics

• 7:00 – 7:30 – "Picks, Tips, and Protips" and then wrap-up.

Page 3: DevOps Columbus Meetup Kickoff - Infrastructure as Code

“We are at our most productive when we share our thinking. One night of crazy brain-storming over a few beers is more likely to produce more exciting results than 20 years’ solitary study in the lab.”–Professor Howard Trevor Jacobs, Descartes Prize Winner

Read more at redmonk.com - http://goo.gl/FEJyIhttp://redmonk.com/jgovernor/2004/12/15/the-pub-is-the-place-for-creativity-and-innovation/

Page 4: DevOps Columbus Meetup Kickoff - Infrastructure as Code

Who am I?

“Field Guy”

My agendaBootstrap MeetupsLearn moreShare experiences with people from diverse backgrounds

Introductions …~ 1m round the room brief intro, don’t be too shy

Page 5: DevOps Columbus Meetup Kickoff - Infrastructure as Code

Who am I?

• Linux Engineer

• Operations

• Performance and Capacity

• Software Consulting

• Cloud Architect

• Opscode

• Buckeye, Maroon

• @mfdii, [email protected]

Page 6: DevOps Columbus Meetup Kickoff - Infrastructure as Code

“Rules of Engagement”

3 Rules of DevOps Meetup

Page 7: DevOps Columbus Meetup Kickoff - Infrastructure as Code

1st Rule:

Talk about DevOps Meetup

“Rules of Engagement”

Page 8: DevOps Columbus Meetup Kickoff - Infrastructure as Code

Collaboration&

Community

“Rules of Engagement”

Page 9: DevOps Columbus Meetup Kickoff - Infrastructure as Code

2nd Rule:

TALK about DevOps Meetup

“Rules of Engagement”

Page 10: DevOps Columbus Meetup Kickoff - Infrastructure as Code

3rd Rule:

No Assholes

“Rules of Engagement”

Page 11: DevOps Columbus Meetup Kickoff - Infrastructure as Code

Collaborate and debateNO disrespect

“Rules of Engagement”

Page 12: DevOps Columbus Meetup Kickoff - Infrastructure as Code

“Rules of Engagement”

DevOps = Community

Page 13: DevOps Columbus Meetup Kickoff - Infrastructure as Code

DevOps

What is DevOps

Page 14: DevOps Columbus Meetup Kickoff - Infrastructure as Code

DevOps

Development + Operations

Page 15: DevOps Columbus Meetup Kickoff - Infrastructure as Code

DevOps = CAMS

•Culture

•Automation

•Measurement

•Sharing

Page 16: DevOps Columbus Meetup Kickoff - Infrastructure as Code

DevOps is not:

• A Job Description

• A marketing term

• A new product

• A problem

• A name for a team

• Is not just “Development + Operations”

Page 17: DevOps Columbus Meetup Kickoff - Infrastructure as Code

“Infrastructure As Code” 101

Page 18: DevOps Columbus Meetup Kickoff - Infrastructure as Code

Infrastructure IT is Complex

Page 19: DevOps Columbus Meetup Kickoff - Infrastructure as Code

Items of Manipulation (resources)

•Nodes

•Networking

•Files

•Directories

•Symlinks

•Mounts

•Routes

•Users

•Groups

•Packages

•Services

•Filesystems

Page 20: DevOps Columbus Meetup Kickoff - Infrastructure as Code

Application

See Node

Page 21: DevOps Columbus Meetup Kickoff - Infrastructure as Code

Application

Application Database

See Nodes

Page 22: DevOps Columbus Meetup Kickoff - Infrastructure as Code

Application

App Databases

See Nodes Grow

Page 23: DevOps Columbus Meetup Kickoff - Infrastructure as Code

App Servers

App Databases

See Nodes Grow

Page 24: DevOps Columbus Meetup Kickoff - Infrastructure as Code

App LB

App Servers

App Databases

See Nodes Grow

Page 25: DevOps Columbus Meetup Kickoff - Infrastructure as Code

App LBs

App Servers

App Databases

See Nodes Grow

Page 26: DevOps Columbus Meetup Kickoff - Infrastructure as Code

App LBs

App Servers

App DB Cache

App DBs

See Nodes Grow

Page 27: DevOps Columbus Meetup Kickoff - Infrastructure as Code

App LBs

App Servers

App DB Cache

App DBs

See a Topology

Page 28: DevOps Columbus Meetup Kickoff - Infrastructure as Code

Round Robin DNS

App Servers

App DB Cache

App DBs

Floating IP?

Yours is a snowflake

Page 29: DevOps Columbus Meetup Kickoff - Infrastructure as Code

App LBs

App Servers

NoSQL

DB slaves

Cache

DB Cache

DBs

Grows in complexity

Page 30: DevOps Columbus Meetup Kickoff - Infrastructure as Code

USA

EUR

AUS

Global domination

Page 31: DevOps Columbus Meetup Kickoff - Infrastructure as Code

USA

EUR

AUS

How can this be abstracted AND represented?

Page 32: DevOps Columbus Meetup Kickoff - Infrastructure as Code

Traditional Thinking Won’t Make the Grade …

Before discussing the future,

Let’s review the past.

More importantly why “traditional” enterprise technologies will not cut it.

Page 33: DevOps Columbus Meetup Kickoff - Infrastructure as Code

1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 20151980 1981 1982 1983 1984 1985 1986 1987 1988 1989

Virtual Nodes

Physical Hardware

Coded Businesses = Unprecedented IT Complexity

1980Mainframe

1990Client/Server

2000Datacenter

2010+Cloud

Scale x Complexity > Skills

Page 34: DevOps Columbus Meetup Kickoff - Infrastructure as Code

35

1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 20151980 1981 1982 1983 1984 1985 1986 1987 1988 1989

Virtual Nodes

Physical Hardware

Inflection Point Inspires … The coded business

Mainframe Client/Server Datacenter Future

Inflection point forces disruption.

Page 35: DevOps Columbus Meetup Kickoff - Infrastructure as Code

Maturity of “Infrastructure As Code”

1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015

Page 36: DevOps Columbus Meetup Kickoff - Infrastructure as Code

“In God we trust, all others bring DATA!!!” –W. Edwards Deming

http://radar.oreilly.com/2007/10/operations-is-a-competitive-ad.html

VS

Page 37: DevOps Columbus Meetup Kickoff - Infrastructure as Code

Patterns of the Coded Business

• Enables Continuous Change

• Enforces Consistency

• Provides a Common Coded Platform For Applications and Infrastructure

• Leverages Scarce Talent Through Reuse

• Transcends Organizational Boundaries

The Result – IT enables Business Agility and becomes a strategic advantage rather than a cost center.

Business Agility

Development Velocity and Consistency

Continuous Delivery

Infrastructure

Automation

Page 38: DevOps Columbus Meetup Kickoff - Infrastructure as Code

•A configuration management system (DSL)

•A library for configuration management

•A community, contributing to library and expertise

•A systems integration platform (API)

http://www.flickr.com/photos/asten/2159525309/sizes/l/

“Infrastructure As Code”

Page 39: DevOps Columbus Meetup Kickoff - Infrastructure as Code

package { "apache2":

ensure => latest

}

service { "apache2":

ensure => running,

require => Package["apache2"],

subscribe => File[httpdconf],

}

Puppet

Page 40: DevOps Columbus Meetup Kickoff - Infrastructure as Code

package "apache2" do

  package_name node[:apache][:package]

  action :install

end

template "/etc/www/configures-apache.conf" do

  notifies :restart, "service[apache2]”

end

service “apache2”

Chef

Page 41: DevOps Columbus Meetup Kickoff - Infrastructure as Code

Metaphor Attribution – Andrew Shafer, now of Rackspace

Dev Ops&

The Players

Page 42: DevOps Columbus Meetup Kickoff - Infrastructure as Code

• Little bit weird• Sits closer to the boss• Thinks too hard

Don’t hate the player …

Metaphor Attribution – Andrew Shafer, now of Rackspace

Meet Dev

Page 43: DevOps Columbus Meetup Kickoff - Infrastructure as Code

• Pulls levers & turns knobs

• Easily excited• Yells a lot in

emergenciesWhy you be hatin ? ! ?

Metaphor Attribution – Andrew Shafer, now of Rackspace

Meet Ops

Page 44: DevOps Columbus Meetup Kickoff - Infrastructure as Code

Traditional Process

Dev’s job is to add new features.

Ops’ job is to keep the site stable and fast

Page 45: DevOps Columbus Meetup Kickoff - Infrastructure as Code

Load Balancer

App Server

Database

Dev (shared) Dev - QA - UAT - Prod

Load Balancer

App Server App Server

Database

Load Balancer

App Server

Database

QA

Agility - Design vs Manufacturing

How ?

Page 46: DevOps Columbus Meetup Kickoff - Infrastructure as Code

Dev ProdQA

Goal = Increase Velocity

Agility - Design vs Manufacturing

Load Balancer

App Server

App Server

Database

Load Balancer

App Server

App Server

Database

Load Balancer

App Server

App Server

Database

What ?

Page 47: DevOps Columbus Meetup Kickoff - Infrastructure as Code

Step 1 – SCM and Developers

Application Devs

Infrastructure Devs

Software Configuration Management

(SCM)

Page 48: DevOps Columbus Meetup Kickoff - Infrastructure as Code

Step 2 – Introducing the Build Stage

Software Configuration Management

(SCM)

Build

Pulling

Tag

PayloadN

Payload3

Payload2

Payload1

Changes in SCM triggers builds and testsApplicatio

n Devs

Infrastructure Devs

Page 49: DevOps Columbus Meetup Kickoff - Infrastructure as Code

1

2….

Step 3 – “Infrastructure As Code” and the CD Process

Software Configuration Management

(SCM)

Build

Pulling

Tag

PayloadN

Payload3

Payload2

Payload1

Create Data (#)Upload Policies

Autodeploy to localhost

Request Portal

IAC

Autodeploy

Application Devs Infrastructure Devs

QA

DEV

…..

PROD

Promote

Promote

Latest Codebase and Build

1, 2, … N

…..

N

Builds

Update DEV

Page 50: DevOps Columbus Meetup Kickoff - Infrastructure as Code

Stathy Touloumis

[email protected]

Twitter | IRC | github:

stathyinc

Michael Ducy

[email protected]

Twitter | IRC | github:

mfdii

Page 51: DevOps Columbus Meetup Kickoff - Infrastructure as Code

Topic Brainstorming

•7:45 – 8:00 – Volunteers and Topics

•Frequency of meeting – 5th of every month?

•Solidify next few topics to cover

•Pick topic(s) and speaker(s) for the next meeting