O documento discute a ferramenta de gerenciamento de virtualização Ganeti. Em três frases, o documento apresenta o caso de uso da EBC, que migrou 160 máquinas virtuais para um cluster Ganeti com 15 nós, permitindo administração centralizada e automação de serviços. Além disso, discute como o Ganeti oferece recursos como replicação de dados em tempo real e migração transparente de VMs entre nós do cluster.
Palestra que aborda ferramentas para gerência de configuração (puppet), orquestração (mcollective) e provisionamento para dar início a adoção de métodos ágeis e automatização em infraestrutura.
Apresentação de Gerenciamento de Configurações com Puppet proposto e implantado na Oi Internet. Esta apresentação descreve a primeira fase do projeto.
Nesta implantação trabalhamos com git, puppet 4.2, puppet db, puppet forge, profile/role, jenkins para CI.
Testes em aplicações JEE: Montando sua infra de testes automatizadosDiego Santos
A 4Linux foi uma das patrocinadoras do Just Java 2012 que ocorreu nos dias 18 e 19/05/2012. Além do patrocínio, a equipe 4Linux foi responsável pela apresentação da palestra: Testes em aplicações Java EE: Montando sua infra de testes automatizados.
Apresentação de Docker para Maiores realizado na Superlogica Tecnologias.
Link dos exemplos: https://github.com/msfidelis/DockerParaMaioresSuperlogica/
Palestra que aborda ferramentas para gerência de configuração (puppet), orquestração (mcollective) e provisionamento para dar início a adoção de métodos ágeis e automatização em infraestrutura.
Apresentação de Gerenciamento de Configurações com Puppet proposto e implantado na Oi Internet. Esta apresentação descreve a primeira fase do projeto.
Nesta implantação trabalhamos com git, puppet 4.2, puppet db, puppet forge, profile/role, jenkins para CI.
Testes em aplicações JEE: Montando sua infra de testes automatizadosDiego Santos
A 4Linux foi uma das patrocinadoras do Just Java 2012 que ocorreu nos dias 18 e 19/05/2012. Além do patrocínio, a equipe 4Linux foi responsável pela apresentação da palestra: Testes em aplicações Java EE: Montando sua infra de testes automatizados.
Apresentação de Docker para Maiores realizado na Superlogica Tecnologias.
Link dos exemplos: https://github.com/msfidelis/DockerParaMaioresSuperlogica/
Vagrant - ambiente de desenvolvimento virtualizadoVinícius Krolow
Talk apresentada no Tchêlinux - Pelotas (2014)
Falando de ambientes de desenvolvimento virtual, apontando as facilitades/vantagens do uso do mesmo, e usando vagrant como ferramenta criar esses ambientes
Palestra do FLISOL 2011 DF, sobre uso do Ganeti e do Puppet para administração de ambientes virtualizados.
Essa palestra possui problemas de formatação.
DevCommerce Conference 2016: Vantagens e resultados de containers e VMs para ...iMasters
Wellington Silva, DevOps da Global Fashion Group, palestrou sobre "Vantagens e resultados de containers e VMs para o e-commerce", no DevCommerce Conference 2016.
O DevCommerce Conference 2016 aconteceu nos dias 06 e 07 de junho de 2016, no Hotel Tivoli em São Paulo-SP http://devcommerce2016.imasters.com.br/
Esta apresentação teve o objetivo de abordar o que é a cultura DevOps, passando pelo seu surgimento, conflitos entre devel e infra e como superá-los, é um apresentação introdutória feita a 3 mãos no CONSEGI.
Apresentação do Zabbix como ferramenta com recursos avançados para monitoramento de sistemas, serviço, disponibilidade e performance. Apresentação de novos recursos a versão 2.
Apresentação do termo devops, apresentação das origens do termo, devopsdays, conceituando o tema, conflitos entre infra e devel, solução para conflitos, adoção da cultura e ganhos a partir da adoção.
As classes de modelagem podem ser comparadas a moldes ou
formas que definem as características e os comportamentos dos
objetos criados a partir delas. Vale traçar um paralelo com o projeto de
um automóvel. Os engenheiros definem as medidas, a quantidade de
portas, a potência do motor, a localização do estepe, dentre outras
descrições necessárias para a fabricação de um veículo
Este certificado confirma que Gabriel de Mattos Faustino concluiu com sucesso um curso de 42 horas de Gestão Estratégica de TI - ITIL na Escola Virtual entre 19 de fevereiro de 2014 a 20 de fevereiro de 2014.
Em um mundo cada vez mais digital, a segurança da informação tornou-se essencial para proteger dados pessoais e empresariais contra ameaças cibernéticas. Nesta apresentação, abordaremos os principais conceitos e práticas de segurança digital, incluindo o reconhecimento de ameaças comuns, como malware e phishing, e a implementação de medidas de proteção e mitigação para vazamento de senhas.
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...Faga1939
Este artigo tem por objetivo apresentar como ocorreu a evolução do consumo e da produção de energia desde a pré-história até os tempos atuais, bem como propor o futuro da energia requerido para o mundo. Da pré-história até o século XVIII predominou o uso de fontes renováveis de energia como a madeira, o vento e a energia hidráulica. Do século XVIII até a era contemporânea, os combustíveis fósseis predominaram com o carvão e o petróleo, mas seu uso chegará ao fim provavelmente a partir do século XXI para evitar a mudança climática catastrófica global resultante de sua utilização ao emitir gases do efeito estufa responsáveis pelo aquecimento global. Com o fim da era dos combustíveis fósseis virá a era das fontes renováveis de energia quando prevalecerá a utilização da energia hidrelétrica, energia solar, energia eólica, energia das marés, energia das ondas, energia geotérmica, energia da biomassa e energia do hidrogênio. Não existem dúvidas de que as atividades humanas sobre a Terra provocam alterações no meio ambiente em que vivemos. Muitos destes impactos ambientais são provenientes da geração, manuseio e uso da energia com o uso de combustíveis fósseis. A principal razão para a existência desses impactos ambientais reside no fato de que o consumo mundial de energia primária proveniente de fontes não renováveis (petróleo, carvão, gás natural e nuclear) corresponde a aproximadamente 88% do total, cabendo apenas 12% às fontes renováveis. Independentemente das várias soluções que venham a ser adotadas para eliminar ou mitigar as causas do efeito estufa, a mais importante ação é, sem dúvidas, a adoção de medidas que contribuam para a eliminação ou redução do consumo de combustíveis fósseis na produção de energia, bem como para seu uso mais eficiente nos transportes, na indústria, na agropecuária e nas cidades (residências e comércio), haja vista que o uso e a produção de energia são responsáveis por 57% dos gases de estufa emitidos pela atividade humana. Neste sentido, é imprescindível a implantação de um sistema de energia sustentável no mundo. Em um sistema de energia sustentável, a matriz energética mundial só deveria contar com fontes de energia limpa e renováveis (hidroelétrica, solar, eólica, hidrogênio, geotérmica, das marés, das ondas e biomassa), não devendo contar, portanto, com o uso dos combustíveis fósseis (petróleo, carvão e gás natural).
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
Consegi 2011: Ganeti + Puppet
1. CONSEGI 2011
Assuma o controle do seu
parque virtualizado
Palestrantes:
Guto Carvalho @gutocarvalho
Daniel Sobral @dcsobral
2. Já teve a sensação de estar perdendo o
controle do seu ambiente virtualizado?
Foto tirada do site sysadminday.com por Frank Schicksal
3. O que se busca com a virtualização?
● Melhor consumo de energia
● Administração Centralizada
● Uso eficiente dos recursos de hardware
● Agilidade na instalação de novos ambientes
● Isolamento de ambientes
● Flexibilidade para ajustar recursos das Vms
● Memória
● Processamento
● Armazenamento
● Rede
● Maior controle do ambiente
● Consolidação de seu ambiente físico
● Aumentar disponibilidade do ambiente
4. Quais os problemas de percurso?
● Crescimento sem Padronização
● Crescimento sem Monitoramento
● Crescimento sem Documentação
● Tecnologias híbridas que combinam softwares
proprietários e livres que tem dificuldades para
funcionarem em conjunto e que demandam
manutenções e ajustes constantes.
● Ambiente com grande complexidade de manutenção
6. Necessidades do cliente
● Isolamento de ambientes e serviços em vm's
● Facilidade de migração entre sites em uma mesma cidade
● Ter maior estabilidade nos serviços oferecidos
● Ter maior disponibilidade
● Curta curva de aprendizagem – na tecnologia de
virtualização - para a equipe de administradores.
● CPDs geograficamente separados, permitindo movimentar
máquinas entre eles de forma transparente.
● Otimizar o uso de armazenamento em disco
7. Desafios
Centralização da administração e configuração
●
Padronização do ambiente
●
● Sistemas operacionais
● Ferramentas de administração
● Configuração dos serviços
●Rápida implantação e implementação de
soluções
Conversão de infraestrutura
●
Ter uma manutenção descomplicada
●
8. Decisões Importantes
● Utilização de tecnologia livre ou open-source
● Internalizar suporte da solução
● Utilização coerente de recursos e orçamento
● Investimento em conhecimento e equipe
● Investimento financeiro em hardware
● Investimento financeiro mínimo em software
● Renovação do parque de servidores
9. Caso de Estudo
● EBC - Empresa Brasil de
Comunicação
● Cerca de 160 máquinas virtuais
rodando em um 'cluster' com 15
nós
● Gestão e distribuição de
configurações
● Administração compartilhada de
4 DevOps
● Automação de serviços e
procedimentos
● Monitoramento robusto
10. Especialistas Envolvidos
Equipe Tecnisys
José Augusto Carvalho @gutocarvalho
Daniel Sobral @dcsobral
Jefferson Santos @jalexandre0
Equipe EBC
Tadeu Ibns N. Rocha – tadeuibns@gmail.com
José Eufrásio @coredump
Nieson Santos – nieson.santos@gmail.com
12. Terminologia
Virtualização consiste em executar vários
sistemas operacionais em uma mesma máquina.
Cluster Node = Máquina Física
Instance = Máquina Virtual
13. Nossa escolha
● Produto criado pelo Google: GANETI
● Case interessante de uso interno no Google
● Facilidade de implementação
● Utilização de hypervisors livres XEN e KVM
● Funciona em modo Cluster
● Permite migração de máquinas entre nós do cluster
● Administração simplificada via CLI ou WEB (frontends)
● Boa documentação, desenvolvimento ativo e comunidade
crescente
14. Visão Geral da Ferramenta
Gerenciador Open Source para
virtualização em Cluster
Combina virtualização e replicação de
disco em tempo real
Oferece uma aplicação de alta
disponibilidade promovendo uma
melhor utilização dos recursos do seu
datacenter.
É utilizado pelo Google internamente.
19. Replicação
● Replicação de dados em tempo real via DRBD
● Node secundário assume em caso de falha
20. Administração Centralizada
Na infraestrutura XEN a administração é
descentralizada, precisávamos entrar em cada
máquina para fazer manutenções nas VM.
Hoje fazemos isto de forma centralizada no
master node.
21. Visão dos recursos disponíveis
Usando apenas XEN, para criar máquinas
precisávamos entrar em cada servidor para
avaliar os recursos disponíveis e escolher um
servidor ideal para instalar o serviço.
Com o Ganeti temos um visão completa de todo o
cluster a partir do nó Master.
22. Ferramenta Sólida
● Não depende de hardware específico
● Escala linearmente
● Redundância N+1
23. Administrando
Até agora tudo bem, mas e a administração como
funciona, será que é realmente descomplicado e
transparente?
24. Operações em seu cluster via CLI
1. Criando um cluster (resumidamente)
# gnt-cluster init gnt-node01.empresa
2. Adicionando nó ao cluster (após instalar o node)
# gnt-instance add node02
# gnt-instance add node03
3. Criando máquina virtual
# gnt-instance add -n node1 -t plain -H memory=1G -s 10G -o
debian apache01
25. Comandos básicos
4. desligando
# gnt-instance shutdown maquina
5. ligando
# gnt-instance startup maquina
6. reiniciando
# gnt-instance reboot maquina
7. acessando console de maquinas em qualquer lugar do cluster mestre
# gnt-instance console maquina
8. removendo instancia
# gnt-instance remove maquina
28. Alterando recursos de VMs
1. Adicionando mais memoria
# gnt-instance modify -B memory=4G maquina
2. Adicionando mais processadores
# gnt-instance modify -B vcpus=3 maquina
3. Adicionando mais placas de rede
# gnt-instance modify -B --net add:ip=192.168.50.173 maquina
4. Adicionando disco/partição
# gnt-instance gnt-instance modify --disk add:size=1g smtp02
29. Hooks
● Execução de comandos na instalação da instância
● Criação de Perfis de Instalação
● Padronização de configurações do OS durante a
instalação
● Instalação e configuração dos pacotes básicos
● Configurações de idioma
● Configurações de localização
● Configurações de repositórios
● Configurações de rede e segurança
● Configurações de usuários e grupos
30. Ganhos com essa tecnologia
Cliente
● Uso coerente dos recursos de hardware/rede
● Investimento em conhecimento da equipe
● Investimento de SW direcionado para HW
Equipe
● Facilidade na criação e adm. de máquinas
● Movimentação de VM's entre nós e SITES
● Replicação DRDB = Alta disponibilidade
31. Limitações
● Uso de Múltiplos volumes – storage area
network (SAN)
● SNAPSHOTs
● Clonagem de máquinas
● DRDB e desempenho
● I/O
● Uso de Múltiplas Redes
37. Comparando
Instalação de Máquina Física – Debian Lenny
Tempo de criação de maquina virtual - 40 minutos
Tempo de configuração/update* via internet – 40 minutos
* Levando em conta configurações da rede, locale, ntpdate, backup,
monitoramento, criação de usuários, instalação de pacotes básicos do
sysadmin.
Instalação de Máquina Virtual – Debian Lenny
Tempo de criação de maquina virtual - 2 minutos
Tempo de configuração/update* usando Hooks – 2 a 4 minutos
* Levando em conta configurações da rede, locale, ntpdate, backup, monitoramento,
criação de usuários, instalação de pacotes básicos do sysadmin.
38. Dicas importantes
● Atenção com DNS, dependência grande para criar a
VMs
● Uso e abuse de Activate Disks para montar e `clonar`
máquinas
● GrowDisk e Parted
● Nunca dê CTRL+C
● Usar - - submit
● Tenha paciência, não use KILL em um processo de
MOVE ou CREATE. Espere terminar.
39. Expandindo os Hooks
Sabendo que os hooks só podem ser utilizados
instalação das VMS, como ir além dos hooks...?
Como podemos atuar no gerenciamento de
configurações no momento em que precisarmos?
41. Gestão de Configuração
● Facilitar o trabalho de administração de
servidores
● Padronizar as configurações utilizadas
● Possibilitar auditoria de configuração
● Centralizar a administração
● Acelerar a criação de novos servidores
● Acelerar a configuração de serviços
42. Exemplos de Itens de Configuração
● Usuários
● Grupos
● Arquivos de Configuração
● Pacotes instalados
● Execução periódica de scripts
45. Puppet: Fácil Aprendizado
Sintaxe Declarativa
● Pacote ntpdate
● Garantir que esteja instalado
● Crontab
● Usuário root
● Comando 'ntpdate ntp.dominio'
● Executar de hora em hora
package { 'ntpdate':
ensure => installed,
}
cron { 'sincroniza horario':
user => 'root',
command => '/usr/sbin/ntpdate ntp.dominio',
minute => 0,
}
46. Puppet: Fácil Aprendizado
Independente de Plataforma
c l as s edi t or {
$v i m = $oper at i ngs y s t em ? {
' RedHat ' => ' v i m enhanc ed',
-
' Cent OS' => ' v i m enhanc ed',
-
' Fedor a' => ' v i m enhanc ed',
-
def aul t => ' v i m ',
}
pac k age { " $v i m":
ens ur e => pr es ent,
al i as => ' v i m',
}
}
node “ hos t 01. dom n. c om br ” {
ai .
i nc l ude edi t or
}
node “ hos t 02. dom n. c om br ” {
ai .
i nc l ude edi t or
}
47. Puppet: Auto documentado
class linux-server {
# Include classes common to all linux servers
include localmta
include ntpdate
include puppet::conf
include ssh::server
include sudoers
include users
include utils
include zabbix-agent
include editor
include snmpd
include rsyslog
#...
48. Puppet: Controle de Versão e
Rollback
#gi t l og
c om i t 263b2239cc f f 746f 345c448d723f 4f f 52d3f 8c0f
m
Aut hor : Dani el Sobr al <dcs obr al @ ai l . com
gm >
Dat e: Thu Mar 31 22: 11: 16 2011 - 0300
Ex cl ui a bol et i ns das máqui nas c onf i gur adas c om m a s at él i t e.
o t
Li m t a a conf i gur aç ão do ex i m às m
i 4 áqui nas Ubunt u e Debi an.
c om i t 8f bed5a4b8095b7560941c598454d47f 3b3dec7e
m
Aut hor : Dani el Sobr al <dcs obr al @ ai l . com
gm >
Dat e: Thu M ar 31 22: 08: 22 2011 - 0300
Cl as se debi an- c om on adapt ada par a l i dar com Ubunt u. Basi cam
m ent e,
f or ça
l i dar com s er vi ços no padr ão Debi an ( Ubunt u s upor t a padr ão Fr eeBSD
t am bém , e não m
) exe no sour ce l i st ( por hor a).
Si st emas Ubunt u t ambém i nc l ui r ão a c l as s e debi an- s er ver.
Ver i f i ca se o k er nel é xen, e, s e f or , i nc l ui o l i nux modul es
cor r es pondent e.
49. Puppet: Altamente Flexível
node " el ei c oes c onc ur v m 01" {
i nc l ude l i nux - s er v er
j bos s : : app { ' c ons el ho':
c onf => ' def aul t ',
pgdb => ' c ons el hopr od' , # Al t er a pg_ hba. c onf
}
}
node “ el ei c oes c onc ur v m bd01” {
i nc l ude l i nux - s er v er
pgdb { ' c ons el hopr od' : # Ger a XM par a dat as our c e
L
pas s wor d => ' * * * * * * * * ',
pgv er s i on => ' 8. 4',
}
}
50. Puppet: Expansível
def i ne pgcl i ent ( $ens ur e = pr esent ,
● Puppet $i p = $i paddr ess) {
@ l i ne { " pgcl i ent ${ i p} ":
@
● Classes ens ur e => $ensur e,
l i ne => " ${ i p} / 32 n",
r equi r e => Fi l e[ ' c l i ent i p' ],
● Definições t ag => " pgcl i ent _ $
{ t i t l e} " ,
● Templates (ERB) }
}
● Ruby # augeas v er s i on. r b
Fact er . add( " augeasv er si on" ) do
● Fatos set code do
begi n
r equi r e ' augeas '
● Funções aug = Augeas: : open( ' ' , ' ' ,
Augeas: : NO_LOAD & Augeas : : NO_ STDI NC)
● Tipos aug. get ( ' / augeas/ v er s i on' ) | |
ni l
● Provedores #. . .
51. Puppet: Problemas
● Mensagens de erro ruins
● Servidor default nao segura mais de 20
máquinas
● Com Apache/Passenger, já temos +160 servidores
● Não distribui arquivos grandes
● Usar pacotes ou execução de comandos como
wget
● Grande investimento de tempo para ir do nível
médio ao de expert
55. Comparação Final
Máquina Física – Debian Lenny + LAMP
● Tempo de instalação de maquina física – 40 minutos sem atualizações (CD)
● Tempo de configuração/update OS* – padrão - de maquina física – 40 minutos
● Tempo de instalação e configuração Apache2, PHP5, MYSQL – 2 horas**
Máquina Virtual – Debian Lenny
● Tempo de criação de maquina virtual - 2 minutos
● Tempo de configuração/update OS* usando Hooks – 2 a 4 minutos
● Tempo de instação e configuração Apache2, PHP5, MYSQL – 2 a 4 minutos**
* Levando em conta configurações da rede, locale, ntpdate, backup, monitoração, criação de usuários,
instalação de pacotes básicos do sysadmin.
** Levando em conta hardening, tuning os, apache2, php5, mysql, considerando ter as classes prontas
56. Conclusão
O Ganeti é uma alternativa viável, moderna
estável, largamente utilizado no google, em
franco desenvolvimento com um comunidade
crescente e ativa.
O Puppet é uma ferramenta essencial para
gerenciar e distribuir configurações, ele é um
batalhão de sysadmins trabalhando para você.
57. Informações dos projetos
Site/Blog Site/Blog
Http://ww.puppetlabs.com http://code.google.com/p/ganeti/
Http://www.puppetlabs.com
Docs
Twitter http://docs.ganeti.org
@puppetlabs
Twitter (manager web do ganeti)
Http://www.github.com/puppelabs @ganetiwebmgr
Google Groups Google Groups
Puppet-camp, ganeti,
puppet-users, ganeti-devel
puppet-dev ganeti-webmgr
IRC IRC
Irc.freenode.org Irc.freenode.org
#puppet #ganeti
58. Contato, Dúvidas, Perguntas
Guto Carvalho: Daniel Sobral
gutocarvalho@gmail.com dcsobral@gmail.com
@gutocarvalho @dcsobral
http://gutocarvalho.net/dokuwiki http://dcsobral.blogspot.com
Http://github.com/dcsobral Http://github.com/dcsobral
Palestras de hoje disponíveis em nossos sites.
Palestra sob licença Creative Commons – Atribuição.