O documento apresenta sobre infraestrutura como código usando Puppet e Mcollective. Ele discute sobre os desafios da administração manual de sistemas à medida que o ambiente cresce e propõe a automação, padronização e controle da infraestrutura como solução. Em seguida, apresenta o Puppet como ferramenta de gerência de configurações que permite declarar a infraestrutura desejada de forma idempotente e tratar recursos de forma abstrata. Por fim, discute brevemente sobre o Mcollective.
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.
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.
Lidando com operações assíncronas no redux com redux sagaHugo Bessa
O Redux é uma ferramenta comumente usada em aplicações React para melhor gestão do fluxo de informação, porém, por padrão, ela não lida muito bem com operações assíncronas, fazendo necessário o uso de middlewares como redux-promises, redux-thunk, e o redux-saga. Nesse talk irei falar um pouco sobre o redux-saga, os principais motivos para usá-lo, e mostrar na prática como usamos aqui na Vinta.
Palestra ministrada no Darkmira Tour 2017 com o título "Sim, existe vida além do FTP". O objetivo foi de mostrar métodos alternativos ao uso do FTP como única ferramenta para deploy de sua aplicação, seus riscos e as alternativas paara sua substituição até então.
Acostumado a sempre ouvir falar de: Zend FrameWork, Laravel, symfony e entre outros ? - Porém existem outras ferramentas que não precisam ser verdadeiros canhões e que seja possível organizar, trabalhar com reutilização de código e etc. Que tal utilizar então um : micro-framework para ajudar nessas rotinas mais comuns e imagine que esse micro-framework seja baseado no symfony ? Essa maravilha é o Silex que para quem está começando a se organizar e deseja entrar no mundo PHP profissional tais como, testes, API's, MVC, módulos próprios, services e entre outros irá ajudar a trilhar esse caminho sem muita dor de cabeça. A palestra visa mostrar os seguintes assuntos:
* O que é um micro-framework
* Por que devo utilizar ?
* Silex X Lumen !
* Instalando o Silex
* Serviços
* Rotas
* Twig - Utilização básica
* Doctrine - Utilização básica
* Monolog
Hooks foi introduzido ao React na segunda metade de 2018 e definitivamente mudou a forma de escrever aplicações React. Nessa palestra você vai aprender a motivação e o problema que Hooks vieram pra resolver, serão apresentados os Hooks nativos do React, e também exemplos de Hooks implementados pelas bibliotecas usadas pela comunidade, além do poder dos Custom Hooks. Também será compartilhado como você pode motivar o seu time a adotar Hooks no seu projeto React.
Este é o slide de apresentação do meu projeto de treinamento como estagiário na Personare, a proposta foi desenvolver uma API e um Client, usando algum Framework na época eu optei por usar o Silex como Back-End, o Angular como Client para consumir a API, e o Swagger que é um componente fantástico para documentação. Além destes também foi usado o Composer, PHPUnit, PSR-0 Autoload
Demo documentação com Swagger
http://enviroment-deler.rhcloud.com/doc
Demo cliente em angular
http://enviroment-deler.rhcloud.com/client
Confira o projeto em:
https://github.com/Delermando/systemAgendaV3/
Este Lab foi produzido para ser um estudo prático introdutório para as tecnologias envolvidas com desenvolvimento Python/Django. Sendo assim não tem intenção de ser um curso ou fonte de referências.
IaaS: Implantação e gerenciamento de configurações de ambientes Cloud usando...Diego Santos
Slides da palestra: IaaS: Implantação e gerenciamento de configurações de ambientes Cloud usando Puppet. Esta palestra foi apresentada pelo colaborador da 4Linux Guto Carvalho, na CloudConf.
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.
Lidando com operações assíncronas no redux com redux sagaHugo Bessa
O Redux é uma ferramenta comumente usada em aplicações React para melhor gestão do fluxo de informação, porém, por padrão, ela não lida muito bem com operações assíncronas, fazendo necessário o uso de middlewares como redux-promises, redux-thunk, e o redux-saga. Nesse talk irei falar um pouco sobre o redux-saga, os principais motivos para usá-lo, e mostrar na prática como usamos aqui na Vinta.
Palestra ministrada no Darkmira Tour 2017 com o título "Sim, existe vida além do FTP". O objetivo foi de mostrar métodos alternativos ao uso do FTP como única ferramenta para deploy de sua aplicação, seus riscos e as alternativas paara sua substituição até então.
Acostumado a sempre ouvir falar de: Zend FrameWork, Laravel, symfony e entre outros ? - Porém existem outras ferramentas que não precisam ser verdadeiros canhões e que seja possível organizar, trabalhar com reutilização de código e etc. Que tal utilizar então um : micro-framework para ajudar nessas rotinas mais comuns e imagine que esse micro-framework seja baseado no symfony ? Essa maravilha é o Silex que para quem está começando a se organizar e deseja entrar no mundo PHP profissional tais como, testes, API's, MVC, módulos próprios, services e entre outros irá ajudar a trilhar esse caminho sem muita dor de cabeça. A palestra visa mostrar os seguintes assuntos:
* O que é um micro-framework
* Por que devo utilizar ?
* Silex X Lumen !
* Instalando o Silex
* Serviços
* Rotas
* Twig - Utilização básica
* Doctrine - Utilização básica
* Monolog
Hooks foi introduzido ao React na segunda metade de 2018 e definitivamente mudou a forma de escrever aplicações React. Nessa palestra você vai aprender a motivação e o problema que Hooks vieram pra resolver, serão apresentados os Hooks nativos do React, e também exemplos de Hooks implementados pelas bibliotecas usadas pela comunidade, além do poder dos Custom Hooks. Também será compartilhado como você pode motivar o seu time a adotar Hooks no seu projeto React.
Este é o slide de apresentação do meu projeto de treinamento como estagiário na Personare, a proposta foi desenvolver uma API e um Client, usando algum Framework na época eu optei por usar o Silex como Back-End, o Angular como Client para consumir a API, e o Swagger que é um componente fantástico para documentação. Além destes também foi usado o Composer, PHPUnit, PSR-0 Autoload
Demo documentação com Swagger
http://enviroment-deler.rhcloud.com/doc
Demo cliente em angular
http://enviroment-deler.rhcloud.com/client
Confira o projeto em:
https://github.com/Delermando/systemAgendaV3/
Este Lab foi produzido para ser um estudo prático introdutório para as tecnologias envolvidas com desenvolvimento Python/Django. Sendo assim não tem intenção de ser um curso ou fonte de referências.
IaaS: Implantação e gerenciamento de configurações de ambientes Cloud usando...Diego Santos
Slides da palestra: IaaS: Implantação e gerenciamento de configurações de ambientes Cloud usando Puppet. Esta palestra foi apresentada pelo colaborador da 4Linux Guto Carvalho, na CloudConf.
Com o surgimento de frameworks cada dia mais avançados e fáceis de utilizar, desenvolvedores estão cada dia mais focados na lógica de negócio e menos na infraestrutura necessária para execução das aplicações, que acabam por se tornar mais complexas, multi stack e distribuídas.
Mesmo com a evolução gigantesca na área automação que acompanhou esses frameworks (evolução essa liderada por técnologias como Capistrano, Heroku (PaaS) e Vagrant) o gargalo de comunicação entre equipe de desenvolvimento e operações continua a ser o maior impasse da área na hora de colocar uma solução para rodar.
Nesta palaestra vamos falar sobre "arquitetura executável" com foco na ferramenta open source de orquestração: AZK. Uma ferramenta que ajuda a ganhar agilidade no processo de orquestração do ambiente de desenvolvimento, mas sobre tudo tem como resultado uma "documentação executável da arquitetura" que facilita muito a vida de toda a equipe.
PT-BR - Lauching a Public PaaS on Open Source Getup & OpenShift Origin - FISL14Getup Cloud
Apresentação no FISL14 da nossa implementação de OpenShift Origin usando infraestrutura Amazon junto com a Diane Mueller - Red Hat Cloud Ecosystem Evangelist
Palestra de Neto Marin no InterCon Dev - Android, em setembro de 2013, sobre Next Level Apps. Saiba mais em: http://intercon.imasters.com.br/dev/android/
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.
3. José Augusto (Guto) Carvalho
Consultor/SysAdmin/DevOp (LPIC-3 e PCP-201);
14 anos de experiência com TI e FOSS;
Blogueiro TI/FOSS há 10 anos no site gutocarvalho.net;
Atuação em vários projetos de Governo no MDA, MINC, EBC/RADIOBRÁS,
MPS/DATAPREV, ITI/PR, CAIXA, MD/SIPAM, DETRAN/DF;
Entusiasta DevOps (sysadmin em recuperação) desde 2010.
whoami
FOSS => Free and Open Source Software
sábado, 21 de setembro de 13
4. Plano de Trabalho
40 minutos de apresentação
10 minutos para perguntas
Faça perguntas quando quiser
Slidedeck disponível em slideshare.com/gutocarvalho
sábado, 21 de setembro de 13
5. Agenda
Gerência de configurações
Infraestrutura como código
Ferramentas de infraestrutura como código;
Puppet como solução de gerência de configurações
Puppet arquitetura, funcionamento e recursos
Mcollective
Perguntas
sábado, 21 de setembro de 13
12. Tarefas Repetitivas
Criação de usuários
Elaboração de scripts
Configuração de serviços
Configurações de monitoramento
Criação de imagens de ambientes
Configuração do sistema operacional
Instalação, atualização e remoção de pacotes
sábado, 21 de setembro de 13
13. A medida que o parque aumenta
administrá-lo fica mais complicado
sábado, 21 de setembro de 13
14. Você vai percerber que...
Fica mais difícil identificar e corrigir problemas
Fica mais difícil manter ambientes complexos funcionando
Fica mais difícil manter seu parque padronizado
Sua produtividade diminui a media que o ambiente cresce
Sua capacidade de entrega não é mais a mesma
Você nunca chega em casa no mesmo horário
Você trabalha muitos finais de semana e madrugadas
sábado, 21 de setembro de 13
15. Maior risco de ocorrer falhas
sábado, 21 de setembro de 13
16. Maior tempo gasto para
executar mudanças
sábado, 21 de setembro de 13
17. Quanto tempo
se gasta para
criar um usuário em
450 servidores?
sábado, 21 de setembro de 13
18. Procedimento para criar usuário
Acessar o servidor por ssh
Se tornar root
Criar usuário
Especificar senha temporária
Especificar permissões no sudoers
sábado, 21 de setembro de 13
40. Puppet em poucas palavras
Nos permite parar de administrar e começar a desenvolver nossa infra
Nos permite reaproveitar código para construir configurações
Oferece linguagem declarativa para criar configurações
Sintaxe simples, prática e natural para sysadmins
Oferece suporte a Linux, BDBs, OSX e Windows
sábado, 21 de setembro de 13
42. Sobre a ferramenta
Ferramenta Open Source - Apache License
Ferramenta mantida pela empresa Puppetlabs
Empresa oferece suporte e versão enterprise
Criado por Luke Kaines (CEO e Fundador Puppetlabs)
Cases de uso com gandes players (HP, CISCO, VMWARE...)
Recebeu pesados investimentos
sábado, 21 de setembro de 13
43. Sobre a ferramenta
Ferramenta Open Source - Apache License
Ferramenta mantida pela empresa Puppetlabs
Empresa oferece suporte e versão enterprise
Criado por Luke Kaines (CEO e Fundador Puppetlabs)
Cases de uso com gandes players (HP, CISCO, VMWARE...)
Recebeu pesados investimentos
sábado, 21 de setembro de 13
44. Feito por um SysAdmin para SysAdmins
sábado, 21 de setembro de 13
48. Tech Specs
Escrito em Ruby
Extensível usando código Ruby
Funciona em modo autônomo (serverless)
Funciona em modo cliente.servidor
Usa RESTful API
Oferece comunicação segura com uso de certificados digitais
sábado, 21 de setembro de 13
58. Resource Abstraction Layer
Camada de Abstração de Recursos
Fale o que você quer que seja feito
Não se preocupe em como será feito
O Puppet sabe como fazer
sábado, 21 de setembro de 13
64. Tratamento de informações
No Puppet tudo é modelado e tratado como ‘dados’
O estado atual de um node (servidor) é um dado
Um pacote instalado em um node é um dado
Um usuário em um servidor é um dado
A versão do sistema operacional é um dado
A arquitetua do sistema é um dado
sábado, 21 de setembro de 13
65. Os dados são inseridos em
catálogos pelo master
O catálogo é processado pelo node e as modificações
são aplicadas de acordo com o que foi declarado.
sábado, 21 de setembro de 13
66. Processamento
do Catálogo
1) Agente Requisita Catálogo
1.1) Agente envia Fatos para Master
2) Master Processa Fatos e Compara
2.1) Master Produz e envia Catálogo
3) Node Recebe, Compara e Aplica
4) Node informa estado atual ao Master
5) Sistema reflete catálogo
sábado, 21 de setembro de 13
67. Processamento
do Catálogo
1) Agente Requisita Catálogo
1.1) Agente envia Fatos para Master
2) Master Processa Fatos e Compara
2.1) Master Produz e envia Catálogo
3) Node Recebe, Compara e Aplica
4) Node informa estado atual ao Master
5) Sistema reflete catálogo
sábado, 21 de setembro de 13
69. Configurações
Voláteis e Dados
Puppet
Master
Módulos Estáticos
Visão ampla do Puppet
LDAP DNS MONIT SYSLOG
JBOSS APACHE MYSQL PGSQL
Puppet Agents
Camada de Aplicação
Camada de Serviços Estruturantes
sábado, 21 de setembro de 13
70. Você pode fazer deploy de sua APP
Você pode controlar a versão de sua APP
Você pode controlar fazer rollback
sábado, 21 de setembro de 13
72. Modo Cliente/Servidor
O agente gera um certificado digital
O master precisa autorizar o certificado
Sem autorização o agente não pode se comunicar
Toda a comunicação entre agente e master é segura
sábado, 21 de setembro de 13
73. Puppet Visão em Rede
Puppet Master
Puppet Client
8140/ TCP
puppet agent
acesso
seguro ssl
sábado, 21 de setembro de 13
80. Fluxo Cliente/Servidor
Instalação do
node
Geração de
Certificado
Agente
Sincroniza
Master Assina
Certificado
Envio de
Certificado
Inicialização
do puppet
Modalidades de Assinatura de Certificado
Assinatura pode ser manual
Assinatura pode ser automática por domínio
Assinatura pode ser automática em qualquer requisição
sábado, 21 de setembro de 13
81. O agente se comunica com o
master a cada N minutos
sábado, 21 de setembro de 13
83. Funcionalidades
Resource Types
Parâmetros e Meta-parâmetros para Resource Types
Templates (arquivo dinâmicos)
Definições (configurações dinâmicas)
Classes e Módulos
Funções e Condicionais
sábado, 21 de setembro de 13
84. Puppet Resource Types
Arquivos e Diretórios
Usuários
Alias
Pacotes
Serviços
Yum Repos
Augeas
Hosts
SSH
Cron
O puppet oferece 38 tipos de recursos nativos, e você pode estendê-lo.
sábado, 21 de setembro de 13
85. Resource Type: Packages
Suporte a 23 tipos de
provedores de pacotes
Faz a abstração do OS
Declare se o pacote deve estar
presente ou ausente
Declare se o pacote deve
sempre estar em sua última
versão
sábado, 21 de setembro de 13
86. Resource Type: Services
Suporta 11 tipos de sistemas
INIT para inicializar serviços
Declare se um serviço deve
estar sempre rodando
Declare se um serviço deve ser
carregado no boot
Declare se um serviço depende
de um pacote ou arquivo
sábado, 21 de setembro de 13
87. Resource Type: File
Especifique permissões e
owners
Declare arquivos,
diretórios e links
Controle de mudanças
usando até 15 tipos de
checksums
sábado, 21 de setembro de 13
89. Instala, Configura e Inicia
instalar um pacote
ativar um serviço no boot
copiar arquivo de configuração
iniciar serviço instalado
o que queremos fazer?
sábado, 21 de setembro de 13
90. Instala, Configura e Inicia
# aptitude install apache2
# insserv apache2
# cp ~/httpd.conf /etc/apache2/
# invoke-rc.d apache2 start
no debian seria assim:
sábado, 21 de setembro de 13
91. Instala, Configura e Inicia
# yum install httpd
# chkconfig httpd on
# cp ~/httpd.conf /etc/httpd/conf/
# service httpd start
no redhat/centos seria assim:
sábado, 21 de setembro de 13
93. Puppet Manifests
Arquivo com extensão.pp em que expressamos nossas
necesidades utilizando a sintaxe declarativa do Puppet.
sábado, 21 de setembro de 13
94. package { 'apache2':
ensure => present,
}
service { 'apache2':
ensure => running,
enable => true,
}
file { '/etc/apache2/httpd.conf':
ensure => present,
mode => ‘0644’,
owner => ‘root’,
group => ‘root’,
ensure => “puppet:///files/apache/httpd.conf”,
}
Instala, Configura e Inicia
sábado, 21 de setembro de 13
95. package { 'apache2':
ensure => present,
}
service { 'apache2':
ensure => running,
enable => true,
}
file { '/etc/apache2/httpd.conf':
ensure => present,
mode => ‘0644’,
owner => ‘root’,
group => ‘root’,
ensure => “puppet:///files/apache/httpd.conf”,
}
Instala, Configura e Inicia
resource type
parameter
title
value
sábado, 21 de setembro de 13
97. Declarando um node (site.pp)
node “servidor.dominio” {
include linux-server
include module
}
node “balancer.dominio” {
include linux-server
include cyrus::backend
include postfix::hub
include haproxy::mailproxy
}
sábado, 21 de setembro de 13
103. Base Class
class linux-server {
include sysadmin-utils
include zabbix-agent
include ntpconf
include locales
include hosts
include users
include localmta
include vimrc
include backup-agent
include apt-repos
}
sábado, 21 de setembro de 13
108. Marionette Collective
Orquestrador de nodes
Execução de Tarefas Paralelas
Interação com centenas de nodes
Inventário descentralizado
Leitura de meta-dados do Puppet
Similar a Fabric e Capistrano
sábado, 21 de setembro de 13
118. Benefícios Reais
Maior produtividade em menor tempo
Poucos sysadmins para muitos nodes
Diminuição de falhas humanas
Maior controle de todo o seu parque
Diminuição do tempo gasto em mudanças
Diminuição do custo de manutenção
Você chegará cedo em casa e suas madrugas e finais de semana serão seus
sábado, 21 de setembro de 13
119. Comparando
Ambiente com 450 nodesAmbiente com 450 nodesAmbiente com 450 nodes
modo manual puppet
instalando zabbix 75 horas 10 minutos
criando usuário 22 horas 10 minutos
sábado, 21 de setembro de 13
122. Insira o puppet nos templates
de seu hypervisor
sábado, 21 de setembro de 13
123. Use o puppet para executar e
controlar mudanças em seu parque
sábado, 21 de setembro de 13
124. Para de administrar e comece a
desenvolver a sua infraestrutura
sábado, 21 de setembro de 13
125. Nova demanda? Já execute utilizando o Puppet,
escreva classes e módulos para que você só tenha
que fazer isto 1 vez e reaproveitar o código depois.
sábado, 21 de setembro de 13
127. Crie manifests pensando em reaproveitamento
código, escreva seus módulos e classes da forma
mais flexível possível.
sábado, 21 de setembro de 13
128. Não precisa começar do zero, use
módulos prontos do GitHub e
PuppetForge.
sábado, 21 de setembro de 13
129. Pesquise, há muita informação
sobre puppet na rede!
sábado, 21 de setembro de 13
130. Puppet em números
700+ pessoas online no canal
#puppet da irc.freenode.net
8.500+ repositórios no GitHub
1000+ módulos no PuppetForge
5000+ usuários ativos na lista
puppet-users com 8000+ tópicos de
discussão
sábado, 21 de setembro de 13
131. Puppet Labs & Luke Kaines
sábado, 21 de setembro de 13