container days nyc keynote

Post on 11-Apr-2017

283 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

@behemphi

@stackengine

DO C K E R E N A BL E S DE VOP S

KEEP C . A . L . M . S . A ND DO C KER ON …BOY D E . H EMP H I LL@B EH EM PH I

@behemphi

@stackengine

goo.gl/jRXAsN

W H O A M I ?

• Technologist

@behemphi

@stackengine

goo.gl/jRXAsN

W H O A M I ?

• Technologist• Community Builder

@behemphi

@stackengine

goo.gl/jRXAsN

W H O A M I ?

• Technologist• Community Builder• Extroverted Nerd

@behemphi

@stackengine

goo.gl/jRXAsN

W H O A M I ?

• Technologist• Community Builder• Extroverted Nerd• Evangelist

@behemphi

@stackengine

goo.gl/jRXAsN

- THE OR GA N I Z ER S

“Do one thing each month to make _your_ tech community better.”

@behemphi

@stackengine

goo.gl/jRXAsNTH I S TH I NG O F WH IC H YO U SPE AK?

• Docker Docker Docker

@behemphi

@stackengine

goo.gl/jRXAsNTH I S TH I NG O F WH IC H YO U SPE AK?

• Docker Docker Docker• Orchestration, Service

Discovery, Community

@behemphi

@stackengine

goo.gl/jRXAsNTH I S TH I NG O F WH IC H YO U SPE AK?

• Docker Docker Docker• Orchestration, Service

Discovery, Community• Like what you hear?

Come join the conversation: http://goo.gl/YyyJOx

@behemphi

@stackengine

goo.gl/jRXAsN

- BOB QU I LL I N - C E O

“Buy copious amounts of StackEngine goodness.”

@behemphi

@stackengine

goo.gl/jRXAsN

W H O A R E YO U?

• Have heard of Docker

@behemphi

@stackengine

goo.gl/jRXAsN

W H O A R E YO U?

• Have heard of Docker?• Have experimented

with Docker on the job?

@behemphi

@stackengine

goo.gl/jRXAsN

W H OA R E YO U?

• Have heard of Docker?• Have experimented

with Docker on the job?• Are using Docker in a

production environment?

@behemphi

@stackengine

goo.gl/jRXAsN

- SE C U R I TY HOB B I T S

“Unicorns nothing, Balrogs is more like it!”

@behemphi

@stackengine

S O … W H AT I S DE VO P S ?

@behemphi

@stackengine

I S D E VO P S A C U LT U R E ?

@behemphi

@stackengine

I S D E VO P S AU T O M AT I O N ?

@behemphi

@stackengine

I S D E VO P S L E A N ?

@behemphi

@stackengine

I S DE VOP S M E A SU R E M E N T ?

@behemphi

@stackengine

I S D E VO P S S H A R IN G ?

@behemphi

@stackengine

“DevOps is the way in which a technology organization embeds itself in a business to

the benefit of that business.”

@behemphi

@stackengine

goo.gl/jRXAsN

C O M M O N G R O U N D

• Philosophy

@behemphi

@stackengine

goo.gl/jRXAsN

C O M M O N G R O U N D

• Philosophy• Model

@behemphi

@stackengine

goo.gl/jRXAsN

C O M M O N G R O U N D

• Philosophy• Model• Implementation

@behemphi

@stackengine

goo.gl/jRXAsN

C O M M O N G R O U N D

• Philosophy• Model• Implementation• Tooling

@behemphi

@stackengine

E C O N OM I C OBS E RVAT I O N

@behemphi

@stackengine

E C O N O M I C O BSE RVAT I O N

• P = R - C

@behemphi

@stackengine

E C O N O M I C O BSE RVAT I O N

• P = R - C • If C = 0, you are out of

business.

@behemphi

@stackengine

E C O N O M I C O BSE RVAT I O N

• P = R - C • If C = 0, you are out of

business.• R has no ceiling!

@behemphi

@stackengine

– J OH N N Y A P P L E SE ED

“Focus on system throughput as a way to maximize revenue.”

@behemphi

@stackengine

L A N G U AG E M ATT E R S

• We do ourselves a disservice by naming technology with tools

@behemphi

@stackengine

L A N G U AG E M ATT E R S

• We do ourselves a disservice by naming technology with tools

• Talk about solving a configuration management issue (model)

@behemphi

