choose your own adventure 3: the final countdown/return of the rainbows

Post on 07-May-2015

4.841 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

The final Choose Your Own Adventure presentation deck, from Velocity 2012.

TRANSCRIPT

Adam Jacob Chief Customer Officer

Twitter: @adamhjk, Email: adam@opscode.com

Friday, June 29, 12

• Chief Customer Officer @ Opscode

• Systems Administrator

• Lots of Mergers and Acquisitions

• Consultant

http://www.flickr.com/photos/anotherphotograph/2100904507/sizes/o/

Friday, June 29, 12

http://www.flickr.com/photos/timyates/2854357446/sizes/l/

Friday, June 29, 12

• Developers?

http://www.flickr.com/photos/timyates/2854357446/sizes/l/

Friday, June 29, 12

• Developers?

• Systems Administrators?

http://www.flickr.com/photos/timyates/2854357446/sizes/l/

Friday, June 29, 12

• Developers?

• Systems Administrators?

• DevOps?

http://www.flickr.com/photos/timyates/2854357446/sizes/l/

Friday, June 29, 12

• Developers?

• Systems Administrators?

• DevOps?

• “Business” People?

http://www.flickr.com/photos/timyates/2854357446/sizes/l/

Friday, June 29, 12

• Developers?

• Systems Administrators?

• DevOps?

• “Business” People?

• Executives?

http://www.flickr.com/photos/timyates/2854357446/sizes/l/

Friday, June 29, 12

What do you want to talk about?

Friday, June 29, 12

Managing Operations No Asshole Rule

Sales and Marketing Systems Administrators are Polyglots

Dangers of Automation Making Money with Open Source

You Must Love Your Editor Convergence, Idempotence, Promise Theory

How Websites Fail DevOps

Fund Raising Random Advice

Make your choice...

Friday, June 29, 12

ManagingOperations

Friday, June 29, 12

Professional Road Blockers

Friday, June 29, 12

Reason:Responsibilities are all out of

whack.

Friday, June 29, 12

Operations is responsible for two

things

Friday, June 29, 12

System Availability

Friday, June 29, 12

Efficiency

Friday, June 29, 12

Operations should

• Set standards

• Troubleshoot

• Enable everyone

• Be the fire department

Friday, June 29, 12

Push responsibility to the edges

Developers must be on call

Systems Administrators should be escalated to

Friday, June 29, 12

Drill

Friday, June 29, 12

Metrics tie to $$

Friday, June 29, 12

When you say no...

Friday, June 29, 12

When you say no...

You should be saying “I’ll say yes if you take responsibility”

Friday, June 29, 12

When you say no...

You should be saying “I’ll say yes if you take responsibility”

Managers, Executives - you have to live this

Friday, June 29, 12

Managing Operations No Asshole Rule

Sales and Marketing Systems Administrators are Polyglots

Dangers of Automation Making Money with Open Source

You Must Love Your Editor Convergence, Idempotence, Promise Theory

How Websites Fail DevOps

Fund Raising Random Advice

Make your choice...

Friday, June 29, 12

No Asshole Rule

Friday, June 29, 12

http://www.flickr.com/photos/91018475@N00/14998279/sizes/l/

Friday, June 29, 12

You’re an asshole if:

http://www.flickr.com/photos/91018475@N00/14998279/sizes/l/

• After encountering you, people feel oppressed, humiliated, or otherwise worse about themselves

• You target people less powerful than you

Friday, June 29, 12

Chronic Assholes

http://www.flickr.com/photos/swanksalot/4802111386/sizes/l/

Friday, June 29, 12

Chronic Assholes

• You can’t stop

http://www.flickr.com/photos/swanksalot/4802111386/sizes/l/

Friday, June 29, 12

Chronic Assholes

• You can’t stop

• It means you are incompetent at your job

http://www.flickr.com/photos/swanksalot/4802111386/sizes/l/

Friday, June 29, 12

Chronic Assholes

• You can’t stop

• It means you are incompetent at your job

• Doesn’t matter how smart you are

http://www.flickr.com/photos/swanksalot/4802111386/sizes/l/

Friday, June 29, 12

Bad is stronger than good

http://www.flickr.com/photos/furryscalyman/523123579/sizes/l/

http://liberalorder.typepad.com/the_liberal_order/files/bad_apples_rob.pdf

Friday, June 29, 12

Bad is stronger than good

• Positive interactions must outnumber negative ones 5:1

http://www.flickr.com/photos/furryscalyman/523123579/sizes/l/

http://liberalorder.typepad.com/the_liberal_order/files/bad_apples_rob.pdf

Friday, June 29, 12

Bad is stronger than good

• Positive interactions must outnumber negative ones 5:1

• Bad interactions have stronger, more pervasive, and longer lasting effects

http://www.flickr.com/photos/furryscalyman/523123579/sizes/l/

http://liberalorder.typepad.com/the_liberal_order/files/bad_apples_rob.pdf

Friday, June 29, 12

Bad is stronger than good

