Dev opsdays scriptcode

22
Lee Thompson @stagr_lee [[ !${me} -eq ${you} ]] && { $# Your dysfunctional $# relationship with script $# code } Sunday, May 4, 14

description

DevOps Days Austin 2013. You have bash code. Is it modular? Is it tested? You may have dysfunctional relationship with Bash

Transcript of Dev opsdays scriptcode

Page 1: Dev opsdays scriptcode

Lee Thompson@stagr_lee

[[ !${me} -eq ${you} ]] && { $# Your dysfunctional $# relationship with script $# code}

Sunday, May 4, 14

Page 2: Dev opsdays scriptcode

Lee Thompson@stagr_lee

•eBusiness Technology Consultant

•CTO MorphLabs

•CTO Travel/Transportation Products, Hewlett Packard

•Chief Technologist, E*TRADE Financial

Sunday, May 4, 14

Page 3: Dev opsdays scriptcode

• 10 years industrial automation/control

• Dev, Ops, Systems and Architecture roles at E*TRADE

• Technology Executive -- still code

• DevOps assessments, training, and toolchain implementations for clients

Experience

Sunday, May 4, 14

Page 4: Dev opsdays scriptcode

Frequent Offender

• Dev2Ops blog

• Co-Author - Fully Provisioned Whitepaper

• Announced DevOpsToolchain at Velocity

• 2 Velocity presentations on DevOps

• Numerous DevOpsDays panels, organization

Sunday, May 4, 14

Page 5: Dev opsdays scriptcode

DevOps ToolchainReleaseControl

Orchestration

Dispatcher

ProvisioningDeploy

Config management

OS boot/install

Artifact repository

Build

CI Server Issue tracker

SCM Repository

ModelAsset

inventory

Host naming

Identity

CMDB Monitoring

Events

Trending Reporting

Trending

Workflows

Resources

Topology

Configuration

Code

Sources

Scheduler

Sunday, May 4, 14

Page 6: Dev opsdays scriptcode

Sunday, May 4, 14

Page 7: Dev opsdays scriptcode

SDP strategy

• Most of us building something like SDP

• With typical continuous improvement budget, this can take years in established companies :(

• Large jumpstart efforts getting funded in some firms - otherwise use MVP

Sunday, May 4, 14

Page 8: Dev opsdays scriptcode

Quick Syntax Utilization Survey

Sunday, May 4, 14

Page 9: Dev opsdays scriptcode

Syntax Proficiency Survey

• Literally - “well advanced in an art, occupation, or branch of knowledge”

• Lee’s definition - ability to understand, test, correct and release someone else’s code

Sunday, May 4, 14

Page 10: Dev opsdays scriptcode

Systemic Viewpoint

• Does your org understand convergence, imperative vs declarative, topographic sort, etc.

• If not, do you have the budget and foresight to train....

• If not?

Sunday, May 4, 14

Page 11: Dev opsdays scriptcode

What are we doing?

Sunday, May 4, 14

Page 12: Dev opsdays scriptcode

What are we doing?

Sunday, May 4, 14

Page 13: Dev opsdays scriptcode

What are we doing?

Sunday, May 4, 14

Page 14: Dev opsdays scriptcode

What are we doing?

Sunday, May 4, 14

Page 15: Dev opsdays scriptcode

This?

Sunday, May 4, 14

Page 16: Dev opsdays scriptcode

or another wall?

• A complex DevOps solution understood only by an underfunded skeleton crew can make the DevOps problem worse

Sunday, May 4, 14

Page 17: Dev opsdays scriptcode

Architects and Complexity

• Good architecture should remove complexity

• Doesn’t always happen that way

Sunday, May 4, 14

Page 18: Dev opsdays scriptcode

Bash

• Everyone knows it

• Not Object Oriented

• Typically untested

• Typically poor modularity

Sunday, May 4, 14

Page 19: Dev opsdays scriptcode

Rerun

Sunday, May 4, 14

Page 20: Dev opsdays scriptcode

Compatible!

• Puppet

• Chef

• Rundeck

• Ansible

• Salt Stack

• And many more!

Sunday, May 4, 14

Page 21: Dev opsdays scriptcode

Powershell• Rundeck and Powershell very similar tab

browsability on the command line

• Lots of DevOps project on Windows!

• Modules very similar

• Powershell is verb/noun. I typically do noun/verb, but whatever...

• Would like to see unit test semantics in Powershell.

Sunday, May 4, 14

Page 22: Dev opsdays scriptcode

To the break...• Nothing wrong with well tested imperative

code, convergence does scale better though

• Upside is better participation across organizational boundaries

• Easy to switch between Linux/Windows

• People are part of the solution

• MVP

Sunday, May 4, 14