@stackengine

L A N G U AG E M ATT E R S

• We do ourselves a disservice by naming technology with tools

• Talk about solving a configuration management issue (model)

• Don’t talk about writing Chef code (tool)

@behemphi

@stackengine

L A N G U AG E M ATT E R S

• We do ourselves a disservice by naming technology with tools

• Talk about solving a configuration management issue (model)

• Don’t talk about writing Chef code (tool)

• Understanding the nature of the problem leads to the best choice of tool

@behemphi

@stackengine

“Docker enables the use of Linux containers by mere mortals. Linux containers enable

more rapid DevOps model adoption.”

@behemphi

@stackengine

CONTA I NE RS 1 01 -VMS VS . O S V I RT U AL I ZAT I ON

• A VM is a full copy of an entire computer running as software on a hypervisor

@behemphi

@stackengine

CONTA I NE RS 1 01 -VMS VS . O S V I RT U AL I ZAT I ON

• A VM is a full copy of an entire computer running as software on a hypervisor

• A container is a slice of the kernel

@behemphi

@stackengine

CONTA I NE RS 1 01 -VMS VS . O S V I RT U AL I ZAT I ON

• A VM is a full copy of an entire computer running as software on a hypervisor

• A container is a slice of a kernel

• Exec Summary: The lack of extra layers means big efficiencies

@behemphi

@stackengine

C O N TA I N E R S 1 0 1 - H I S T O RY

• BSD Jails (2000)

@behemphi

@stackengine

C O N TA I N E R S 1 0 1 - H I S T O RY

• BSD Jails (2000)• Solaris Zones (2004)

@behemphi

@stackengine

C O N TA I N E R S 1 0 1 - H I S T O RY

• BSD Jails (2000)• Solaris Zones (2004)• OpenVZ (2005)

@behemphi

@stackengine

C O N TA I N E R S 1 0 1 - H I S T O RY

• BSD Jails (2000)• Solaris Zones (2004)• OpenVZ (2005)• LXC (2008)

@behemphi

@stackengine

C O N TA I N E R S 1 0 1 - H I S T O RY

• BSD Jails (2000)• Solaris Zones (2004)• OpenVZ (2005)• LXC (2008)• SILENCE

@behemphi

@stackengine

C O N TA I N E R S 1 0 1 - H I S T O RY• BSD Jails (2000)• Solaris Zones (2004)• OpenVZ (2005)• LXC (2008)• SILENCE • Docker (2013)

@behemphi

@stackengine

“Docker isn’t winning because its a better container. It’s winning because it makes

packaging applications in a container easy.”

@behemphi

@stackengine

C U LT U R E

@behemphi

@stackengine

M I C R O S E RV I C E S M E A N M I C R O T E A M S

@behemphi

@stackengine

MI CR O SE RV I CE S ME AN M IC RO TE AM S - DE F I N I T ION

• Microservices Architecture is where each process has a single purpose.

@behemphi

@stackengine

MI CR O SE RV I CE S ME AN M IC RO TE AM S - DE F I N I T ION

• Microservices Architecture is where each process has a single purpose.

• This is SOA recycled - what’s old is new.

@behemphi

@stackengine

B E N E F I T S

@behemphi

@stackengine

MI CRO SE RV I CE S ME AN M I CRO TE AMS - BE NE F IT S

• “Code to Interface” moves to infrastructure

@behemphi

@stackengine

MI CRO SE RV I CE S ME AN M I CRO TE AMS - BE NE F IT S

• “Code to Interface” moves to infrastructure

• Micro team’s service moves at its own pace

@behemphi

@stackengine

MI CRO SE RV I CE S ME AN M I CRO TE AMS - BE NE F IT S

• “Code to Interface” moves to infrastructure

• Micro team’s service moves at its own pace

• Coordination between people eased (Mythical Man Month)

@behemphi

@stackengine

MI CRO SE RV I CE S ME AN M I CRO TE AMS - BE NE F IT S• “Code to Interface”

moves to infrastructure• Micro team’s service

moves at its own pace• Coordination between

people eased (Mythical Man Month)

• Feature velocity increases

@behemphi

@stackengine

B U S IN E S S P E R S P E C T IV E

@behemphi

@stackengine

MI CRO SE RV I CE S ME AN M I CRO TE AMS - BU S INE SS

• Extraordinary increase in Dev Team velocity means true competitive advantage

