Manageability Matters

Post on 02-Dec-2014

3.001 views 0 download

Tags:

description

A presentation by Luke Kanies, the founder of the Puppet project, on why manageability matters during your development, and how considering it can make the difference between success and failure in the modern software world.

Transcript of Manageability Matters

ManageabilityMatters

Luke KaniesFounder of the Puppet project

luke@reductivelabs.com@puppetmasterd

Question Authority

Manageability

So you’re a software developer

And you’ve written some software

But no one’s using it

Marketing!

Docs!

Usability!

Docs || Usability

Good enough docs can skip usability

Good enough usability can skip docs

Two kinds of usability

Can I use it?

Can I configure it?

Not the same thing

Consumers? Sure

Enterprise? Not so much

Configuration is meta

Manageability is meta-usability

Or, manageability is usability for sysadmins

Two audiences for manageability

Humans

Machines

Gentoo is for humans

XML is for machines

You want the best of both worlds

Humans configure your software at first

Machines do it at scale

The costs of ignoring manageability

“I will have to second the recommendation for postfix. I was an old

sendmail user and postfix configuration is a piece of

cake by comparison.”

http://forum.slicehost.com/comments.php?DiscussionID=153

It’s a Darwinian world

Manageability is the sysadmin selection

mechanism

These people are haters

The users care, too

2 mins to start a VM + 20 mins to configure

your software = ?

You slow your customer down

MySQL started out in prototypes

You create more downtime

You piss them off

The benefits of manageability

No cost, all gravy

Users use it

Sysadmins don’t think about it

It gets plugged into everything

Is your software manageable?

Does it just work?

Are all of the inputs machine-produceable?

Are all of the outputs machine readable?

Yup

Manageability antipatterns

Turing-complete configuration languages

Tarball installation

Generating Configurations

An ecosystem around managing your software

Extremely profitable professional services

How do you avoid poor manageability?

Minimal, entirely optional configuration

Convention over configuration

Structured data everywhere

Subystems for everything

Complexity is modeled

Examples

A disclaimer

Software for humans

FreeBSDSome package

management problems cannot be automated

Text

http://www.freebsd.org/layout/images/beastie.png

Apache

• Turing-complete configurations

• Any file can hold any content

• No conventions

http://apache.org/images/feather.gif

Software for computers

SendmailM4 to generate configurations

And they’re still unusable

XML

Conclusion

Used more

Retained longer

Hated less

Questions?