• Positive interactions must outnumber negative ones 5:1

• Bad interactions have stronger, more pervasive, and longer lasting effects

http://www.flickr.com/photos/furryscalyman/523123579/sizes/l/

http://liberalorder.typepad.com/the_liberal_order/files/bad_apples_rob.pdf

Over 1/2 of those who experienced incivility at work reported they lost time worrying about the

incident and its consequences

Friday, June 29, 12

Bad Apples Spoil the Barrel

http://www.flickr.com/photos/merixon/3823883988/sizes/l/

http://liberalorder.typepad.com/the_liberal_order/files/bad_apples_rob.pdf

Friday, June 29, 12

Bad Apples Spoil the Barrel

http://www.flickr.com/photos/merixon/3823883988/sizes/l/

Withholders of effort

http://liberalorder.typepad.com/the_liberal_order/files/bad_apples_rob.pdf

Friday, June 29, 12

Bad Apples Spoil the Barrel

http://www.flickr.com/photos/merixon/3823883988/sizes/l/

Withholders of effort

http://liberalorder.typepad.com/the_liberal_order/files/bad_apples_rob.pdf

Affectively negative

Friday, June 29, 12

Bad Apples Spoil the Barrel

http://www.flickr.com/photos/merixon/3823883988/sizes/l/

Withholders of effort

http://liberalorder.typepad.com/the_liberal_order/files/bad_apples_rob.pdf

Affectively negative

Interpersonal deviants

Friday, June 29, 12

Bad Apples Spoil the Barrel

http://www.flickr.com/photos/merixon/3823883988/sizes/l/

Withholders of effort

http://liberalorder.typepad.com/the_liberal_order/files/bad_apples_rob.pdf

Friday, June 29, 12

Bad Apples Spoil the Barrel

• Intentionally dodge their responsibilities to the group and free ride off others

http://www.flickr.com/photos/merixon/3823883988/sizes/l/

Withholders of effort

http://liberalorder.typepad.com/the_liberal_order/files/bad_apples_rob.pdf

Friday, June 29, 12

Bad Apples Spoil the Barrel

• Intentionally dodge their responsibilities to the group and free ride off others

• Shirking (economists)

http://www.flickr.com/photos/merixon/3823883988/sizes/l/

Withholders of effort

http://liberalorder.typepad.com/the_liberal_order/files/bad_apples_rob.pdf

Friday, June 29, 12

Bad Apples Spoil the Barrel

• Intentionally dodge their responsibilities to the group and free ride off others

• Shirking (economists)

• Free Riding (sociologists)

http://www.flickr.com/photos/merixon/3823883988/sizes/l/

Withholders of effort

http://liberalorder.typepad.com/the_liberal_order/files/bad_apples_rob.pdf

Friday, June 29, 12

Bad Apples Spoil the Barrel

• Intentionally dodge their responsibilities to the group and free ride off others

• Shirking (economists)

• Free Riding (sociologists)

• Social Loafing (psychologists)

http://www.flickr.com/photos/merixon/3823883988/sizes/l/

Withholders of effort

http://liberalorder.typepad.com/the_liberal_order/files/bad_apples_rob.pdf

Friday, June 29, 12

Bad Apples Spoil the Barrel

• Intentionally dodge their responsibilities to the group and free ride off others

• Shirking (economists)

• Free Riding (sociologists)

• Social Loafing (psychologists)

• Being Lazy (everyone else)http://www.flickr.com/photos/merixon/3823883988/sizes/l/

Withholders of effort

http://liberalorder.typepad.com/the_liberal_order/files/bad_apples_rob.pdf

Friday, June 29, 12

Bad Apples Spoil the Barrel

http://www.flickr.com/photos/merixon/3823883988/sizes/l/

http://liberalorder.typepad.com/the_liberal_order/files/bad_apples_rob.pdf

Affectively negative

Friday, June 29, 12

Bad Apples Spoil the Barrel

• Continually expresses a negative mood or attitude.

http://www.flickr.com/photos/merixon/3823883988/sizes/l/

http://liberalorder.typepad.com/the_liberal_order/files/bad_apples_rob.pdf

Affectively negative

Friday, June 29, 12

Bad Apples Spoil the Barrel

• Continually expresses a negative mood or attitude.

• Pessimism

http://www.flickr.com/photos/merixon/3823883988/sizes/l/

http://liberalorder.typepad.com/the_liberal_order/files/bad_apples_rob.pdf

Affectively negative

Friday, June 29, 12

Bad Apples Spoil the Barrel

• Continually expresses a negative mood or attitude.

• Pessimism

• Anxiety

http://www.flickr.com/photos/merixon/3823883988/sizes/l/

http://liberalorder.typepad.com/the_liberal_order/files/bad_apples_rob.pdf

Affectively negative

Friday, June 29, 12

Bad Apples Spoil the Barrel

• Continually expresses a negative mood or attitude.

• Pessimism

• Anxiety

• Insecurity

http://www.flickr.com/photos/merixon/3823883988/sizes/l/

