falling off the shoulders of giants

17
Falling off the Shoulders of Giants The lessons unlearned Mike Wessling 22/01/2015

Upload: mike-wessling

Post on 16-Jul-2015

272 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Falling off the shoulders of giants

Falling off the Shoulders

of Giants

The lessons unlearned

Mike Wessling 22/01/2015

Page 2: Falling off the shoulders of giants

Or how to alienate your audience

Outline: In this presentation I will try to show

that Docker, by trying to fix the ship-ability

issue, undoes a number of advances in

application quality made in the recent years by

putting applications in it in black boxes called

containers.

Page 3: Falling off the shoulders of giants

“Code” runs is necessary but not

sufficient for production."Production ready" is orthogonal to "feature complete".

Whether the acceptance tests pass or the testers give it a green check

mark tells me nothing about how well the system as a whole is going to

hold up under the stresses of real-world, every day use. Could be

horrible, could be great.

Michael Nygard - Author “Release-it”

Page 4: Falling off the shoulders of giants

Software Application Qualities

More than just ship-able code.

There is Availability, Conceptual Integrity,

Interoperability, Maintainability, Manageability,

Performance, Reliability, Reusability,

Scalability, Security, Supportability, Testability,

User Experience/Usability.

Page 5: Falling off the shoulders of giants

Software Application Qualities

Lets ignore the softy stuff..

There is Availability, Conceptual Integrity,

Interoperability, Maintainability, Manageability,

Performance, Reliability, Reusability,

Scalability, Security, Supportability, Testability,

User Experience/Usability.

Page 6: Falling off the shoulders of giants

Software Application Qualities

Lets ignore the interesting stuff..

There is Availability, Conceptual Integrity,

Interoperability, Maintainability, Manageability,

Performance, Reliability, Reusability,

Scalability, Security, Supportability, Testability,

User Experience/Usability.

Page 7: Falling off the shoulders of giants

Software Application Qualities

That leaves plenty left to do.

There is Availability, Maintainability,

Manageability, Performance, Reliability,

Scalability, Security, Supportability.

Page 8: Falling off the shoulders of giants

Docker: high level view

Image

FROM

DF New

Image

New

Image

Build

ship

run

DEV

OPSUser

Page 9: Falling off the shoulders of giants

Maintainability : ease of change

Docker’s key feature:

shippable, run-able code.

And Docker encourages loose coupling and

modular design.

But there is more to maintainability.

Page 10: Falling off the shoulders of giants

Maintainability: More than just code

There is more to maintain, for example, User data and

instance configuration.

The real world is rarely stateless.

Others need to be able trust that the container correctly

separates user data from code.

The black box approach hinders understanding. We need

more transparency, not less.

Page 11: Falling off the shoulders of giants

Availability: making sure it runs ok.

Or how to monitor your dock full of containers.

And fix quickly.

Not easy looking at a humming black box

Each box may have its own idea of monitoring

tooling or not..

Page 12: Falling off the shoulders of giants

One important aspect to performance is to

allocate the available resources as optimal as

possible.

Resources usage can be controlled by

settings(knobs) at all layers of the stack.

These knobs are hidden in the containers.

Performance: tweaking the knobs

Page 13: Falling off the shoulders of giants

Security: nothing nasty going on?

This is where the black box becomes a real

issue: how do you know what is in your

blackbox? Or the black box it was made from..

It is black boxes all the way down..

Think Heartbleed. openssl libs.

Page 14: Falling off the shoulders of giants

Where should we go from here?

Lets learn the lessons

● It is not a DEV vs OPS situation.o We need address all needs and requirements

● Don’t fix problems caused by VMs.o another major kludge to fix OS limitations.

● Don’t create black boxes. o Transparency is key

o Provide all information etc.

Page 15: Falling off the shoulders of giants

Lessons continued

My observations/ideas:

● naive: lets make OS’s do what they

supposed to do and drag them into the 2K’s

● hopeful: lets move up in the stack. Look at

applications as more than just code and

work on “containers” which hold up a

manageable, testable, secure, etc, etc, app. o It is a hard problem.. good, we have the brains

Page 16: Falling off the shoulders of giants

So what is in your container?

Thanks for listening.

Questions/Remarks/Rotten fruit?

contact:

[email protected]

Page 17: Falling off the shoulders of giants

And remember:

Docker is basically a linux process in a

disposable diaper..

maybe it is time to potty train it.