Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Infra Ágil

Infra Ágil

Infraestrutura Ágil na Infra do TRT5

Matheus Andrade

July 13, 2017
Tweet

More Decks by Matheus Andrade

Other Decks in Technology

Transcript

  1. Como você organiza seu tempo de trabalho? Criar e configurar

    máquinas virtuais/servidores Instalar e configurar softwares Fazer deploy de aplicações Gerar relatórios Monitorar, analisar Documentar Planejar, projetar
  2. Como você organiza seu tempo de trabalho? Criar e configurar

    máquinas virtuais/servidores (+) Instalar e configurar softwares (+) Fazer deploy de aplicações (+) Gerar relatórios (+) Monitorar, analisar (-) Documentar (-) Planejar, projetar (-)
  3. Passamos tempo demais com atividades que já sabemos fazer, com

    procedimentos definidos, mas execução manual.
  4. O que queremos fazer? Documentar mais e melhor Planejar, projetar

    mais e melhor Estudar mais novas tecnologias Aprofundar-se mais nas tecnologias já existentes na organização
  5. DEVOPS "O DevOps é a combinação de filosofias culturais, práticas

    e ferramentas que aumentam a capacidade de uma empresa de distribuir aplicativos e serviços em alta velocidade: otimizando e aperfeiçoando produtos em um ritmo mais rápido do que o das empresas que usam processos tradicionais de desenvolvimento de software e gerenciamento de infraestrutura." https://aws.amazon.com/pt/devops/what-is-devops/
  6. DEVOPS "O DevOps é uma abordagem baseada na cultura, automação

    e design de plataformas que oferece mais valor aos negócios e maior capacidade de resposta. O objetivo é aumentar a velocidade e a flexibilidade com que novos recursos e serviços são fornecidos. https://www.redhat.com/pt-br/insights/devops
  7. DEVOPS O IBM DevOps funciona abordando e alinhando todos os

    participantes do ciclo de vida da entrega de software — equipes de negócios; arquitetos, desenvolvedores e testadores; e produção e operações de TI — em torno de um objetivo único e compartilhado: inovação sustentada, abastecida pela entrega contínua e moldada pelo feedback contínuo. https://www.ibm.com/developerworks/br/devops/principles.html
  8. DEVOPS É um movimento, um conceito, uma cultura, uma filosofia

    Não é um movimento, não é um conceito, não é uma cultura, não é uma filosofia
  9. DEVOPS: Algumas Interpretações Equivocadas DevOps = Dev + Ops E

    as áreas de Qualidade, Negócio? Profissional Generalista
  10. DEVOPS: Algumas Interpretações Equivocadas DevOps = Dev + Ops E

    as áreas de Qualidade, Negócio? Profissional Generalista Devops é cargo ou setor em uma empresa
  11. DEVOPS: Algumas Interpretações Equivocadas DevOps = Dev + Ops E

    as áreas de Qualidade, Negócio? Profissional Generalista Devops é cargo ou setor em uma empresa Devops é apenas para Startups
  12. DEVOPS: Algumas Interpretações Equivocadas DevOps = Dev + Ops E

    as áreas de Qualidade, Negócio? Profissional Generalista Devops é cargo ou setor em uma empresa Devops é apenas para Startups Devops não funciona em Setor Público
  13. DEVOPS: Algumas Interpretações Equivocadas DevOps = Dev + Ops E

    as áreas de Qualidade, Negócio? Profissional Generalista Devops é cargo ou setor em uma empresa Devops é apenas para Startups Devops não funciona em Setor Público Devops não ajuda na conformidade de ambientes
  14. DEVOPS: Algumas Interpretações Equivocadas DevOps = Dev + Ops E

    as áreas de Qualidade, Negócio? Profissional Generalista Devops é cargo ou setor em uma empresa Devops é apenas para Startups Devops não funciona em Setor Público Devops não ajuda na conformidade de ambientes Devops e ITIL não se misturam
  15. DEVOPS: Alguns números Alterações 200x mais frequentes Conclusão 255x vezes

    mais rápido Taxas de sucesso de mudanças 3x maior Recuperação de falhas 24x mais rápido "State of DEVOPS" Report, 2016 - PuppetLabs
  16. Infra Ágil Área de Desenvolvimento mudou/evoluiu (agile influenciou também) Mudanças

    no Consumo e no Gerenciamento dos Recursos de TI Virtualização e Cloud Computing
  17. Infra Ágil Área de Desenvolvimento mudou/evoluiu (agile influenciou também) Mudanças

    no Consumo e no Gerenciamento dos Recursos de TI Virtualização e Cloud Computing Deploy não só de Apps, mas também de INFRA - Infra como Código
  18. Automação: Gerência de Configuração Originário na Engenharia de Software Adaptação

    de conceitos para a Administração de Sistemas e Serviços Gerência de Configurações e Estados Convergentes 1993 pelo Professor Mark Burgess da universidade de OSLO 2004 o conceito GCONF, também pelo Mark Burgess Arquitetura Agente + Servidor (método PULL) Estados ⇒ Convergência ⇒ Relatórios
  19. Automação: Gerência de Configuração Configuração de Ambientes e Serviços Documentação

    Executável - Infraestrutura como Código Melhoria no acompanhamento do ciclo de vida e mudanças dos itens de configuração
  20. Automação: Gerência de Configuração GCONF deve ser inteligente: Estados e

    convergência de estados idempotência auto-healing /homeostasia
  21. Automação: Gerência de Configuração Puppet (2005) Chef Salt (2011) Ansible

    (2012) (?) CFEngine Lista completa(?): https://en.wikipedia.org/wiki/Comparison_of_open-source_configuration_management_software
  22. Automação: Gerência de Configuração Puppet - maturidade Chef - desenvolvedores

    adoram Salt - flexibilidade Ansible (?) - simplicidade - ferramenta apoia, não garante CFEngine Lista completa(?): https://en.wikipedia.org/wiki/Comparison_of_open-source_configuration_management_software
  23. Automação: Gerência de Configuração: Puppet case $operatingsystem { centos, redhat:

    { $service_name = 'ntpd' } debian, ubuntu: { $service_name = 'ntp' } } package { 'ntp': ensure => installed, } service { 'ntp': name => $service_name, ensure => running, enable => true, subscribe => File['ntp.conf'], } file { 'ntp.conf': path => '/etc/ntp.conf', ensure => file, require => Package['ntp'], source => "puppet:///modules/ntp/ntp.conf"
  24. Automação: Gerência de Configuração: Ansible - name: Garante que o

    Apache está instalado e na última versão. yum: name=httpd update_cache=yes state=latest - name: Habilita o mod_rewrite do Apache apache2_module: name=rewrite state=present notify: - restart apache - name: Configura o Apache para escutar a porta {{ http_port }} lineinfile: path: /etc/httpd/conf/httpd.conf regexp: "^Listen " line: "Listen {{ http_port }}" state: present notify: - restart apache
  25. Automação: Orquestração Planejar, dirigir, harmonizar Especificar sequência de comandos, instruções

    Executar algo de forma remota (ou não), paralela ou não, em tempo real Método PUSH
  26. Automação: Provisionamento Criação e disponibilização de Ambientes Criar o quê?

    VMs? Containers? Disponibilizar onde? Hosts físicos? Hypervisor? Nuvem? Vagrant, Docker, Kubernettes, Rocket, CoreOS, Foreman, Otto, TerraForm, OpenStack e por aí vai….
  27. Entrega: Versionamento Histórico, evolução, rollback Proteja seu código fonte de

    você mesmo Sistema de Versionamento Distribuído: GIT e Mercurial GITLAB no TRT5 desde 2016!
  28. Entrega:Equipe de B.I. do TRT5 usando GIT Objetos do BI

    versionados no GIT HOOKS Automação
  29. Entrega: Testes Serverspec: mais usada e escrita em Ruby, usa

    rspec como base; Testinfra: escrita em Python, usa Pytest como base e parece muito com serverspec; Inspec: escrita em Ruby, mantida pela mesma empresa do Chef. Usa rspec como base; Beaker: Escrita em Ruby, mantida pela mesma empresa do Puppet. Usa rspec como base.
  30. Um Chamado do Assyst de 29/06/2017 Prezados, há um tempo

    estamos utilizando a ferramenta Maven para fazer build dos nossos projetos Java, em especial os do barramento de serviços (ESB). De modo a otimizar o nosso processo de trabalho e com visão de dar automação ao processo de distribuição do back-end JTe, gostaríamos de estudar a plataforma Nexus que provê um repositório Maven próprio da organização. Com este repositório, poderíamos armazenar todos os nossos artefatos gerados via Maven, além de armazenar todas as bibliotecas das quais precisamos em um só lugar. Desta forma, pensando na integração com o ServiceMix, podemos fazer com que o deploy da aplicação seja obtido a partir deste servidor com apenas um comando, por exemplo, "feature:install back-end-jte" ao invés de ter que disponibilizar todos os jars por email ou JIRA para os regionais. Além disso, durante o processo de desenvolvimento, não será necessário que cada desenvolvedor baixe as bibliotecas da internet via Maven, pois todas já terão sido baixadas para o nosso repositório Nexus da primeira vez que alguém precisou da biblioteca.
  31. Um Chamado do Assyst de 29/06/2017 Prezados, há um tempo

    estamos utilizando a ferramenta Maven para fazer build dos nossos projetos Java, em especial os do barramento de serviços (ESB). De modo a otimizar o nosso processo de trabalho e com visão de dar automação ao processo de distribuição do back-end JTe, gostaríamos de estudar a plataforma Nexus que provê um repositório Maven próprio da organização. Com este repositório, poderíamos armazenar todos os nossos artefatos gerados via Maven, além de armazenar todas as bibliotecas das quais precisamos em um só lugar. Desta forma, pensando na integração com o ServiceMix, podemos fazer com que o deploy da aplicação seja obtido a partir deste servidor com apenas um comando, por exemplo, "feature:install back-end-jte" ao invés de ter que disponibilizar todos os jars por email ou JIRA para os regionais. Além disso, durante o processo de desenvolvimento, não será necessário que cada desenvolvedor baixe as bibliotecas da internet via Maven, pois todas já terão sido baixadas para o nosso repositório Nexus da primeira vez que alguém precisou da biblioteca. Integração Contínua!!!
  32. Entrega: Esteira Entregas de Software/Serviços - Criação de valor DEVs

    buscam o C.I. (Continuous Integration) Buscar o C.D. (Continuous Delivery)
  33. O que pensamos fazer? ⇒ DEVOPS ⇒ Infra Ágil ⇒

    Automação ⇒ DEVOPS ⇒ Infra Ágil ⇒ Automação ⇒ Métricas
  34. O que pensamos fazer? ⇒ DEVOPS ⇒ Infra Ágil ⇒

    Automação ⇒ GCONF ⇒ Orquestração ⇒ DEVOPS ⇒ Infra Ágil ⇒ Automação ⇒ Provisionamento ⇒ Métricas ⇒ Dados
  35. O que pensamos fazer? ⇒ DEVOPS ⇒ Infra Ágil ⇒

    Automação ⇒ GCONF ⇒ Orquestração ⇒ Ansible & Puppet ⇒ DEVOPS ⇒ Infra Ágil ⇒ Automação ⇒ Provisionamento ⇒ Docker ⇒ Métricas ⇒ Dados ⇒ ELK
  36. O que pensamos fazer? ⇒ DEVOPS ⇒ Infra Ágil ⇒

    Automação ⇒ GCONF ⇒ Orquestração ⇒ Ansible & Puppet ⇒ DEVOPS ⇒ Infra Ágil ⇒ Automação ⇒ Provisionamento ⇒ Docker ⇒ Métricas ⇒ Dados ⇒ ELK Ferramentas!
  37. O que pensamos fazer? ⇒ DEVOPS ⇒ Infra Ágil ⇒

    Automação ⇒ GCONF ⇒ Orquestração ⇒ Ansible & Puppet ⇒ DEVOPS ⇒ Infra Ágil ⇒ Automação ⇒ Provisionamento ⇒ Docker ⇒ Métricas ⇒ Dados ⇒ ELK Ferramentas! Conceitos!