Post on 14-Aug-2015
transcript
One Container,Two Containers,Three Containers
FourAshley Roach -- API Architect – DevNet
asroach@cisco.com | @aroach
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
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public 3Presentation ID
Introduction
© 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
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public 5Presentation ID
Chapter 1: Situation
© 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
© 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...
© 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!
© 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/
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID 10
We need Abeer,
Our Ops engineer!
© 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
© 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
© 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.
© 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.
© 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
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public 16Presentation ID
Chapter 2: History
© 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.
© 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.
© 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.
© 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.
© 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
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public 22Presentation ID
Chapter 3: Developers
© 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.
© 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!
© 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
© 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
© 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.
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public 28Presentation ID
Chapter 4: Continuous Integration
© 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!
© 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
© 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!
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public 32Presentation ID
Chapter 5: Quality Assurance
© 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!
© 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
© 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
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public 36Presentation ID
Chapter 5: Ops
© 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
© 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
© 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
© 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.
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public 41Presentation ID
Chapter 7: Microservices
© 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
© 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
© 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
© 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!
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public 46Presentation ID
Chapter 8: In Conclusion
© 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
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID 48
Now the team achieves…
Yes! Velocity!
Yes! Optimal speed!
Compute Density!
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID 49
QA and CI,
Dev and Ops party.
Containers can help
EVERYBODY!
Thank you
50© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID