Devopsconf2015- Marcos y Jonathan Mantika

13
Containers: Docker, OCI y CMT

Transcript of Devopsconf2015- Marcos y Jonathan Mantika

Page 1: Devopsconf2015- Marcos y Jonathan Mantika

Containers: Docker, OCI y CMT

Page 2: Devopsconf2015- Marcos y Jonathan Mantika

Jonathan Leibiusky Marcos Lilljedahl

[email protected]

@mantikainc

Page 3: Devopsconf2015- Marcos y Jonathan Mantika

Containers

Page 4: Devopsconf2015- Marcos y Jonathan Mantika

Containers en 30’’

● Container = namespaces + cgroups + chroot + …

○ Namespaces: Vistas de los recursos del SO

○ Cgroups: Limitan y miden los recursos del SO

○ Chroot: Cambia el root directory de un proceso

Page 5: Devopsconf2015- Marcos y Jonathan Mantika

Containers

● Engine○ LXC○ OpenVZ○ Systemd○ Docker○ Rocket (rkt)

● Ecosistema○ CoreOS○ Docker○ RancherOS

Page 6: Devopsconf2015- Marcos y Jonathan Mantika

Open Container Initiative

● Definir estándares del formato y ejecución de los containers

● Standard Container: Encapsular un componente de software y todas sus dependencias en un formato portable y autodescriptivo. 1. Operaciones estándar2. Agnóstico al contenido3. Agnóstico a la infraestructura4. Diseñado para la automatización5. Diseñado para la industria

● RunC

Page 7: Devopsconf2015- Marcos y Jonathan Mantika

Docker

● Docker engine

● Otros productos: swarm, compose, machine, etc.

● Global Hack Day #3

Page 8: Devopsconf2015- Marcos y Jonathan Mantika

Demo

Page 9: Devopsconf2015- Marcos y Jonathan Mantika

CMT

● Container Migration Tool

● Basado en CRIU

● Soporta RunC y Docker (experimental)

Page 10: Devopsconf2015- Marcos y Jonathan Mantika

Arquitectura

Page 11: Devopsconf2015- Marcos y Jonathan Mantika

Checkpoint & Restore

● Permite:○ Escalar aplicaciones de manera inmediata○ Relocalizar servicios en cercanías a usuarios○ Neutralizar tiempos de warmup aplicativos○ Analizar offline problemas productivos○ Time-lapse debugging (www.tonicdev.com)

Page 12: Devopsconf2015- Marcos y Jonathan Mantika

Por qué containers?

● Tiempo de inicio

● Utilización y aislamiento de recursos

● Empaquetado y manejo de dependencias

● Herramientas

“Los containers NO reemplazan a las VMs, las complementan”“Los containers NO deben ser usados como VMs.”

Page 13: Devopsconf2015- Marcos y Jonathan Mantika

Marcos [email protected]@marcosnils

Jonathan [email protected]@xetorthio

Fuenteshttp://docker.com

https://www.opencontainers.org/https://github.com/marcosnils/cmthttps://openvz.org/Main_Page

http://criu.org/http://rancher.com/rancher-os/

https://rocket.readthedocs.org/en/latest/https://coreos.com/