97
Security Management Networking Introspection Performance Utilization 7 characteristics of container- native infrastructure

7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

Embed Size (px)

Citation preview

Page 1: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

SecurityManagement Networking IntrospectionPerformance Utilization

7 characteristics of container-native infrastructure

Page 2: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

SecurityManagement Networking IntrospectionPerformance Utilization

container-native all the things

Page 3: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08
Page 4: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

SecurityManagement Networking IntrospectionPerformance Utilization

Public Cloud Triton Elastic Container Service. We run our customer’s mission critical applications on container native infrastructure

Private Cloud Triton Elastic Container Infrastructure is an on-premise, container run-time environment used by some of the world’s most recognizable brands

Page 5: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

SecurityManagement Networking IntrospectionPerformance Utilization

Public Cloud Triton Elastic Container Service. We run our customer’s mission critical applications on container native infrastructure

Private DataCenter Triton Elastic Container Infrastructure is an on-premise, container run-time environment used by some of the world’s most recognizable brands

it’s open source!fork me, pull me: https://github.com/joyent/sdc

Page 6: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

The best place to run Docker

Portability From laptop to any public or private cloud

Great for DevOps Tools for management, deployment & scale

Productivity Faster code, test and deploy

Page 7: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

backgroundsome

Page 8: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

Infrastructure containers• We use them like VMs • They perform like bare metal • We can pack 3x more containers than VMs on a

single compute node • They require no changes in application architecture • First appeared in FreeBSD as jails in 1999-ish;

defined for Solaris in 2002; Linux implementation in progress (user namespaces mainlined in 2013)

• Joyent has been using them to power our public cloud for almost a decade

Page 9: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08
Page 10: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

SmartOS container hypervisor• Forked from Open Solaris in 2010 • Part of the Illumos community • Open source • Includes the core compute, network, and storage

virtualization components: • Zones = truly secure containers • Crossbow = in-kernel network virtualization,

offers unique NIC(s) for each container • ZFS = fast and secure virtualized filesystems

Page 11: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

Triton (was SmartDataCenter)• Open source, Mozilla licensed • Complete data center automation; including… • Automated boot and configuration of compute nodes • Multi-tenant management layer for compute, network,

and storage across N compute nodes • Turns an entire data center into a single, massive

container host • Customer-facing services, including Docker and CloudAPI

to support self-service provisioning and management • Bring your own application scheduling and orchestration

Page 12: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

Like bare metal virtual machinesInfrastructure containers

Page 13: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

Secure container hypervisorSmartOS

Page 14: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

Container infrastructure automationTriton

Page 15: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

but…

Page 16: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08
Page 17: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

application containersand

Page 18: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

differentare

Page 19: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

Container spectrum

application containers

infrastructure containers

Page 20: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

Container spectrum

infrastructure containersslimmed-down

infrastructure containers

application containers

Page 21: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

Container spectrum

application containers

infrastructure containers

multi-process Docker containers

Page 22: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

application containers

implementationare an opinionated

Page 23: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

Docker container advantages• Convenient imaging toolchain • Easy sharing and re-use of images • Dockerfiles are machine+human readable documentation

for everything needed to build and run the application • Docker Compose yamls are machine+human readable

documentation for how to assemble a set of containers into a larger application

• Docker begs us to automate discovery and configuration • Docker allow us to imagine deployment and execution

as a single step

Page 24: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

commoditizesDocker

the possibility of• immutable infrastructure • automated, testable, repeatable deploys • the kind of apps we all dream of

Page 29: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

it didn’torphotos

happen

Page 30: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

it didn’torphotos

happen

Page 31: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

it doesn’torrepo

work

Page 32: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

it doesn’tor

work

public repo

Page 33: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

withpublic repo

1. Dockerfile 2. docker-compose.yml 3. documentation, etc…

Page 34: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

but…

Page 35: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08
Page 36: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08
Page 38: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

containers in VMsdeploying

slows performance

Page 39: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

containers in VMsdeploying

adds complexity

Page 40: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

containers in VMsdeploying

slows scaling

Page 41: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

containers in VMsdeploying

