Slide do evento Amazon Event Tech - Tecnologia e Inovação na Amazônia que aconteceu dia 9 de junho de 2017, às 19:30.
Tema: Orquestração de containers com Rancher.io
Palestrantes: Alex Ishida e Jorge Luis
2. JORGE LUIS
PALESTRANTES
DEVOPS
SEFIN-RO / AMERON
Graduado em:
Sistemas de Informação (Uniron)
Pós-graduado em
Segurança da informação e redes
de computadores (FGV)
DEV OPS
ALEX ISHIDA
ENGENHEIRO DE SOFTWARE
SEFIN-RO
Graduado em:
Sistemas de Informação (Ulbra)
Pós-graduado em:
Engenharia de Software
(Faculdade Unyleya)
E-mail: alexishida@gmail.com
Twitter: @alexishida
E-mail: jorge.campelo@hotmail.com
3. Docker é um projeto de código aberto que automatiza a
implantação de aplicativos dentro de contêineres e é mantido
pela empresa Docker, Inc.
O que é Docker?
4. Docker fornece uma camada adicional de abstração e automação da
virtualização em nível operacional, utilizando recursos de isolamento
do kernel do Linux, como cgroups e namespaces, e um sistema de
arquivos union mounting como padrão o OverlayFS dando
possibilidade ao uso de outros sistema de arquivos.
O que é Docker?
5. A idéia do Docker é que cada contêiner rode apenas uma aplicação ou
serviço e que seus dados importantes fiquem persistidos fora do
container, facultando assim a possibilidade do contêiner ser
descartável (destruir o container e recriar sem comprometer a
integridade da instalação da aplicação ou serviço).
O que é Docker?
6. Os contêineres e as máquinas virtuais possuem recursos de isolamento
e alocação similares, mas funcionam de forma diferente, pois os
contêineres virtualizam o sistema operacional e as máquinas virtuais
virtualizam um hardware.
Virtual Machines vs. Containers
Virtual Machine Container
7. O Docker traz uma API para gerenciamento de contêineres e formato
de imagem que possibilita compartilhar contêineres utilizando um
repositório remoto (https://store.docker.com), beneficiando
tanto desenvolvedores quanto administradores de sistemas e tendo
como vantagens:
POR QUE USAR?
8. ● Implementação rápida de aplicativos - os contêineres incluem os requisitos mínimos
de execução do aplicativo, reduzindo seu tamanho e permitindo que sejam implantados
rapidamente.
● Portabilidade entre máquinas - um aplicativo e todas as suas dependências podem
ser empacotadas em um único contêiner independente da versão host do kernel Linux,
distribuição ou modelo de implantação. Este container pode ser transferido para outra
máquina que executa o Docker e executado lá sem problemas de compatibilidade.
POR QUE USAR?
9. ● Controle de versão e reutilização de componentes - você pode controlar versões
sucessivas de um container, inspecionar diferenças ou reverter para versões anteriores.
Os contêineres re-aproveitam componentes das camadas anteriores, o que os tornam
mais eficientes na hora dos downloads.
● Imagens otimizadas - as imagens do Docker são tipicamente muito pequenas, o que
facilita a entrega rápida e reduz o tempo de implantação de novos contêineres de
aplicativos.
● Compartilhamento - você pode usar um repositório remoto ou local para compartilhar
seu contêineres.
● Manutenção simplificada - Docker reduz o esforço e o risco de problemas com
dependências de aplicativos
POR QUE USAR?
10.
11.
12. O Rancher é um software de código aberto, que contém um conjunto
de softwares necessários para o gerenciamento e orquestração de
containers via web.
O QUE É O RANCHER?
13. Infra-estrutura
O Rancher aceita tanto hosts Linux de nuvem pública, nuvem
privada, servidores físicos ou máquinas virtuais, o Rancher não
faz distinção em seu uso, implementando uma camada de serviços de
infra-estrutura projetados especificamente para facilitar o
gerenciamento de aplicativos em contêineres. Os serviços de
infraestrutura do Rancher incluem redes, armazenamento,
balanceador de carga, DNS.
RANCHER
COMPONENTES PRINCIPAIS
14. Orquestração
Rancher aceita os principais orquestradores:
● Docker Swarm
● Kubernetes
● Mesos
O Rancher possui seu próprio orquestrador:
● Cattle
RANCHER
COMPONENTES PRINCIPAIS
15. Catálogo de Aplicações
Os usuários do Rancher podem instalar aplicativo
inteiro que utiliza vários contêineres a partir do
catálogo com clique de um botão.
O Rancher mantém um catálogo público composto por
aplicações populares contribuídas pela comunidade
Rancher. Os usuários do Rancher também podem criar
seus próprios catálogos privados.
RANCHER
COMPONENTES PRINCIPAIS
16. Gerenciamento de usuários e controle de acesso
O Rancher oferece suporte de integração e autenticação de usuários
com Active Directory, LDAP, Azure AD e GitHub. Bem como suporte
a controle de acesso baseado em funções (Role-Based Access Control
- RBAC), permitindo que usuários e grupos compartilhem ou recusem a
entrada em ambientes de desenvolvimento e produção.
RANCHER
COMPONENTES PRINCIPAIS
17. ● Open Source e gratuito;
● Facilidade de utilização dos comandos do docker via interface web;
● Criação de infraestruturas híbridas (Cloud com Infra física);
● Criação de Stacks (Conjunto de containers para o mesmo fim,
exemplo: Wordpress e Mysql), com controle de TAGS e descrição
do serviço;
● Load Balancers - Com o Rancher é fácil adicionar um balanceador
a sua aplicação, por padrão ele utiliza o Haproxy, com a
possibilidade de adicionar configurações customizadas;
RANCHER
VANTAGENS E FUNCIONALIDADES
18. ● Health Check por Socket ou http 200 (verifica a integridade e a
saúde de container);
● Separação total de ambientes (ambientes físicos podem ser
totalmente isolados do ambiente virtual) utilizando CNI - the
Container Network Interface;
● Rede privada entre os containers mesmo que em máquinas
separadas utilizando tunelamento IPsec;
● Configuração total da rede virtual;
● Metadata Service (Serviço de API);
RANCHER
VANTAGENS E FUNCIONALIDADES
19. ● Controle de recursos (memória,cpu,swap) da máquina física por
contêineres;
● Acesso ao terminal shell e aos logs dos contêineres pela interface
web;
● Possibilidade de envio de log para outras aplicações
(Graylog,Kibana);
● Possibilidade de um serviço de storage (Glusterfs,Convoy);
● Repositório de senhas e certificados SSL;
RANCHER
VANTAGENS E FUNCIONALIDADES
20. ● Auditoria de alterações feitas no Rancher;
● Criação de máquinas virtuais pelo próprio gerenciador web;
● Facilidade na hora de escalar um container e resolução de
troubleshooting;
● Criação de Stacks predefinidos (Catálogos);
RANCHER
VANTAGENS E FUNCIONALIDADES