container revolucao

53
Fernando Ike

Upload: fernando-ike

Post on 13-Apr-2017

840 views

Category:

Technology


0 download

TRANSCRIPT

Chroot: Apache + PHP

17 passos

LXC : Apache + PHP

12 passos

Linux Vserver: Apache + PHP

5 linhas

Xen/KVM: Apache + PHP

4*N passos

Docker: Apache + PHP

1 passos

Like git...hub: Docker Hub

➔ 240.000 usuários

➔ 150.000 repositórios

➔ 1.250.000 Automated Builds

➔ 500.000.000 Pulls

➔ 80 Repositórios oficiais

Quem usa

● BBC News● The New York Times● Netflix● Paypal● Spotify● ING● Business Insider

Números

+ 500 milhões de donwloads

+ 150 mill aplicações conteirnizadas

+ 150 meetups user group

+ 1.300 contribuidores

"Docker is a tool that can package an application and its dependencies in a virtual container that can run on any Linux server. This helps enable flexibility and portability on where the application can run, whether on premises, public cloud, private cloud, bare metal, etc."

Docker Family

Docker EngineDocker ComposeDocker SwarmDocker MachineDocker Toolbox

Docker EngineGerenciador dos containersDesenvolvido em GoDockerfilesVersão atual 1.8

Docker ToolboxInstalador das ferramentas Docker para Windows e MacOSX:

● Docker Client

● Docker Machine

● Docker Compose (Mac)

● Docker Kitematic

● VirtualBox

Docker Toolbox - Kitematic

Docker Compose

● Simplifica a construção e gerenciamento para múltiplos container

(interligados).

● Anteriormente conhecido como Fig

● Desenvolvido em Python

Docker MachineFerramenta para instalação e gerenciamento de Docker host para diversas plataformas de IaaSDesenvolvido em GOFacilita a instalação: AWS, Azure, Digital Ocean, Virtualbox, OpenStack, SoftwareLayer, Rackspace, Vmware, etc...

Docker Registry

Serviço para armazenar e gerenciar imagens de container Pode ser usado privado

Docker Swarm

Gerenciador de clusters dockers

Segurança

● Apparmor

● Selinux

● GRSec

● Notary

● Docker Bench for Security

Armazenamento

● Brtfs

● Device-mapper

● AUFS

● Flocker (plugin)

● GlusterFS (plugin)

● Rex-Ray (plugin: Storage Volume by EC2. Openstack)

CoreOS/RKT

● Feito em Go

● Foco maior em segurança e desempenho

● Compatível com containers Docker

Bocker

● Um gerenciador de container feito em bash

● Versão inicial com 100 linhas de código

● Usa CGroups e Namespace

Segurança

● Maio de 2015 - 30% das imagens oficiais tinham alguma falha “grave” de

segurança (Shellshock, Heartbleed, etc.).

● Política de atualização das imagens de containers não-oficiais

● Não usar root como usuário dos serviços nas imagens.

● Docker host com milhares de processos

Rede

● Serviços UDP precisam de parâmetro extra.

Unikernel

● Single address space operating system (SASOS)

● Altamente especializado

● Extremamente rápido

● nano services

● Small footprint

● Baixo tempo de boot

Unikernel

● MirageOS (OCaml)

● Erlang on OS

● OSv (C/C++)

● HaLVM (Haskell)

● Rumprun

Notáveis

● Kubernetes

● Mesos

● Jenkins

● Deis

● Moedores de Log

● Consul/Etcd

Conclusão

● CD/CI

● DevOps/NoOps

● OpenSource

● Forte Relacionamento com parceiros, integradores e usuários

● Incentivo de novos contribuidores

● Rápida adoção por fornecedores e clientes