@behemphi

@stackengine

MI CRO SE RV I CE S ME AN M I CRO TE AMS - BU S INE SS

• Extraordinary increase in Dev Team velocity means true competitive advantage

• Difficulty of adoption means advantage is lasting

@behemphi

@stackengine

MI CRO SE RV I CE S ME AN M I CRO TE AMS - BU S INE SS

• Extraordinary increase in Dev Team velocity means true competitive advantage

• Difficulty of adoption means advantage is lasting

• Dip a toe in low risk and greenfield apps

@behemphi

@stackengine

MI CRO SE RV I CE S ME AN M I CRO TE AMS - BU S INE SS• Extraordinary increase

in Dev Team velocity means true competitive advantage

• Difficulty of adoption means advantage is lasting

• Dip a toe in low risk and greenfield apps

• Use the “Strangler Pattern”

@behemphi

@stackengine

“Since the service boundary is now a concrete infrastructure object, SOA becomes

much easier to reason about.”

@behemphi

@stackengine

A UT O M AT I O N

@behemphi

@stackengine

B U IL D A N D T E S T G R I D S

@behemphi

@stackengine

BU IL D AND T E ST GR I DS - DE F I N I T I O N

• Consider the set of all app versions and environments

@behemphi

@stackengine

BU IL D AND T E ST GR I DS - DE F I N I T I O N

• Consider the set of all app versions and environments

• Example: Ruby versions across Ubuntu 12.04, 14.04 and Centos 6.5, 7.3 and Windows.

@behemphi

@stackengine

BU IL D AND T E ST GR I DS - DE F I N I T I O N

• Consider the set of all app versions and environments

• Example: Ruby versions across Ubuntu 12.04, 14.04 and Centos 6.5, 7.3 and Windows.

• Very important to installed software and legacy application management.

@behemphi

@stackengine

B E N E F I T S

@behemphi

@stackengine

B U I LD A ND T ES T G R I DS - B E NEF I T S

• Containers start in less than one second - faster builds

@behemphi

@stackengine

B U I LD A ND T ES T G R I DS - B E NEF I T S

• Containers start in less than one second - faster builds

• Can test more permutations of the system

@behemphi

@stackengine

B U I LD A ND T ES T G R I DS - B E NEF I T S

• Containers start in less than one second - faster builds

• Can test more permutations of the system

• Increase build parallelism

@behemphi

@stackengine

B U I LD A ND T ES T G R I DS - B E NEF I T S

• Containers start in less than one second - faster builds

• Can test more permutations of the system

• Increase build parallelism

• Increases feature velocity and innovation

@behemphi

@stackengine

B U S IN E S S P E R S P E C T IV E

@behemphi

@stackengine

BU IL D A ND T E S T GR ID S - BU S IN E S S

• Grid density lowers cost

@behemphi

@stackengine

BU IL D A ND T E S T GR ID S - BU S IN E S S

• Grid density lowers cost

• Increased innovation due to build time decrease

@behemphi

@stackengine

BU IL D A ND T E S T GR ID S - BU S IN E S S

• Grid density lowers cost

• Increased innovation due to build time decrease

• Increased feature velocity (unicorn example)

@behemphi

@stackengine

BU IL D A ND T E S T GR ID S - BU S IN E S S

• Grid density lowers cost

• Increased innovation due to build time decrease

• Increased feature velocity (unicorn example)

• Decrease QA Bottleneck

@behemphi

@stackengine

“According to StackEngines State of Containers survey in Jan 2015, this is the

most common adoption vector.”

@behemphi

@stackengine

CON F I GURAT ION MAN AGEME N T S I MPL I F IC AT I ON

@behemphi

@stackengine

CO NF IG U RAT I ON MA N AG E ME N T S I M PL I F I CAT IO N - DE F IN I T I ON

• Automate the state of a single machine

@behemphi

@stackengine

CO NF IG U RAT I ON MA N AG E ME N T S I M PL I F I CAT IO N - DE F IN I T I ON

• Automate the state of a single machine

• This is not orchestration

@behemphi

@stackengine

B E N E F I T S

@behemphi

@stackengine

CO NF IG U RAT I ON MA N AG E ME N T S I M PL I F I CAT IO N - BE NE F IT S

• Learning curve of typical CM tool is extremely steep

@behemphi

@stackengine