http://liberalorder.typepad.com/the_liberal_order/files/bad_apples_rob.pdf

Affectively negative

Friday, June 29, 12

Bad Apples Spoil the Barrel

• Continually expresses a negative mood or attitude.

• Pessimism

• Anxiety

• Insecurity

• Irritationhttp://www.flickr.com/photos/merixon/3823883988/sizes/l/

http://liberalorder.typepad.com/the_liberal_order/files/bad_apples_rob.pdf

Affectively negative

Friday, June 29, 12

Bad Apples Spoil the Barrel

http://www.flickr.com/photos/merixon/3823883988/sizes/l/

http://liberalorder.typepad.com/the_liberal_order/files/bad_apples_rob.pdf

Friday, June 29, 12

Bad Apples Spoil the Barrel

http://www.flickr.com/photos/merixon/3823883988/sizes/l/

http://liberalorder.typepad.com/the_liberal_order/files/bad_apples_rob.pdf

Interpersonal deviants

Friday, June 29, 12

Bad Apples Spoil the Barrel

• People who violate interpersonal norms of respect

http://www.flickr.com/photos/merixon/3823883988/sizes/l/

http://liberalorder.typepad.com/the_liberal_order/files/bad_apples_rob.pdf

Interpersonal deviants

Friday, June 29, 12

Bad Apples Spoil the Barrel

• People who violate interpersonal norms of respect

• Making fun of someone

http://www.flickr.com/photos/merixon/3823883988/sizes/l/

http://liberalorder.typepad.com/the_liberal_order/files/bad_apples_rob.pdf

Interpersonal deviants

Friday, June 29, 12

Bad Apples Spoil the Barrel

• People who violate interpersonal norms of respect

• Making fun of someone

• Inappropriate ethnic, religious or sexist remarks

http://www.flickr.com/photos/merixon/3823883988/sizes/l/

http://liberalorder.typepad.com/the_liberal_order/files/bad_apples_rob.pdf

Interpersonal deviants

Friday, June 29, 12

Bad Apples Spoil the Barrel

• People who violate interpersonal norms of respect

• Making fun of someone

• Inappropriate ethnic, religious or sexist remarks

• Public embarrasment

http://www.flickr.com/photos/merixon/3823883988/sizes/l/

http://liberalorder.typepad.com/the_liberal_order/files/bad_apples_rob.pdf

Interpersonal deviants

Friday, June 29, 12

We celebrate smart bastards

Friday, June 29, 12

We celebrate smart bastards

• BOFH

Friday, June 29, 12

We celebrate smart bastards

• BOFH

• ASCII Dongs

Friday, June 29, 12

We celebrate smart bastards

• BOFH

• ASCII Dongs

• X is a piece of crap because of Y

Friday, June 29, 12

We celebrate smart bastards

• BOFH

• ASCII Dongs

• X is a piece of crap because of Y

• Z is an idiot because they built X in Y way

Friday, June 29, 12

We celebrate smart bastards

• BOFH

• ASCII Dongs

• X is a piece of crap because of Y

• Z is an idiot because they built X in Y way

• Twitter #fail

Friday, June 29, 12

We undermine the entire industry

http://www.flickr.com/photos/rodimuspower/3994291430/sizes/z/

Friday, June 29, 12

We undermine the entire industry

• Industry wide this creates an enormous inefficiency

http://www.flickr.com/photos/rodimuspower/3994291430/sizes/z/

Friday, June 29, 12

We undermine the entire industry

• Industry wide this creates an enormous inefficiency

• Hampers our competitiveness

http://www.flickr.com/photos/rodimuspower/3994291430/sizes/z/

Friday, June 29, 12

We undermine the entire industry

• Industry wide this creates an enormous inefficiency

• Hampers our competitiveness

• Damages our open source communities

http://www.flickr.com/photos/rodimuspower/3994291430/sizes/z/

Friday, June 29, 12

• Lead with questions, not with statements

• Understand the effort and time others have invested

• Avoid the passive-aggressive snark

http://www.flickr.com/photos/aloha75/4753674243/sizes/l/in/photostream/

Friday, June 29, 12

http://www.flickr.com/photos/bebouchard/482510614/sizes/l/in/photostream/

Don’t be an assholeAssholes are incompetent - let’s shun them

Friday, June 29, 12

Managing Operations No Asshole Rule

Sales and Marketing Systems Administrators are Polyglots

Dangers of Automation Making Money with Open Source

You Must Love Your Editor Convergence, Idempotence, Promise Theory

How Websites Fail DevOps

Fund Raising Random Advice

Make your choice...

Friday, June 29, 12

Sales and Marketing

Friday, June 29, 12

• Runs “Campaigns” to bring “Leads”

• Does “Lead Nurturing” to help convert to qualified “Prospects”

MarketingBringsLeads

http://www.flickr.com/photos/aroberts/1669997859/sizes/o/in/photostream/

Friday, June 29, 12

The Funnel (Pipeline)

• Leads get converted to Prospects through Qualification

