Save 37% off PRO during our Black Friday Sale! »

Infraestrutura Ágil

E4ecb61d2ce38d137de8a3b129a904b6?s=47 Guto Carvalho
September 26, 2015

Infraestrutura Ágil

Entenda a evolução deste novo modelo de operação

E4ecb61d2ce38d137de8a3b129a904b6?s=128

Guto Carvalho

September 26, 2015
Tweet

Transcript

  1. Infraestrutura Ágil Um novo modelo para sua operação v.2015.09.28-01

  2. www.instruct.com.br

  3. ‣ Guto Carvalho ‣ Consultor e Instrutor na Instruct ‣

    Especialista em Gerência de Configurações e Orquestração ‣ Puppet Certified Professional & Instructor ‣ Blogueiro de TI há mais de 12 anos ‣ RHCSA, RCHE, RHCJA, ZCS, ZCP, LPIC3, PCP, PCI, NCLA ‣ 15 anos de experiência com linux, redes e tecnologias open source ‣ Atou e atua em diversos projetos de Governo ‣ ITI, MINICOM, MDA, MJ, MINC, EBC, PR, DATAPREV ‣ CAIXA, DETRAN-DF, ANATEL, FNDE, TCU ‣ Atua em diversos projetos de automação na iniciativa privada www.instruct.com.br Quem sou?
  4. Sobre a Instruct • Especializada em Infraestrutura Ágil e Automação

    • Possui profissionais pioneiros em automação no Brasil • Empresa alinhada com princípios da Cultura DevOps e Infra Ágil • 1o Parceira da Puppet Labs no Brasil • Única ATP (Authorized Training Partner) Puppet Labs no Brasil • Profissionais com mais de 15 anos de experiência em TI • Empresa atuando em projetos de Governo e Iniciativa Privada
  5. Plano de trabalho • 40 minutos de apresentação • 146

    slides serão apresentados • Ao final mais 5 minutos para últimas dúvidas • Pergunte quando quiser • Coloque seus gadgets em modo silencioso www.instruct.com.br
  6. Agenda • Esclarecendo alguns conceitos (5min) • A ideia por

    trás do conceito (5min) • Eixos principais da infraestrutura Ágil • Automação (5min) • Orquestração (5min) • Provisionamento (5min) • Deploy (5min) • Métricas (5min) • Feedback Equipe (5min) • Perguntas 6 www.instruct.com.br
  7. Esclarecendo alguns conceitos!

  8. 8 Infraestrutura ágil é um conceito em constante evolução www.instruct.com.br

  9. 9 Não existe um modelo formalizado, um manifesto ou um

    roteiro único a ser seguido www.instruct.com.br
  10. 10 Hoje o conceito traz um conjunto de boas práticas

    que se adaptada as necessidades de operação e infraestrutura www.instruct.com.br
  11. Infraestrutura ágil e devops não são a mesma coisa 11

    www.instruct.com.br
  12. Infraestrutura ágil é parte integrante e fundamental do DevOps que

    é um conceito, uma cultura e um modelo muito mais amplo 12 www.instruct.com.br
  13. Infraestrutura ágil não envolve apenas o tema automação, há muito

    mais 13 www.instruct.com.br
  14. Se você utiliza automação isso não significa que sua infra

    seja ágil, de forma objetiva, isso significa que sua infra está sendo automatizada, somente isto! 14 www.instruct.com.br
  15. A ideia por trás do conceito

  16. 16 Infraestrutura ágil está diretamente relacionada a uma mudança de

    compor tando no consumo e no gerenciamento de recursos de TI em uma organização www.instruct.com.br
  17. 17 Mudar o compor tament o significa entregar o que

    o cliente precisa de uma forma simples e eficaz www.instruct.com.br
  18. 18 Para entregar recursos e permitir a gestão destes, é

    necessário pensar e agir de forma disruptiva www.instruct.com.br
  19. 19 É preciso utilizar soluções e m é t o

    d o s q u e t o r n e m a construção de ambientes e sistemas algo flexível e rápido www.instruct.com.br
  20. 20 A infraestrutura ágil precisa permitir e deve ampliar o

    feedback entre pessoas e equipes para que isto agregue valor a organização www.instruct.com.br
  21. 21 Mas como faço isto? www.instruct.com.br

  22. 22 Uma boa forma de começar essa mudança é olhar

    para os conceitos e as experiências do modelo ágil de desenvolvimento www.instruct.com.br
  23. 23 Pense mais em colaborar, pense mais em interagir, pense

    mais em empoderar pessoas e simplificar processos www.instruct.com.br
  24. Eixos principais da Infraestrutura Ágil

  25. 25 Automação Orquestração Provisionamento Deploy Métricas Feedback

  26. Automação

  27. 27 Não há mais espaço para administrar infraestrutura e serviços

    no modelo artesão www.instruct.com.br
  28. 28 Automação é obrigatória se o s e u a

    m b i e n t e u t i l i z a tecnologias de container, virtualização ou nuvem www.instruct.com.br
  29. 29 Automação está diretamente ligada a soluções de gerência de

    configurações que implementam o que chamamos de "infraestrutura como código" www.instruct.com.br
  30. 30 Não há mais espaço para longas janelas de tempo

    para provisionamento de ambientes www.instruct.com.br
  31. 31 Não há mais espaço para acesso limitado a ambientes

    e recursos www.instruct.com.br
  32. 32 Não há mais espaço para p r o c

    e s s o s l e n t o s e burocráticos www.instruct.com.br
  33. 33 Em infra ágil criar novos ambientes deve algo simples

    e deve ser realizado em minutos ao invés de horas, dias, semanas ou meses www.instruct.com.br
  34. 34 E a criação desses ambientes , em determinados contextos,

    deve ser feita pelo cliente e não pela operação www.instruct.com.br
  35. 35 www.instruct.com.br Autoserviço

  36. 36 Para a infraestrutura ágil, a configuração de ambientes e

    serviços deve ser realizada por sua sua ferramenta de gerência de configurações e todo esse processo deve ser automatizado www.instruct.com.br
  37. 37 Sua ferramenta de gerência deve ter inteligência o suficiente

    para conseguir identificar e corrigir problemas em sua infra e em si mesma www.instruct.com.br Omeostasia Idempotência Autogerência Autoconserto
  38. 38 Sua ferramenta de gerência de configuração deve oferecer o

    conceito de documentação executável www.instruct.com.br
  39. 39 V o c ê p r e c i

    s a c o n s e g u i r acompanhar todo o ciclo de vida de cada servidor do seu parque www.instruct.com.br
  40. 40 Você precisa ter condições de acompanhar e entender as

    mudanças que ocorreram em cada servidor www.instruct.com.br
  41. 41 Ferramentas para automação www.instruct.com.br

  42. 42

  43. 43 Ferramentas para testes do seu código www.instruct.com.br

  44. 44 www.instruct.com.br RSPEC PUPPET PUPPET
 PARSER
 VALIDATE PUPPET
 LINT BEAKER

    KITCHEN
 PUPPET TRAVIS
 CI KITCHEN
 CI JENKINS BATS JARVIS
  45. Testar pra que? 45 www.instruct.com.br

  46. 46

  47. 47

  48. 48

  49. 49 Faça testes, evite surpresas! www.instruct.com.br

  50. Orquestração

  51. 51 Orquestrar significa invocar ações de forma paralela ou não,

    em tempo real, em servidores de um datacenter, fazendo isto de forma automatizada, eficiente e controlada. www.instruct.com.br
  52. 52 Ferramentas de automação t a m b é m

    p r e c i s a m d e gerenciamento, a orquestração te permite preencher este espaço www.instruct.com.br
  53. 53 Você pode encontrar significados d i f e r

    e n t e s p a r a t e r m o orquestrar, isto pode variar de fabricante ou tecnologia www.instruct.com.br
  54. 54 E m i n f r a e s

    t r u t u r a á g i l , orquestrar significa agir e interagir em tempo real com nosso parque de servidores www.instruct.com.br
  55. 55 Ferramentas para orquestração www.instruct.com.br

  56. 56 Marionette
 Mcollective

  57. Provisionamento

  58. 58 O provisionamento permite que sejam criados ambientes simples ou

    complexos, usando ou não gerência de configurações, usando ou não orquestração www.instruct.com.br
  59. 59 Instalar um sistema operacional em um host físico com

    uma mídia física é provisionar www.instruct.com.br
  60. 60 I n s t a l a r u

    m s i s t e m a operacional em um host físico através da rede é provisionar www.instruct.com.br
  61. 61 C r ia r uma V M em um

    Hypervisor é provisionar www.instruct.com.br
  62. 62 Criar uma container em cima do LXC do Kernel

    Linux é provisionar www.instruct.com.br
  63. 63 Para inf rae s t r ut ura ágil

    , provisionar significa ter uma camada de inteligência entre sua necessidade e suas ferramentas www.instruct.com.br
  64. 64 Ferramentas para provisionamento www.instruct.com.br

  65. 65

  66. 66

  67. 67

  68. 68

  69. 69

  70. 70

  71. 71

  72. 72 Não crie VMs/Containers/Instâncias ou ambientes manualmente, coloque i n

    t e l i g ê n c i a e m s u a i n f r a , u s e provisionamento dinâmico para abstrair atividades repetitivas e processos complexos www.instruct.com.br
  73. Deploy

  74. 74 Vamos nivelar o que é deploy e o que

    é qualquer outra coisa. www.instruct.com.br
  75. 75 Receber arquivos anexados em um e- mail, pedindo para

    colocá-los em 15 diretórios distintos em 7 servidores em diferentes redes - manualmente - não é DEPLOY. www.instruct.com.br
  76. 76 Entrar em um servidor em produção, editar um arquivo

    de texto manualmente e alterar a linha X ou Y a pedido de alguém não é deploy. www.instruct.com.br
  77. 77 Publicar quaisquer coisa em produção que não passe por

    um build automatizado que contenha diversos testes (unitários, comportamental, aceitação, funcional, etc..) não é deploy www.instruct.com.br
  78. 78 Tais exemplos, infelizmente comuns, mostram grandes riscos que organizações

    se expõe devido a um falho processo em s e u a m b i e n t e d e o p e r a ç ã o e desenvolvimento www.instruct.com.br
  79. 79 Em infraestrutura ágil fazer deploy significa entregar uma nova

    versão de uma aplicação com segurança, eficiência e baixo risco www.instruct.com.br
  80. 80 Isto significa que para algo ir para produção, este

    deve ser rigorosamente testado e armazenado em local adequado para permitir o deploy e se necessário o rollback www.instruct.com.br
  81. Version Control System 81 www.instruct.com.br

  82. 82 O código da aplicação deve ser sempre versionado, desenvolvimento

    sem controle de código não é uma prática segura para a organização www.instruct.com.br
  83. 83 GIT MERCURIAL BAZAAR

  84. Build 84 www.instruct.com.br

  85. 85 Sempre que alguém fizer um commit no repositório de

    uma aplicação, isto deve acionar um gatilho de integração com alguma ferramenta para que seja feito o build automatizado da versão www.instruct.com.br
  86. 86 www.instruct.com.br HUDSON BUILDBOT JENKINS CRUISE
 CONTROL

  87. Testes 87 www.instruct.com.br

  88. 88 Durante o processo de build as ferramentas devem fazer

    diversos tipos de testes invocando tecnologias especializadas para aquela linguagem ou ambiente www.instruct.com.br
  89. 89 Caso o build falhe a nova versão não será

    empacotada e não será armazenada no repositório www.instruct.com.br
  90. 90 www.instruct.com.br TRAVIS KITCHEN BATS GO PhantomJS CasperJS SONAR
 QUBE

  91. Repositório de artefatos 91 www.instruct.com.br

  92. 92 Uma vez feito o build das aplicações, estas devem

    ser armazenadas em um repositório afim de que seja possível configurar algum tipo de deploy automatizado www.instruct.com.br
  93. 93 NEXUS ARTIFACTORY ARCHIVA PHING

  94. 94 A equipe de infraestrutura deve automatizar o deploy de

    acordo com premissas claras para publicação, tais como versão, branch, tag, etc. www.instruct.com.br
  95. 95 Não é papel da equipe de infraestrutura autorizar ou

    decidir se algo deve ser publicado ou não, essa competência não cabe a eles www.instruct.com.br
  96. 96 O processo de CI composto pelos testes de unitários

    e de aceitação deve ser uma das premissas além do aceite do time de QA www.instruct.com.br
  97. 97 O rollback tem que ser um processo tão simples

    e automatizado quanto o deploy www.instruct.com.br
  98. Métricas

  99. 99 “Infraestrutura sem métricas não vale nada"
 
 @coredump www.instruct.com.br

  100. 100 Se você não tem métricas de seu ambiente, você

    está administrando sua infra no escuro e na adivinhação www.instruct.com.br
  101. 101 Eu acho que… www.instruct.com.br

  102. 102 Alguém me falou… www.instruct.com.br

  103. 103 Fulano tá vendo… www.instruct.com.br

  104. Parece que tá lento… 104 www.instruct.com.br

  105. De manhã tava ok… 105 www.instruct.com.br

  106. Xiiii…. 106 www.instruct.com.br

  107. 107 Como avaliar a situação atual? www.instruct.com.br

  108. 108 Como prever o crescimento de seu ambiente? www.instruct.com.br

  109. 109 Como saber se algo realmente está lento? www.instruct.com.br

  110. 110 Como planejar aquisição de hardware ou link? www.instruct.com.br

  111. 111 Como aferir a saúde do seu ambiente? www.instruct.com.br

  112. 112

  113. 113

  114. 114 Como obter um dado fidedigno? www.instruct.com.br

  115. 115 Como obtenho métricas? www.instruct.com.br

  116. 116 Gerar o dados Coletar o dados Processar os dados

    Encaminhar os dados Armazenar os dados Visualizar e consumir os dados
  117. 117 Ferramentas para obter métricas www.instruct.com.br

  118. 118 Syslog Rsyslog Collectd

  119. 119 Logstash Fluentd Flume

  120. 120 Graphite Grafana Graphene Giraffe

  121. 121 ELK
 STACK Elastic
 Search Logstash Kibana REDIS

  122. 122 Zenoss Zabbix Nagios OpenNMS Icinga Centreon

  123. 123 Sauce
 Labs Browser
 Stack Blaze
 Meter Jmeter

  124. 124 “Infraestrutura sem métricas não vale nada"
 
 @coredump www.instruct.com.br

  125. Assuma o controle da sua infra, saiba o que acontece

    nela, como, quando, onde e por que! 125 www.instruct.com.br
  126. Integre seu monitoramento com sua inteligência de orquestração, gerência de

    configurações e até mesmo com o provisionamento 126 www.instruct.com.br
  127. Feedback/Equipe

  128. 128 Talvez a parte mais sensível de uma iniciativa de

    infraestrutura ágil seja a mudança na forma da equipe se comunicar e trabalhar www.instruct.com.br
  129. 129 As pessoas precisam se comunicar, se expressar, precisam ter

    liberdade criativa, precisam de direcionamento e principalmente de foco www.instruct.com.br
  130. 130 Incentive o compartilhamento de conhecimento www.instruct.com.br

  131. 131 Incentive a integração de sua equipe www.instruct.com.br

  132. 132 Encontre o equilíbrio! www.instruct.com.br

  133. 133 Ajude sua equipe a encontrar o que ela precisa

    para se motivar e para manter o foco www.instruct.com.br
  134. 134 Faça isso sem afetar a liberdade criativa! www.instruct.com.br

  135. 135 Faça um planejamento colaboativo a curto, médio e longo

    prazo www.instruct.com.br
  136. 136 Qual o estado desejado de nossa infra daqui a

    3, 6, 9 e 12, 24 meses? www.instruct.com.br
  137. 137 O que nossa organização está buscando em 24 meses?

    www.instruct.com.br
  138. 138 Qual resultado estamos buscando? www.instruct.com.br

  139. 139 Ajude-os a enxergar o caminho a ser percorrido e

    tudo será mais fácil www.instruct.com.br
  140. 140 Se as pessoas estão motivadas, se elas tem liberdade

    criativa, sem tem incentivo e direcionamento, isso retorna como resultados positivos para o profissional, para a equipe e para a organização www.instruct.com.br
  141. Métodos 141 www.instruct.com.br

  142. 142 www.instruct.com.br KABAN GAMES SCRUM DINÂMICAS DOJOS HACKLABS HACKATONS DESAFIOS

    ESPORTES LAZER
  143. Adapte cada método para suas necessidades 143 www.instruct.com.br

  144. 144 " Te c n o l o g i

    a é m a t o , o importante são as pessoas”. @dpadua www.instruct.com.br
  145. 145 Apesar de todos os métodos e tecnologias, o importante

    são as sempre as pessoas, são elas que fazem seu negócio fluir, lembre-se disto! www.instruct.com.br
  146. Transição

  147. Como é a transição de uma infra clássica para uma

    infra ágil? 147 www.instruct.com.br
  148. É igual a qualquer outra, você precisa planejar, estudar e

    começar! 148 www.instruct.com.br
  149. Não tenha medo de começar, e não demore para começar.

    149 www.instruct.com.br
  150. Perguntas? 150 www.instruct.com.br

  151. Obrigado! 151 www.instruct.com.br

  152. blog: gutocarvalho.net
 twitter: @gutocarvalho telegram: @gutoccarvalho skype: gutoccarvalho freenode irc:

    gutocarvalho
 email: gutocarvalho@instruct.com.br
 email: gutocarvalho@gmail.com
 
 slideshare.net/instructbr slideshare.net/gutocarvalho speakerdeck.com/instructbr speakerdeck.com/gutocarvalho
 
 tel: 61-3246-929 / 19-2511-6506 152 www.instruct.com.br Entre em contato
  153. www.instruct.com.br

  154. 154 WTR2015