Containers: Docker, OCI y CMT
Jonathan Leibiusky Marcos Lilljedahl
www.mantika.ca
info@mantika.ca
@mantikainc
Containers
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
Containers
● Engine
○ LXC
○ OpenVZ
○ Systemd
○ Docker
○ Rocket (rkt)
● Ecosistema
○ CoreOS
○ Docker
○ RancherOS
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ándar
2. Agnóstico al contenido
3. Agnóstico a la infraestructura
4. Diseñado para la automatización
5. Diseñado para la industria
● RunC
Docker
● Docker engine
● Otros productos: swarm, compose, machine,
etc.
● Global Hack Day #3
Demo
CMT
● Container Migration Tool
● Basado en CRIU
● Soporta RunC y Docker (experimental)
Arquitectura
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)
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.”
Marcos Lilljedahl
marcos@mantika.ca
@marcosnils
Jonathan Leibiusky
jonathan@mantika.ca
@xetorthio
Fuentes
http://docker.com
https://www.opencontainers.org/
https://github.com/marcosnils/cmt
https://openvz.org/Main_Page
http://criu.org/
http://rancher.com/rancher-os/
https://rocket.readthedocs.org/en/latest/
https://coreos.com/

Devopsconf2015- Marcos y Jonathan Mantika