• Some percentage of Prospects (usually 1/3 to 1/4) convert

Your Sales Guy Lives Here

Friday, June 29, 12

In one slide

http://www.flickr.com/photos/kupkup/499566518/

http://www.flickr.com/photos/chiaralily/3912278390/

Friday, June 29, 12

In one slide

http://www.flickr.com/photos/kupkup/499566518/

http://www.flickr.com/photos/chiaralily/3912278390/

Friday, June 29, 12

In one slide

$http://www.flickr.com/photos/kupkup/499566518/

http://www.flickr.com/photos/chiaralily/3912278390/

Friday, June 29, 12

In one slide

$http://www.flickr.com/photos/kupkup/499566518/

http://www.flickr.com/photos/chiaralily/3912278390/

Friday, June 29, 12

In one slide

$http://www.flickr.com/photos/kupkup/499566518/

http://www.flickr.com/photos/chiaralily/3912278390/

Friday, June 29, 12

In one slide

$http://www.flickr.com/photos/kupkup/499566518/

http://www.flickr.com/photos/chiaralily/3912278390/

Friday, June 29, 12

In one slide

$http://www.flickr.com/photos/kupkup/499566518/

http://www.flickr.com/photos/chiaralily/3912278390/

Friday, June 29, 12

In one slide

$http://www.flickr.com/photos/kupkup/499566518/

http://www.flickr.com/photos/chiaralily/3912278390/

Friday, June 29, 12

$

In one slide

http://www.flickr.com/photos/kupkup/499566518/

http://www.flickr.com/photos/chiaralily/3912278390/

Friday, June 29, 12

Managing Operations No Asshole Rule

Sales and Marketing Systems Administrators are Polyglots

Dangers of Automation Making Money with Open Source

You Must Love Your Editor Convergence, Idempotence, Promise Theory

How Websites Fail DevOps

Fund Raising Random Advice

Make your choice...

Friday, June 29, 12

Sysadmins are Polyglots

http://www.flickr.com/photos/psd/4122468063/sizes/o/in/photostream/

Friday, June 29, 12

Not so fast, punk!

Friday, June 29, 12

Friday, June 29, 12

Friday, June 29, 12

Everyone here is a software developer

Friday, June 29, 12

• Strings, Arrays, Hashes

• Whipitupitude

• Manipulexity

• Regular Expressions

• Objects

• Code Re-Use

http://www.flickr.com/photos/reidrac/2952137714/sizes/l/in/photostream/

Friday, June 29, 12

• REPLs are awesome

• I dislike contraints

• Mostly everything-is-an-object is goodFriday, June 29, 12

• First class functions / Closures are awesome

• Everything is an object

• Metaprogramming

• Monkey-patching leads to trouble

http://www.flickr.com/photos/pswansen/41832591/sizes/o/in/photostream/

Friday, June 29, 12

• Tracking state doesn’t require objects

• List comprehensions are amazing

• Multi-methods

• Built-in process supervision

• It’s *fun* to think functionally

• Actor concurrency makes you feel like a magic yogi

• Syntax doesn’t matter if it fits the needFriday, June 29, 12

( )Clojure

• Less syntax is better

• Data is Code

• Single process concurrency

• Shell scripting to lisp is easy

• Systems Administrators should learn Lisp first

Friday, June 29, 12

• You can speak cogently with more of your peers

• You can debug the applications you run

• Learning gets easier

• You start caring exclusively about fit

http://www.flickr.com/photos/freelancersunion/3501435073/sizes/l/in/photostream/

Friday, June 29, 12

Managing Operations No Asshole Rule

Sales and Marketing Systems Administrators are Polyglots

Dangers of Automation Making Money with Open Source

You Must Love Your Editor Convergence, Idempotence, Promise Theory

How Websites Fail DevOps

Fund Raising Random Advice

Make your choice...

Friday, June 29, 12

Dangers of automation

http://www.flickr.com/photos/jonathangill/5338645910/

Friday, June 29, 12

Almost always caused by focusing in the

wrong place

http://www.flickr.com/photos/liberato/133570414/sizes/l/in/photostream/

Friday, June 29, 12

5 common dangers

• Moving faster than the business can handle

• Failing to build in operability

• Tautologies

• Failure to articulate the business need

• Loving the Unicorn

Friday, June 29, 12

Moving faster than the

business can handle

Friday, June 29, 12

Technology moves faster than business

cultureFriday, June 29, 12

Automation is no

shortcut to cultural change

http://www.flickr.com/photos/fotogezi/4642668435/sizes/z/in/photostream/

Friday, June 29, 12

Failing to build in operability

Friday, June 29, 12

Failing to build in operability

Friday, June 29, 12

Failing to build in operability

A

Friday, June 29, 12

Failing to build in operability

I’m Sleepy!

A

Friday, June 29, 12

Failing to build in operability

I’m Sleepy!

A

Friday, June 29, 12

Failing to build in operability

I’m Sleepy!

You do it!A

Friday, June 29, 12

Failing to build in operability

I’m Sleepy!

