SlideShare uma empresa Scribd logo
1 de 24
ORQUESTRAÇÃO DE CONTAINERS COM RANCHER
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
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?
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?
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?
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
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?
● 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?
● 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?
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?
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
Orquestração
Rancher aceita os principais orquestradores:
● Docker Swarm
● Kubernetes
● Mesos
O Rancher possui seu próprio orquestrador:
● Cattle
RANCHER
COMPONENTES PRINCIPAIS
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
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
● 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
● 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
● 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
● 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
RANCHER
COMPONENTES PRINCIPAIS
RANCHER
CASO DE USO
No nosso ambiente Rancher utilizamos:
● 3 Servidores Físicos
● 1 Storage
● 20 Máquinas Virtuais
● 84 Stacks (Aplicações)
● +137 Containers
RANCHER
VÍDEO CRIANDO UM LOAD BALANCER
Veja o vídeo em:
https://youtu.be/Due2rn-qagM
MUITO OBRIGADO!!

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Feature Flags.pdf
Feature Flags.pdfFeature Flags.pdf
Feature Flags.pdf
 
Princípios S.O.L.I.D.
Princípios S.O.L.I.D.Princípios S.O.L.I.D.
Princípios S.O.L.I.D.
 
Aula 1 - Revisão UML
Aula 1 - Revisão UMLAula 1 - Revisão UML
Aula 1 - Revisão UML
 
Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
Anatomy of a Continuous Integration and Delivery (CICD) PipelineAnatomy of a Continuous Integration and Delivery (CICD) Pipeline
Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
 
Kks sre book_ch1,2
Kks sre book_ch1,2Kks sre book_ch1,2
Kks sre book_ch1,2
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Integração Contínua
Integração ContínuaIntegração Contínua
Integração Contínua
 
Node.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançadoNode.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançado
 
Design patterns for microservice architecture
Design patterns for microservice architectureDesign patterns for microservice architecture
Design patterns for microservice architecture
 
JSP: Introdução Parte 1
JSP: Introdução Parte 1JSP: Introdução Parte 1
JSP: Introdução Parte 1
 
Micro services vs Monolith Architecture
Micro services vs Monolith ArchitectureMicro services vs Monolith Architecture
Micro services vs Monolith Architecture
 
Node.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo BranasNode.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo Branas
 
Docker 101 : Introduction to Docker and Containers
Docker 101 : Introduction to Docker and ContainersDocker 101 : Introduction to Docker and Containers
Docker 101 : Introduction to Docker and Containers
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...
What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...
What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven Development
 
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
 
Docker Containers Deep Dive
Docker Containers Deep DiveDocker Containers Deep Dive
Docker Containers Deep Dive
 

Semelhante a Orquestração de containers com Rancher

Semelhante a Orquestração de containers com Rancher (20)

DevOpsDays Brasilia 2017
DevOpsDays Brasilia 2017DevOpsDays Brasilia 2017
DevOpsDays Brasilia 2017
 
DevOpsDays - Apresentação
DevOpsDays - ApresentaçãoDevOpsDays - Apresentação
DevOpsDays - Apresentação
 
Flisol 2015
Flisol 2015 Flisol 2015
Flisol 2015
 
Containers em produção!
Containers em produção!Containers em produção!
Containers em produção!
 
Fundamentos em Containers
Fundamentos em ContainersFundamentos em Containers
Fundamentos em Containers
 
Apresentação Docker
Apresentação DockerApresentação Docker
Apresentação Docker
 
Docker meetup
Docker meetupDocker meetup
Docker meetup
 
Docker basicão e sem mistérios
Docker basicão e sem mistériosDocker basicão e sem mistérios
Docker basicão e sem mistérios
 
Docker - Básico
Docker - BásicoDocker - Básico
Docker - Básico
 
Escalonamento de processos em sistemas virtualizados
Escalonamento de processos em sistemas virtualizadosEscalonamento de processos em sistemas virtualizados
Escalonamento de processos em sistemas virtualizados
 
O que é Docker?
O que é Docker?O que é Docker?
O que é Docker?
 
Apresentacao docker
Apresentacao dockerApresentacao docker
Apresentacao docker
 
Treinamento Docker Básico
Treinamento Docker BásicoTreinamento Docker Básico
Treinamento Docker Básico
 
Treinamento Rancher
Treinamento RancherTreinamento Rancher
Treinamento Rancher
 
O poder dos microsserviços com Docker e Kubernetes
O poder dos microsserviços com Docker e KubernetesO poder dos microsserviços com Docker e Kubernetes
O poder dos microsserviços com Docker e Kubernetes
 
Docker
DockerDocker
Docker
 
Desenvolvimento em Nuvem
Desenvolvimento em NuvemDesenvolvimento em Nuvem
Desenvolvimento em Nuvem
 
Transportando as aplicações entre vários ambientes com Docker
Transportando as aplicações entre vários ambientes com DockerTransportando as aplicações entre vários ambientes com Docker
Transportando as aplicações entre vários ambientes com Docker
 
Docker: Introdução à Conteinerização de Apps e Nuvem.
Docker: Introdução à Conteinerização de Apps e Nuvem.Docker: Introdução à Conteinerização de Apps e Nuvem.
Docker: Introdução à Conteinerização de Apps e Nuvem.
 
Olá docker
Olá dockerOlá docker
Olá docker
 

Orquestração de containers com Rancher

  • 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
  • 22. RANCHER CASO DE USO No nosso ambiente Rancher utilizamos: ● 3 Servidores Físicos ● 1 Storage ● 20 Máquinas Virtuais ● 84 Stacks (Aplicações) ● +137 Containers
  • 23. RANCHER VÍDEO CRIANDO UM LOAD BALANCER Veja o vídeo em: https://youtu.be/Due2rn-qagM