CO NF IG U RAT I ON MA N AG E ME N T S I M PL I F I CAT IO N - BE NE F IT S

• Learning curve of typical CM tool is extremely steep

• Docker obviates need for most host config (bakery)

@behemphi

@stackengine

CO NF IG U RAT I ON MA N AG E ME N T S I M PL I F I CAT IO N - BE NE F IT S

• Learning curve of typical CM tool is extremely steep

• Docker obviates need for most host config (bakery)

• Containers are configured via a simple bash-like file.

@behemphi

@stackengine

B U S IN E S S P E R S P E C T IV E

@behemphi

@stackengine

CO NF IG U RAT I ON MA N AG E ME N T S I M PL I F I CAT IO N - BU S IN E S S

• Removal of complexity lowers release and administrative risk

@behemphi

@stackengine

CO NF IG U RAT I ON MA N AG E ME N T S I M PL I F I CAT IO N - BU S IN E S S

• Removal of complexity lowers release and administrative risk

• Scaling issues of many CM tools are moot.

@behemphi

@stackengine

“The problem of application state becomes a more holistic concern about orchestration instead of configuration management.”

@behemphi

@stackengine

M E A S UR E M E N T

@behemphi

@stackengine

P R O C E S S D E N S I T Y

@behemphi

@stackengine

PR OC E S S D E NS I T Y - D E F I N I T I ON

• Density increases when the amount of idle compute on a host tends to zero

@behemphi

@stackengine

B E N E F I T S

@behemphi

@stackengine

PR OC E S S D E NS I T Y - BE NE F I T S

• Reduce host consumption reduces cost

@behemphi

@stackengine

PR OC E S S D E NS I T Y - BE NE F I T S

• Reduce host consumption reduces cost

• Reduces power footprint in large physical setting

@behemphi

@stackengine

B U S IN E S S P E R S P E C T IV E

@behemphi

@stackengine

PR OC E S S D E NS I T Y - BU S I NE S S

• Reduced hosts mean reduced cost (CapEx and OpEx)

@behemphi

@stackengine

PR OC E S S D E NS I T Y - BU S I NE S S

• Reduced hosts mean reduced cost (CapEx and OpEx)

• Does not address revenue growth

@behemphi

@stackengine

PR OC E S S D E NS I T Y - BU S I NE S S

• Reduced hosts mean reduced cost (CapEx and OpEx)

• Does not address revenue growth

• Probably not a compelling reason, but easy to understand

@behemphi

@stackengine

–S TAC K EN G I N E

“Ants, not Cattle.”

@behemphi

@stackengine

S H A R IN G

@behemphi

@stackengine

D I S P O S A B L E D E V E LO P M E N T EN V I R ON M E N T S

@behemphi

@stackengine

DI S PO S A B LE DE V E LO PM E NT EN V I RON M EN T S - DE F IN I T I ON

• A fully functional development environment that can be brought up in minutes or seconds

@behemphi

@stackengine

B E N E F I T S

@behemphi

@stackengine

DI S PO S A B LE DE V E LO PM E NT EN V I RON M EN T S - BE NE F IT S

• New team members are productive their first day

@behemphi

@stackengine

DI S PO S A B LE DE V E LO PM E NT EN V I RON M EN T S - BE NE F IT S

• New team members are productive their first day

• Innovation - try new things quickly

@behemphi

@stackengine

DI S PO S A B LE DE V E LO PM E NT EN V I RON M EN T S - BE NE F IT S

• New team members are productive their first day

• Innovation - try new things quickly

• Developers share improvements easily via familiar tools

@behemphi

@stackengine

B U S IN E S S P E R S P E C T IV E

@behemphi

@stackengine

DI S PO S A B LE DE V E LO PM E NT EN V I RON M EN T S - BU S IN E S S

• Increases feature velocity

@behemphi

@stackengine

DI S PO S A B LE DE V E LO PM E NT EN V I RON M EN T S - BU S IN E S S

• Increases feature velocity

• Increases innovation

@behemphi

@stackengine

DI S PO S A B LE DE V E LO PM E NT EN V I RON M EN T S - BU S IN E S S

• Increases feature velocity

• Increases innovation• Local optima, but

environment standardization helps in other areas.

@behemphi

@stackengine

“Disposable development environments are likely the single biggest improvement you

can make in your SDLC.”

@behemphi

@stackengine

