one container, two container, three containers, four

51
One Container, Two Containers, Three Containers Four Ashley Roach -- API Architect – DevNet [email protected] | @aroach

Upload: ashley-roach

Post on 14-Aug-2015

220 views

Category:

Software


3 download

TRANSCRIPT

Page 1: One Container, Two Container, Three Containers, Four

One Container,Two Containers,Three Containers

FourAshley Roach -- API Architect – DevNet

[email protected] | @aroach

Page 2: One Container, Two Container, Three Containers, Four

2© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID

• Chapter 1: The situation

• Chapter 2: History

• Chapter 3: Developers

• Chapter 4: Continuous Integration

• Chapter 5: Quality Assurance

• Chapter 6: Operations

• Chapter 7: Microservices

• Chapter 8: Conclusion

Agenda

Page 3: One Container, Two Container, Three Containers, Four

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public 3Presentation ID

Introduction

Page 4: One Container, Two Container, Three Containers, Four

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID 4

My name is Ashley. I am the explainer, In the next 10 mins, We talk containers

Page 5: One Container, Two Container, Three Containers, Four

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public 5Presentation ID

Chapter 1: Situation

Page 6: One Container, Two Container, Three Containers, Four

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID

Let’s meet a web app

Contained within it,

you’ll find a db,

a front end and back.

Source: Docker

Page 7: One Container, Two Container, Three Containers, Four

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID 7

APIs and queues!

Postgres and node!

Hive and hadoop!

Python and go!

Look at the matrix!

Boy, I don't know...

Page 8: One Container, Two Container, Three Containers, Four

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID 8

Test

Ship

Regression

Black box

We must test and ship!

We must black box!

We must regress!

We must do this in 

Two hours or less!

Page 9: One Container, Two Container, Three Containers, Four

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID 9

So you can enjoy

Our new awesome feature,

We need to find Sam,

Our QA test leader.

https://www.flickr.com/photos/ter-burg/8127253723/

Page 10: One Container, Two Container, Three Containers, Four

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID 10

We need Abeer,

Our Ops engineer!

Page 11: One Container, Two Container, Three Containers, Four

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID 11

We ask Sam to test.

He looks with great fury.

We nod to Abeer

She says in a hurry...

https://farm9.staticflickr.com/8044/8127266906_98694498e9_z_d.jpg

Page 12: One Container, Two Container, Three Containers, Four

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID 12

We now do DevOps,

We share all our fears.

Find a new way

To package your gear.

http://upload.wikimedia.org/wikipedia/commons/4/4e/Devops.png

Page 13: One Container, Two Container, Three Containers, Four

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID 13

Virt’alize says Sam!

Yes, yes! Hip hooray!

We needn’t worry

ab’t diffr’nce today.

Page 14: One Container, Two Container, Three Containers, Four

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID 14

Yes yes, virt’lize!

Yes yes, we must size,

Our big boxes

To launch our surprise.

Page 15: One Container, Two Container, Three Containers, Four

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID 15

Containers! She shouts.

Virtualize, Sam pouts.

We suddenly realize

There are new routes!  Host OS

LXC Engine

App 1 App 2

Server

Bin/Lib Bin/Lib

Page 16: One Container, Two Container, Three Containers, Four

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public 16Presentation ID

Chapter 2: History

Page 17: One Container, Two Container, Three Containers, Four

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID 17

Containers aren’t new.

In ’79,

Unix V7.

The C-groups design.

Page 18: One Container, Two Container, Three Containers, Four

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID 18

Linux Containers,

AKA LXC,

Set the bar high.

Docker came to be.

Page 19: One Container, Two Container, Three Containers, Four

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID 19

Containers? What are they?

A VM is close.

Sans hypervisor,

They talk with the host.

Page 20: One Container, Two Container, Three Containers, Four

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID 20

One OS is all.

Immutable blocks.

Docker is one kind.

Containers are rocks.

Page 21: One Container, Two Container, Three Containers, Four

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID 21

You said best of both.

Virtual and 'tainer

They can cooexist

In your data centers

Host OS

LXC Engine

App 1 App 2

Bin/Lib Bin/Lib

Hypervisor

Base OS

Page 22: One Container, Two Container, Three Containers, Four

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public 22Presentation ID

Chapter 3: Developers

Page 23: One Container, Two Container, Three Containers, Four

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID 23

Meet Tracy, the dev.

Her first day is now.

She has a new MacBook,

And starts to install.

Page 24: One Container, Two Container, Three Containers, Four

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID 24

Npm and git!

Mongo and bower!

Ember and Grunt!

It might take an hour!

Page 25: One Container, Two Container, Three Containers, Four

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID 25

Set this env var!

Oh, I forgot!

You need a debugger,

To get your box set.