wastes power

Page 42: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

containers in VMsdeploying

causes global warming

Page 43: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

containers in VMsdeploying

defeats the purpose

Page 48: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

VMs cause complexity by…• Requiring pre provisioning and configuration before they can

host containers • Mixing VM and container life cycles • Reducing surface area for deployments, making pockets of

unused capacity inevitable • Reducing performance due to hardware virtualization • Adding layers to networking • Allowing room for us to turn them into pets • Requiring re-packing of containers when scaling down

Page 49: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

but…

Page 50: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

on bare metal Linuxcontainers

struggle withup-front costs

Page 51: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

on bare metal Linuxcontainers

struggle withelasticity

Page 52: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

on bare metal Linuxcontainers

struggle withdata center automation

Page 53: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

on bare metal Linuxcontainers

struggle withmulti-tenant security

Page 55: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

Bare metal Linux complexities• No data center automation • No security domain • No performance isolation • No elasticity…where do you scale to?

Page 56: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

but…

Page 57: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

there isanother way

Page 58: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

mostinfrastructure

Page 59: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

twoscenario

pick

Page 60: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

two:• elasticity • security • performance

pick

bare metal{

Page 61: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

two:• elasticity • security • performance

pick

hardware virtual

machine{

Page 62: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

container-nativeinfrastructure

Page 63: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

threescenario

pick

Page 64: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

three:• elasticity • security • performance

pick

bare metal

containers{

Page 65: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

how do yousecure it for

So…

bare metal?

Page 66: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

Container anatomy

Applicationpackage

Runtimeenvironment

Page 67: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

Container anatomy

Applicationpackage

Executiondriver

}Dock

er

Page 68: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

Container anatomy

Applicationpackage

LXC }Dock

er

Page 69: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

Container anatomy

Applicationpackage

libcontainer }Dock

er

Page 70: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

Container anatomy

Applicationpackage

rkt }Core

OS

Page 71: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

Container anatomy

Applicationpackage

runC }O

pen

Cont

ainer

Fou

ndat

ion

Page 72: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

Container anatomy

Applicationpackage

SmartOSZone

}Dock

er o

n Tri

ton

Page 73: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

can i run myLinux images

So…

on Triton?

Page 74: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

yes!

Page 75: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08
Page 76: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

so…

Page 77: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

promised youa list

i

Page 78: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

the unit of computeis a container

1:

Page 79: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

you provisioncontainers

2:

Page 80: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

the containers runon bare metal

3:

Page 81: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

the kernel offersreal security4:

Page 82: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

no escapeno incursion

that means

Page 83: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

the containers are protectedfrom noisy neighbors

5:

Page 84: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

48 cores of bare metalif a single container can

dominate them all?

what’s the point of

Page 85: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

every container getsa VNIC

6:

Page 86: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

every container getsa VNIC

6:

(or two)

Page 87: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

every container getsa VNIC

6:

(or more)

Page 88: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

well-connected containeris a happy container

because a

Page 89: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

You pay forcontainers

7:

Page 90: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

You pay forcontainers

7:

(not VMs)

Page 91: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

science fictionthis is not

Page 92: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

availablenow

this is

Page 93: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

The best place to run containers. Making Ops simple and scalable.

SecurityManagement Networking IntrospectionPerformance Utilization

Page 94: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

Demotime

Page 95: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

Container-native everythingApplication architecture • Design for automated discovery and configuration Workflow • Embrace containerization in every step, from dev to deploy Infrastructure • Automates the infrastructure from the silicon to the container • Enforces a single lifecycle: the container • Eliminates pet VMs and servers • Makes provisioning and execution a single step • Delivers the promise of containers: automatable, testable,

repeatable deploys

Page 96: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

SecurityManagement Networking IntrospectionPerformance Utilization

thank you

Page 97: 7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08

The 7 characteristics of container-native infrastructure1. The unit of compute is a container, not a VM 2. You provision containers, not VMs 3. The containers run on bare metal 4. The containers are multi-tenant bare metal secure 5. Every container gets its share 6. Every container gets one or more VNICs 7. You pay for containers, not VMs