FO O D F O R T H O UG H T

@behemphi

@stackengine

F O O D F O R TH O U G H T

• Immutable infrastructure

@behemphi

@stackengine

F O O D F O R TH O U G H T

• Immutable infrastructure

• A/B Deployments

@behemphi

@stackengine

F O O D F O R TH O U G H T

• Immutable infrastructure

• A/B Deployments• A/B Testing for

Marketing

@behemphi

@stackengine

C LO S IN G T H O U G H T SHOW DO I DE T ER M I N E I F DOC K ER I S W ORT H I N V ES T I G AT I N G ?

@behemphi

@stackengine

B U S IN E S S

@behemphi

@stackengine

BU S I N E S S

• Developer adoption of Docker is only valuable as a first step. There is not enough benefit from it alone to justify the effort, it must inform system architecture and production operations over time.

@behemphi

@stackengine

BU S I N E S S

• Developer adoption of Docker is only valuable as a first step. There is not enough benefit from it alone to justify the effort, it must inform system architecture and production operations over time.

• Docker’s system architecture ramifications have the potential to provide a significant and lasting competitive advantage

@behemphi

@stackengine

BU S I N E S S

• Developer adoption of Docker is only valuable as a first step. There is not enough benefit from it alone to justify the effort, it must inform system architecture and production operations over time.

• Docker’s system architecture ramifications have the potential to provide a significant and lasting competitive advantage

• Unlike most ops driven improvements derived from applying DevOps thinking, this must be developer and QA driven since the greatest benefit is derived from system architecture

@behemphi

@stackengine

BU S I N E S S• Developer adoption of Docker is only valuable as a first

step. There is not enough benefit from it alone to justify the effort, it must inform system architecture and production operations over time.

• Docker’s system architecture ramifications have the potential to provide a significant and lasting competitive advantage

• Unlike most ops driven improvements derived from applying DevOps thinking, this must be developer and QA driven since the greatest benefit is derived from system architecture

• Horses are starting to become unicorns. Evolve or die.

@behemphi

@stackengine

DE VO P S

@behemphi

@stackengine

DE VO PS

• Culture - DevOps thought leaders must determine how a Docker adoption path looks in their organization

@behemphi

@stackengine

DE VO PS

• Culture - DevOps thought leaders must determine how a Docker adoption path looks in their organization

• Automation - Tools are not there yet. Companies are showing up with the mission to address this, but it is very early days.

@behemphi

@stackengine

DE VO PS

• Culture - DevOps thought leaders must determine how a Docker adoption path looks in their organization

• Automation - Tools are not there yet. Companies are showing up with the mission to address this, but it is very early days.

• Lean - DevOps thought leaders are responsible for the holistic impact of technology decisions at the business level.

@behemphi

@stackengine

DE VO PS• Culture - DevOps thought leaders must determine

how a Docker adoption path looks in their organization

• Automation - Tools are not there yet. Companies are showing up with the mission to address this, but it is very early days.

• Lean - DevOps thought leaders are responsible for the holistic impact of technology decisions at the business level.

• Measurement - Empiricism is required if we are to meet our Measurement obligation. Blackbox thinking could revolutionize compliance.

@behemphi

@stackengine

DE VO PS

• Culture - DevOps thought leaders must determine how a Docker adoption path looks in their organization

• Automation - Tools are not there yet. Companies are showing up with the mission to address this, but it is very early days.

• Lean - DevOps thought leaders are responsible for the holistic impact of technology decisions at the business level.

• Measurement - Empiricism is required if we are to meet our Measurement obligation. Blackbox thinking could revolutionize compliance.

• Sharing - DevOps thought leaders should be working with peers and collaborators in their company to determine if they can derive the proposed business benefits.

@behemphi

@stackengine

“Should you be considering Containers as a means to provide your business with an

advantage?”

@behemphi

@stackengine

B E S T E V E R D E VO P S T O O L : AU D I B L E . C O M• The Lean Startup - Reis (tech)

• The Goal - Goldratt (Theory of Constraints)

• It’s not Luck - Goldratt (Theory of Constraints)

• Good to Great - Collins (Culture)

• The No Asshole Rule - Sutton (Culture)

• The Phoenix Project - Kim (*) (tech)

• Continuous Deliver - Humble (*) (hardcore tech)

• The Lean Enterprise - Humble (*) (tech)

top related