https://c2.staticflickr.com/8/7057/6885842505_1138e0a52d_b.jpg

Page 26: One Container, Two Container, Three Containers, Four

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID 26

You must match the server.

You need to cluster.

All these configs!

Looming disaster!

http://upload.wikimedia.org/wikipedia/commons/3/39/Aus2.jpg

Page 27: One Container, Two Container, Three Containers, Four

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID 27

Abeer speaks up.

Go to this wiki!

boot2docker will

Get you up quickly.

Page 28: One Container, Two Container, Three Containers, Four

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public 28Presentation ID

Chapter 4: Continuous Integration

Page 29: One Container, Two Container, Three Containers, Four

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID 29

Jenkins is next.

He is our CI.

Testing takes so long,

I poke out my eyes!

We test run in time!

Page 30: One Container, Two Container, Three Containers, Four

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID 30

Says Abeer...

"VMs are so bloated.

They take time to start.

They have a whole OS,

And mem’ry runs short."

http://commons.wikimedia.org/wiki/File:MemoryRam.jpg

Page 31: One Container, Two Container, Three Containers, Four

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID 31

Abeer talks again,

"It’s totally fine

With our new Docker

We test run in time!

Page 32: One Container, Two Container, Three Containers, Four

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public 32Presentation ID

Chapter 5: Quality Assurance

Page 33: One Container, Two Container, Three Containers, Four

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID 33

Test Security,

Functional and Perf.

Now our test mode is

All of our turf!

Page 34: One Container, Two Container, Three Containers, Four

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID 34

Pull it from the hub.

It’s easy to share.

Build it like magic.

Versioned and not stale.

https://jenkins-ci.org/content/official-jenkins-lts-docker-image

Page 35: One Container, Two Container, Three Containers, Four

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID 35

Sam comes around.

Now he sees the light.

He realizes 

Profit, speed. No fight!

https://farm9.staticflickr.com/8054/8127180276_1483a09784_z_d.jpg

Page 36: One Container, Two Container, Three Containers, Four

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public 36Presentation ID

Chapter 5: Ops

Page 37: One Container, Two Container, Three Containers, Four

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID 37

Uri is from Ops

Think intensity!

He wants to increase

Compute density

Page 38: One Container, Two Container, Three Containers, Four

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID 38

Uri agrees that

VMS are like cows

Only few of them

Can fit as allows

http://upload.wikimedia.org/wikipedia/commons/8/8a/British_White_cattle_in_mobile_pen.jpg

Page 39: One Container, Two Container, Three Containers, Four

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID 39

10 LXCs now

Replace 1 VM.

Now, that’s density!

With servers to trim.

http://en.wikipedia.org/wiki/Hedge_trimmer#/media/File:Hedge_Trimming_-_Kolkata_2005-08-10_02050.JPG

Page 40: One Container, Two Container, Three Containers, Four

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID 40

With servers to trim,

Eureka! Uri yells!

We now can add

Ecommerce that scales.

Page 41: One Container, Two Container, Three Containers, Four

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public 41Presentation ID

Chapter 7: Microservices

Page 42: One Container, Two Container, Three Containers, Four

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID 42

In software engineering

We like to abstract

By breaking it up,

Risk doesn’t get jacked.

http://upload.wikimedia.org/wikipedia/commons/5/5d/Stapel_bakstenen_-_Pile_of_bricks_2005_Fruggo.jpg

Page 43: One Container, Two Container, Three Containers, Four

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID 43

No! No Monoliths!

No! No more curses!

Yes! Yes! Loosely coupled.

Yes Microservice!

http://upload.wikimedia.org/wikipedia/commons/6/61/Murten_Monolith.jpg

Page 44: One Container, Two Container, Three Containers, Four

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID 44

Now, what does it mean?

A micro-serv-ice.

Break up our product

And, man, is that nice!

https://www.flickr.com/photos/psd/13109673843

Page 45: One Container, Two Container, Three Containers, Four

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID 45

Each part can be patched.

Their scope can narrow.

Indeed micro teams,

More lithe and more agile!

Page 46: One Container, Two Container, Three Containers, Four

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public 46Presentation ID

Chapter 8: In Conclusion

Page 47: One Container, Two Container, Three Containers, Four

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID 47

We met Sam

We met Tracy

We met Jenkins

We met Uri

Page 48: One Container, Two Container, Three Containers, Four

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID 48

Now the team achieves…

Yes! Velocity!

Yes! Optimal speed!

Compute Density!

Page 49: One Container, Two Container, Three Containers, Four

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID 49

QA and CI,

Dev and Ops party.

Containers can help

EVERYBODY!

Page 50: One Container, Two Container, Three Containers, Four

Thank you

50© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID

Page 51: One Container, Two Container, Three Containers, Four