You do it!

Do what?

A

Friday, June 29, 12

Failing to build in operability

I’m Sleepy!

You do it!

Do what?

It!

A

Friday, June 29, 12

Failing to build in operability

I’m Sleepy!

You do it!

Do what?

It!

Um,Ok.

A

Friday, June 29, 12

Failing to build in operability

I’m Sleepy!

You do it!

Do what?

It!

Um,Ok.

AA

Friday, June 29, 12

Failing to build in operability

I’m Sleepy!

You do it!

Do what?

It!

Um,Ok.

AAHow do I use this thing?

Friday, June 29, 12

Failing to build in operability

I’m Sleepy!

You do it!

Do what?

It!

Um,Ok.

AAHow do I use this thing?

Friday, June 29, 12

Failing to build in operability

I’m Sleepy!

You do it!

Do what?

It!

Um,Ok.

AWTF?!

AHow do I use this thing?

Friday, June 29, 12

Failing to build in operability

I’m Sleepy!

You do it!

Do what?

It!

Um,Ok.

AWTF?!

AHow do I use this thing?

Halp!

Friday, June 29, 12

Failing to build in operability

I’m Sleepy!

You do it!

Do what?

It!

Um,Ok.

A

Fine, I’ll fix it

WTF?!A

How do I use this thing?

Halp!

Friday, June 29, 12

Failing to build in operability

I’m Sleepy!

You do it!

Do what?

It!

Um,Ok.

A

Fine, I’ll fix it

WTF?!A

How do I use this thing?

Halp!

Friday, June 29, 12

http://www.flickr.com/photos/quinnanya/5893333070/sizes/l/in/photostream/

Tautologies are bad!

Usually.

Friday, June 29, 12

Friday, June 29, 12

Failure to articulate the business need

What is the $ value of your automation?

http://www.flickr.com/photos/dreamagicjp/2226097076/sizes/l/in/photostream/

Friday, June 29, 12

Loving the Unicorn

Friday, June 29, 12

Managing Operations No Asshole Rule

Sales and Marketing Systems Administrators are Polyglots

Dangers of Automation Making Money with Open Source

You Must Love Your Editor Convergence, Idempotence, Promise Theory

How Websites Fail DevOps

Fund Raising Random Advice

Make your choice...

Friday, June 29, 12

Making money with Open Source

http://www.flickr.com/photos/55919472@N00/1478647249/sizes/l/in/photostream/

Friday, June 29, 12

The value of Open Source to a Business

• Accelerate development

• Empower Users

• Encourage Proliferation

http://www.flickr.com/photos/dburka/2967863568/sizes/l/in/photostream/

Friday, June 29, 12

Accelerated product development

• Core Features

• Bug Fixes

• Evangelism

• To gain maximum value, you must open source early

http://www.flickr.com/photos/pulpolux/215165567/sizes/l/in/photostream/

Friday, June 29, 12

Empowered Users

• Willing to sweat to make it work

• Means you can ship earlier

• Become stronger advocates, because they feel a sense of ownership

http://www.flickr.com/photos/thomashawk/5327432805/sizes/l/in/photostream/

Friday, June 29, 12

Encourage Proliferation

• Strong Communities

• Your brand and IP become tied to the individuals who join

• You must be peers, or they smell a rat

http://www.flickr.com/photos/emilyrides/5858397465/sizes/o/in/photostream/

Friday, June 29, 12

Classes of individuals

1. Builders

• Participate because it is early

• Unfinished is sexy

• Add new features, fix bugs

• Eventually move on to new projects, become Evangelists

• Rarely pay you money, they pay sweat

Friday, June 29, 12

Classes of individuals

2. Early Adopters

• Primarily users

• Must be complete enough to solve one of their use cases (but not all!)

• Will fix bugs and improve things

• May be willing to pay you eventually

Friday, June 29, 12

Classes of individuals3. Evangelists

• Passionate advocates

• Product must be complete enough to solve a complicated vertical

• May fix things, more likely to just point them out

• Willing to advocate consumers paying for your product

• Have many motivations Friday, June 29, 12

Classes of individuals

4. Consumers

• Users of the software

• Bugs are bugs, not new opportunities

• Expect thought out solutions

• Need support and training

• Couldn’t really use it without paying you,

Friday, June 29, 12

Friday, June 29, 12

• Support

Friday, June 29, 12

• Support• Open Core

Friday, June 29, 12

• Support• Open Core• Open Platform

Friday, June 29, 12

Support

http://www.flickr.com/photos/thurm/2316152263/sizes/l/in/photostream/

Friday, June 29, 12

Support

• Can be high value if the coverage is broad

• Requires discipline to scale

• Has a very straightforward social contract

Friday, June 29, 12

Open Core

Friday, June 29, 12

Open Core

• Has a very complex social contract

• People tend to smell rats

• Not much difference from saying there is a “free” as in beer version

Friday, June 29, 12

Open Platforms

Friday, June 29, 12

Open Platforms

• Complex social contract

• Must allow multiple businesses to flourish on the platform

