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.
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.
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.
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/
Pretendo apresentar o que a Zend solicita na certificação sobre segurança de aplicações PHP, iremos gerar juntos algumas simples invasões em um pequeno sistema e pretende com o exemplo explicar como podemos nos defender com alguma técnicas que serão ensinadas e que são pedidas na prova da Zend.
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.
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.
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/
Pretendo apresentar o que a Zend solicita na certificação sobre segurança de aplicações PHP, iremos gerar juntos algumas simples invasões em um pequeno sistema e pretende com o exemplo explicar como podemos nos defender com alguma técnicas que serão ensinadas e que são pedidas na prova da Zend.
Desenvolver rapidamente, criando toda a estrutura PaaS virtualizada localmente, depois de maneira rápida homologar com o cliente e subir o ambiente produção na AWS facilmente.
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.
TCC - AUTOMATIZAÇÃO DE ENTREGA DE SOFTWARE EM AMBIENTE ÁGIL DE DESENVOLVIM...Leandro Nunes
Software, por mais complexo que seja, não gera lucro ou valor até que esteja nas mãos de seus usuários. Para inibir riscos com perda de oportunidades no universo web, a empresa objeto do estudo de caso deste trabalho evita os longos ciclos de desenvolvimento tradicionais adotando as metodologias ágeis, fazendo uso das práticas da XP, do Scrum e do Kanban. No entanto, durante o ciclo de desenvolvimento, a execução manual de tarefas importantes do processo de desenvolvimento associa-se diretamente com o não cumprimento de prazos e a baixa qualidade do software entregue. Diante desse cenário, este trabalho realiza uma pesquisa das boas práticas de desenvolvimento de software para efetuar a entrega contínua de valor ao cliente e propõe o desenvolvimento de um sistema para realizar a automatização dos processos com o auxílio de ferramentas testadas e validadas há décadas pela comunidade open source tais como Puppet, Git, Mina, Jenkins, RSpec e Cucumber. O processo de entrega é descrito através do padrão Pipeline de Implantação, permitindo a automatização desde o desenvolvimento até a entrega do software ao usuário final. O sistema desenvolvido tem o objetivo de permitir que a equipe de desenvolvimento responda às mudanças de forma eficiente, aumente a capacidade de gerar novas versões bem-sucedidas e de liberá-las sob demanda e de implantar o seu sistema em qualquer ambiente instantaneamente, refletindo as mudanças de uma forma eficiente e com baixo custo.
This guide summaries a successful Agile transformation in Telco with a related case study.
Do not take the described steps of this guide as the only way to be successful, there can be many other alternatives for sure. However, this guide explains a way thats experienced to be successful in many companies and under different circumstances.
Looking forward to hear your comments & suggestions
Thanks
Php e mysql aplicacao completa a partir do zeroFred Ramos
Aprenda como construir sua própria aplicação PHP com banco de dados MYSQL a partir do nada.
- Explicações passo a passo totalmente ilustradas
- Indicado para iniciantes ou veteranos no PHP
- Construção do layout a partir do zero
- Códigos php de fácil compreensão
- Construção de uma aplicação web completa
- Conteúdo totalmente ilustrado com mais de 300 imagens
- Aprenda na prática! Aplicação testada pelo desenvolvedor
- 150 páginas
10+ Deploys Per Day: Dev and Ops Cooperation at FlickrJohn Allspaw
Communications and cooperation between development and operations isn't optional, it's mandatory. Flickr takes the idea of "release early, release often" to an extreme - on a normal day there are 10 full deployments of the site to our servers. This session discusses why this rate of change works so well, and the culture and technology needed to make it possible.
João Paulo Cercal foi Palestrante na Semana Acadêmica, ministrando um minicurso intitulado como "PHP do Jeito Certo", onde foi abordado qual a maneira correta de iniciar o desenvolvimento utilizando a linguagem de programação PHP, mostrando as suas vantagens na teoria e na prática, orientando a adoção de melhores práticas e alertando os participantes a não serem os "Sobrinhos".
Ao infinito e além com PHP memcached e GearmanElton Minetto
São apresentados o Gearman e o Memcached. O Gearman é um framework genérico para gerenciar filas de tarefas de forma que possam ser executadas em paralelo, com balanceamento de carga e acessíveis a múltiplas linguagens de programação. O Memcached é um sistema distribuído e de alta performance para fazer cache de objetos em memória RAM. São de extrema utilidade em sites e aplicativos com grande carga de processamento e necessidades de escalabilidade.
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.
Melhorando a performance da sua aplicação web sem dor nem sofrimento com dicas simples e fáceis de serem implementadas em qualquer aplicação web.
Material apresentado originalmente no Maré de Agilidade Fortaleza, 2010.
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
Última aula do curso de Python, aqui mostramos de forma superficial como fazer a integração do Django com Adobe Flex, como utilizar o módulo do PagSeguro, PyGame e como integrar sua aplicação com o Apache
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
sexta-feira, 16 de agosto de 13
4. Plano de Trabalho
40 minutos de demonstração
10 minutos para perguntas
Faça perguntas quando quiser
Slidedeck disponível em slideshare.com/gutocarvalho
sexta-feira, 16 de agosto de 13
5. Agenda
Gerência de configurações
Infraestrutura como código
Puppet como solução de gerência de configurações
Puppet arquitetura, funcionamento e recursos
Mcollective
Perguntas
sexta-feira, 16 de agosto de 13
13. 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
sexta-feira, 16 de agosto de 13
14. A medida que o parque aumenta
administrá-lo fica mais complicado
sexta-feira, 16 de agosto de 13
15. 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
sexta-feira, 16 de agosto de 13
17. Maior tempo gasto para
executar mudanças
sexta-feira, 16 de agosto de 13
18. Criação de
usuário
450 máquinas
3 minutos por máquina
1350 minutos ou 22,5 horas
450 trocas de senhas
sexta-feira, 16 de agosto de 13
19. 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
sexta-feira, 16 de agosto de 13
34. 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
sexta-feira, 16 de agosto de 13
36. 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
sexta-feira, 16 de agosto de 13
37. 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
sexta-feira, 16 de agosto de 13
38. Feito por um SysAdmin para SysAdmins
sexta-feira, 16 de agosto de 13
42. 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
sexta-feira, 16 de agosto de 13
47. 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
sexta-feira, 16 de agosto de 13
53. 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
sexta-feira, 16 de agosto de 13
54. 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.
sexta-feira, 16 de agosto de 13
55. 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
sexta-feira, 16 de agosto de 13
56. 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
sexta-feira, 16 de agosto de 13
58. 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
sexta-feira, 16 de agosto de 13
59. Você pode fazer deploy de sua APP
Você pode controlar a versão de sua APP
sexta-feira, 16 de agosto de 13
60. Como funciona o modo cliente/servidor?
sexta-feira, 16 de agosto de 13
61. 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
sexta-feira, 16 de agosto de 13
62. Puppet Visão em Rede
Puppet Master
Puppet Client
8140 TCP
Client
puppetd -t
8139 TCP
Server
puppetrun
SSL
sexta-feira, 16 de agosto de 13
69. 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
sexta-feira, 16 de agosto de 13
70. O agente se comunica com o
master a cada N minutos
sexta-feira, 16 de agosto de 13
72. Recursos do Puppet
Resource Types
Parâmetros e Meta-parâmetros
Templates e Definições
Classes e Módulos
Funções e Condicionais
sexta-feira, 16 de agosto de 13
73. 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.
sexta-feira, 16 de agosto de 13
74. 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
sexta-feira, 16 de agosto de 13
75. 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
sexta-feira, 16 de agosto de 13
76. Resource Type: File
Especifique permissões e
owners
Declare arquivos,
diretórios e links
Controle de mudanças
usando até 15 tipos de
checksums
sexta-feira, 16 de agosto de 13
78. Instala, Configura e Inicia
# aptitude install apache2
# update-rc.d -f apache2 defaults
# cp ~/httpd.conf /etc/apache2/
# invoke-rc.d apache2 start
debian-way
sexta-feira, 16 de agosto de 13
79. package { 'apache2':
ensure => present,
}
service { 'apache2':
ensure => running,
enable => true,
}
file { 'httpd.conf':
path => “/etc/apache2/httpd.conf”,
source => “/etc/puppet/files/httpd.conf”,
}
Instala, Configura e Inicia
sexta-feira, 16 de agosto de 13
80. package { 'apache2':
ensure => present,
}
service { 'apache2':
ensure => running,
enable => true,
}
file { 'httpd.conf':
path => “/etc/apache2/httpd.conf”,
source => “/etc/puppet/files/httpd.conf”,
}
Instala, Configura e Inicia
resource type
parameter
title
value
sexta-feira, 16 de agosto de 13
81. 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
}
sexta-feira, 16 de agosto de 13
82. Declarando um node
node “servidor.dominio” {
include linux-server
include module
}
node “balancer.dominio” {
include linux-server
include cyrus::backend
include postfix::hub
include haproxy::mailproxy
}
sexta-feira, 16 de agosto de 13
90. Posso fazer mudanças em
tempo real? (orquestração)
sexta-feira, 16 de agosto de 13
91. 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
sexta-feira, 16 de agosto de 13
100. 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
sexta-feira, 16 de agosto de 13
101. 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
sexta-feira, 16 de agosto de 13
104. Insira o puppet nos templates
de seu hypervisor
sexta-feira, 16 de agosto de 13
105. Use o puppet para executar e
controlar mudanças em seu parque
sexta-feira, 16 de agosto de 13
106. Para de administrar e comece a
desenvolver a sua infraestrutura
sexta-feira, 16 de agosto de 13
107. 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.
sexta-feira, 16 de agosto de 13
110. Não precisa começar do zero, use
módulo prontos do GitHub e
PuppetForge.
sexta-feira, 16 de agosto de 13
111. Pesquise, há muita informação
sobre puppet na rede!
sexta-feira, 16 de agosto de 13
112. Puppet em números
727 pessoas online no canal
#puppet da irc.freenode.net
8.500 repositórios no GitHub
450 módulos no PuppetForge
4457 usuários ativos na lista
puppet-users com 7795 tópicos de
discussão
Dados coletados em 2012-08-06 às 10:34 PM
sexta-feira, 16 de agosto de 13