• Peerage must be deep

• Might accidentally create a colonial economy

http://www.flickr.com/photos/johntolson/4608455941/sizes/z/in/photostream/

Friday, June 29, 12

Managing Operations No Asshole Rule

Sales and Marketing Systems Administrators are Polyglots

Dangers of Automation Making Money with Open Source

You Must Love Your Editor Convergence, Idempotence, Promise Theory

How Websites Fail DevOps

Fund Raising Random Advice

Make your choice...

Friday, June 29, 12

Friday, June 29, 12

Systems Administrators make spot edits

Friday, June 29, 12

We don’t love our editors - we use them

(barely)

;(

Friday, June 29, 12

Professional programmers tend to

love their editors

<3Friday, June 29, 12

Infrastructure as Code

Friday, June 29, 12

Do you want to love your editor?

Friday, June 29, 12

Learn to type• 50 WPM minimum

Top Speed: 98 mph Top Speed: 211 mph

At least as good as a Yugo

Friday, June 29, 12

Line NumbersINFO: *** Chef 0.10.10 ***INFO: Run List is [recipe[apache], recipe[motd]]INFO: Run List expands to [apache, motd]INFO: Starting Chef Run for adam-training.novalocalINFO: Running start handlersINFO: Start handlers complete.INFO: Loading cookbooks [apache, motd]INFO: Storing updated cookbooks/motd/recipes/default.rb in the cache.INFO: Storing updated cookbooks/motd/metadata.rb in the cache.INFO: Storing updated cookbooks/motd/README.md in the cache.INFO: Processing package[apache2] action install (apache::default line 10)INFO: Processing service[apache2] action start (apache::default line 14)INFO: Processing service[apache2] action enable (apache::default line 14)INFO: Processing cookbook_file[/var/www/index.html] action create (apache::default line 18)INFO: Processing template[/etc/motd.tail] action create (motd::default line 10)ERROR: template[/etc/motd.tail] (motd::default line 10) has had an errorERROR: template[/etc/motd.tail] (/var/chef/cache/cookbooks/motd/recipes/default.rb:10:in `from_file') had an error:

Chef::Mixin::Template::TemplateError (undefined method `[]' for nil:NilClass) on line #2:

1: This server is property of <%= node['company'] %> 2: <% if node['pci']['in_scope'] -%> 3: This server is in-scope for PCI compliance 4: <% end -%>

(erubis):2:in `block in evaluate'

Friday, June 29, 12

Line Numbers

Friday, June 29, 12

Line Numbers

Friday, June 29, 12

Stop Quitting“Every time you remove your hands from the

keyboard, it is a cache miss.” - Steve Yegge via Christopher Brown

Friday, June 29, 12

Use a professional font

Inconsolata (http://levien.com/type/myfonts/inconsolata.html)12pts or greater

Friday, June 29, 12

0O0O0O

Friday, June 29, 12

Syntax Highlighting

Friday, June 29, 12

Syntax Highlighting

Friday, June 29, 12

Learn to Open a Directory

Friday, June 29, 12

Open a file

Friday, June 29, 12

Open a buffer

Friday, June 29, 12

Use Tabs

Friday, June 29, 12

Split the Window

Friday, June 29, 12

Bounce between brackets

Friday, June 29, 12

Bounce between brackets

Friday, June 29, 12

Bounce between brackets

%

Friday, June 29, 12

Bounce between brackets

%

Friday, June 29, 12

Bounce between brackets

%

Friday, June 29, 12

Execute an arbitrary command

Friday, June 29, 12

Execute an arbitrary command

Friday, June 29, 12

Execute an arbitrary command

Friday, June 29, 12

Execute an arbitrary command

Friday, June 29, 12

Integrate with source controlFriday, June 29, 12

Friday, June 29, 12

Managing Operations No Asshole Rule

Sales and Marketing Systems Administrators are Polyglots

Dangers of Automation Making Money with Open Source

You Must Love Your Editor Convergence, Idempotence, Promise Theory

How Websites Fail DevOps

Fund Raising Random Advice

Make your choice...

Friday, June 29, 12

Convergence, Idempotence, and Promise Theory

http://www.flickr.com/photos/doubleray/2865532960/sizes/o/in/photostream/

Friday, June 29, 12

Mark Burgess

• Convergence

• Idempotency

• Promise Theory

Friday, June 29, 12

Let’s install Trac

Friday, June 29, 12

Let’s install Trac

Theory 1: You cannot manage what

you do not understand

Friday, June 29, 12

Let’s install Trac

Practice 1: Write it down

Friday, June 29, 12

So I followed the instructions...

• I had to install python, build tools, pip and virtualenv, along with PostgreSQL

• And a whole mess of other Python deps

• Also, Subversion

• And I went ahead and opted out of configuring Apache and mod_wsgi

Friday, June 29, 12

Tell me, Adam, how did it go?

• Um, it took me 45 minutes.

• Typos, figuring out to not use the OS packages for the python bits

• You could do it more or less fast

• But it isn’t an outlier - it’s representative of lots of software in the world.

Friday, June 29, 12

Well, cool, I could do it by hand.• But I want to be

able to do it again

http://www.flickr.com/photos/scenesfromamemory/7036828007/sizes/o/in/photostream/

Friday, June 29, 12

So I wrote a script

Whats goodTotally works

High degree of whipupitudeExactly what I typed on the CLI, basically

Friday, June 29, 12

So I wrote a script

Whats badI’m not checking error codes

Can I get a ‘bash -e’ up in this bad boy?

Friday, June 29, 12

Requires working upstream network

Whats badWhat happens if the upstream is down?No big deal with apt, minor deal with pipThe PG stuff will fail, obviously, unless we

have Pg installed

Friday, June 29, 12

Trac initenv fails if the environment is

Whats badYeah, so, it’s the last thing, but it will fail if

it’s already happened

Friday, June 29, 12

How do we fix it, Adam?

Friday, June 29, 12

Idempotency

Friday, June 29, 12

Idempotency

Idempotence ( /ˌaɪdɨmˈpoʊtəns/ eye-dəm-poh-təns) is the property of certain operations in mathematics and computer science, that they can be applied multiple times without changing the result beyond the initial application.

Friday, June 29, 12

Idempotency

Idempotence ( /ˌaɪdɨmˈpoʊtəns/ eye-dəm-poh-təns) is the property of certain operations in mathematics and computer science, that they can be applied multiple times without changing the result beyond the initial application.

Theory 2:Each step in your

process should ensure that the part of the

system it configures is in the right state - and

do nothing if we’re already there.

Friday, June 29, 12

In Bash...

Friday, June 29, 12

In Chef

Friday, June 29, 12

ConvergenceIn mathematics, computer science and logic, convergence refers to the idea that a series of transformations come to a conclusion in a finite amount of time (the transformations are terminating), and that the conclusion reached is independent of the path taken to get to it (they are confluent).

Friday, June 29, 12

ConvergenceIn mathematics, computer science and logic, convergence refers to the idea that a series of transformations come to a conclusion in a finite amount of time (the transformations are terminating), and that the conclusion reached is independent of the path taken to get to it (they are confluent).

Theory 3:If you have idempotent steps, you can just run

the script over and over until it works

Friday, June 29, 12

Lets say

• We grow our Trac install - it’s the most busy Trac install in history.

• We’ve got load balancers, databases, and web servers

• We need one more theory...

Friday, June 29, 12

Promise TheoryPromise theory is a model of voluntary cooperation between individual, autonomous actors or agents who publish their intentions to one another in the form of promises. A promise is a declaration of intent whose purpose is to increase the recipient's certainty about a claim of past, present or future behaviour (see [1]). For a promise to increase certainty, the recipient needs to trust the promiser, but trust can also be built on the verification that previous promises have been kept, thus trust plays a symbiotic relationship with promises.

Friday, June 29, 12

Promise TheoryPromise theory is a model of voluntary cooperation between individual, autonomous actors or agents who publish their intentions to one another in the form of promises. A promise is a declaration of intent whose purpose is to increase the recipient's certainty about a claim of past, present or future behaviour (see [1]). For a promise to increase certainty, the recipient needs to trust the promiser, but trust can also be built on the verification that previous promises have been kept, thus trust plays a symbiotic relationship with promises.

Theory 4:Only the actor that

makes a promise can keep a promise, and

even then, they might lie

Friday, June 29, 12

An analogy

• Lets say I promise to NOT to give Theo a hug

• Because Theo hates hugs

• But I love hugs

• And Theo knows this

• So he tells Jason

• “Make sure Adam doesn’t hug me”

• But I am fast

Friday, June 29, 12

An analogy

• And Jason is Slow

• And Theo and Jason aren’t always together

• So I’m totally going to hug him

Friday, June 29, 12

An analogy

• Only the actor who makes the promise can keep the promise

• Only through observing my behavior first hand can you be sure that I’ll keep my promises

Friday, June 29, 12

It’s why...

• In almost all large environments

• They have moved away from complex orchestration

• Because the problem with orchestration is the orchestrator

Friday, June 29, 12

Managing Operations No Asshole Rule

Sales and Marketing Systems Administrators are Polyglots

Dangers of Automation Making Money with Open Source

You Must Love Your Editor Convergence, Idempotence, Promise Theory

How Websites Fail DevOps

Fund Raising Random Advice

Make your choice...

Friday, June 29, 12

How Websites Fail

http://www.flickr.com/photos/wingler/3429634150/sizes/l/

Friday, June 29, 12

CAP Theorem

• Consistency

• Availability

• Partition Tolerance

PickTwo

Friday, June 29, 12

Most SQL Databases

• Choose Consistency over all

• Availability comes distant second

Friday, June 29, 12

Web Applications need...

• Availability

• Partition Tolerance

Friday, June 29, 12

“Global temporal consistency is a fiction”

Christopher Brown

Friday, June 29, 12

Choosing Consistency for your Web App...

Means failure is global

Friday, June 29, 12

When you choose Partition Tolerance and

Availability...

You fail or succeed for a subset of users

Friday, June 29, 12

Apologies

• Apologize after the fact for failures

• Better than nothing at all

Friday, June 29, 12

NoSQL

• Many different tools

• They tweak CAP differently

• CouchDB

• Cassandra

• Redis

• Dynomite

• MongoDB

Friday, June 29, 12

Change in Mindset

Yields simplicity in returnFriday, June 29, 12

Managing Operations No Asshole Rule

Sales and Marketing Systems Administrators are Polyglots

Dangers of Automation Making Money with Open Source

You Must Love Your Editor Convergence, Idempotence, Promise Theory

How Websites Fail DevOps

Fund Raising Random Advice

Make your choice...

Friday, June 29, 12

Copyright © 2010 Opscode, Inc - All Rights Reserved 140http://www.flickr.com/photos/cnmark/312897597/

Friday, June 29, 12

Copyright © 2010 Opscode, Inc - All Rights Reserved

Cultural and Professional Movement

141Friday, June 29, 12

Copyright © 2010 Opscode, Inc - All Rights Reserved 142

It is (still) not a Job Description

http://www.flickr.com/photos/helenduffett/4061604644/sizes/o/

Friday, June 29, 12

Copyright © 2010 Opscode, Inc - All Rights Reserved 143

Traditional Systems Operations

Friday, June 29, 12

Copyright © 2010 Opscode, Inc - All Rights Reserved 143

Traditional Systems Operations

WebOps

Friday, June 29, 12

Copyright © 2010 Opscode, Inc - All Rights Reserved 144

Soft

war

e D

evel

oper

s

Net

wor

k En

gine

ers

Syst

ems A

dmin

istr

ator

s

Secu

rity

Eng

inee

rs

Some VP

Dir. Dir. Dir. Dir.

Friday, June 29, 12

Copyright © 2010 Opscode, Inc - All Rights Reserved 145

Software Developers

Network Engineers

Systems Administrators

Security Engineers

Friends

Peers

Mentors

Fun

Dir. Dir.

Dir. Dir.

Friday, June 29, 12

Copyright © 2010 Opscode, Inc - All Rights Reserved 146

The movement is inclusiveAwesomeHappyCool

Built neat stuff!

Friday, June 29, 12

Copyright © 2010 Opscode, Inc - All Rights Reserved 147

There are exclusive peopleGrumpy

Tool-centricUs vs Them

I’m a DevOp, you’re a Sysadmin!

Friday, June 29, 12

Copyright © 2010 Opscode, Inc - All Rights Reserved 148

Join the inclusive peopleWe’re neater.

Friday, June 29, 12

Managing Operations No Asshole Rule

Sales and Marketing Systems Administrators are Polyglots

Dangers of Automation Making Money with Open Source

You Must Love Your Editor Convergence, Idempotence, Promise Theory

How Websites Fail DevOps

Fund Raising Random Advice

Make your choice...

Friday, June 29, 12

Fund Raising

http://www.flickr.com/photos/aresauburnphotos/2678453389/sizes/l/

Friday, June 29, 12

Is fun

Friday, June 29, 12

Step 0: The Team

• Get your house in order

Friday, June 29, 12

Step 1 - The Plan

• I’m thankful every day we wrote one

• 20-30 pages is plenty

• 150 pages total of documentation generated by deal closing time (Q & A, mostly)

Friday, June 29, 12

Not really for fund raising...

“A business plan, wow, I haven’t seen one of those in a long time.”

“That’s nice. Give me a slide deck of that.” - Bill Bryant

Friday, June 29, 12

Estimates

• Just have a reasonable explanation

• You must believe

• If you can’t believe in it, fix it or give up

Friday, June 29, 12

Step 2:Lawyer

• Highly connected

• Defer fees

• Two firm per venture deal == they know what gets funded

http://www.flickr.com/photos/benny_lin/245110460/sizes/l/

Friday, June 29, 12

Step 3: Pitching

• Don’t take it personally

• Analysts are like people you knew in high school debate

• Pitch what you believe in - not what you are told you can get funded

• Research the VC

http://www.flickr.com/photos/36749444@N06/3722896165/sizes/o/

Friday, June 29, 12

It takes longer than you think

Friday, June 29, 12

Managing Operations No Asshole Rule

Sales and Marketing Systems Administrators are Polyglots

Dangers of Automation Making Money with Open Source

You Must Love Your Editor Convergence, Idempotence, Promise Theory

How Websites Fail DevOps

Fund Raising Random Advice

Make your choice...

Friday, June 29, 12

Friday, June 29, 12

Managing Operations No Asshole Rule

Sales and Marketing Systems Administrators are Polyglots

Dangers of Automation Making Money with Open Source

You Must Love Your Editor Convergence, Idempotence, Promise Theory

How Websites Fail DevOps

Fund Raising Random Advice

Make your choice...

Friday, June 29, 12

top related