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

Refatorando código Puppet com Roles, Profiles e...

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for laurosn laurosn
March 24, 2017

Refatorando código Puppet com Roles, Profiles e Hiera

Refatorando código Puppet com Roles, Profiles e Hiera

Avatar for laurosn

laurosn

March 24, 2017
Tweet

More Decks by laurosn

Other Decks in Technology

Transcript

  1. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Refatorando c´ odigo Puppet com Roles, Profiles e Hiera Lauro Silveira Neto [email protected] F´ abio Surrage [email protected] Sesap CAINF CENIN Mar¸ co/2017 1 / 26
  2. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Agenda 1 Sobre n´ os 2 Hist´ orico 3 Infraestrutura como c´ odigo 4 Evolu¸ c˜ ao 5 Conclus˜ ao 6 Referˆ encia 2 / 26
  3. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Sobre n´ os Sysadmins com background em desenvolvimento Trabalhamos em uma ´ area que d´ a suporte a infra de aplica¸ c˜ oes (portal, intranet, extranet, sistemas corporativos, solu¸ c˜ oes de terceiros) 3 / 26
  4. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Sobre n´ os Sysadmins com background em desenvolvimento Trabalhamos em uma ´ area que d´ a suporte a infra de aplica¸ c˜ oes (portal, intranet, extranet, sistemas corporativos, solu¸ c˜ oes de terceiros) 3 / 26
  5. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Situa¸ c˜ ao em 2010 M´ aquinas f´ ısicas Configura¸ c˜ ao manual (roteiros) Opera¸ c˜ oes e tarefas feitas de forma manual 4 / 26
  6. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Situa¸ c˜ ao em 2010 M´ aquinas f´ ısicas Configura¸ c˜ ao manual (roteiros) Opera¸ c˜ oes e tarefas feitas de forma manual 4 / 26
  7. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Situa¸ c˜ ao em 2010 M´ aquinas f´ ısicas Configura¸ c˜ ao manual (roteiros) Opera¸ c˜ oes e tarefas feitas de forma manual 4 / 26
  8. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Mudan¸ cas na infraestrutura 2013/2014 M´ aquinas f´ ısicas (manual, escalonamento vertical) Virtualiza¸ c˜ ao (automa¸ c˜ ao, escalonamento horizontal, liberdade) 5 / 26
  9. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Mudan¸ cas na infraestrutura 2013/2014 M´ aquinas f´ ısicas (manual, escalonamento vertical) Virtualiza¸ c˜ ao (automa¸ c˜ ao, escalonamento horizontal, liberdade) 5 / 26
  10. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Melhorias Transformar em script tarefas repetitivas Virtualiza¸ c˜ ao (isolamento de aplica¸ c˜ oes) 6 / 26
  11. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Melhorias Transformar em script tarefas repetitivas Virtualiza¸ c˜ ao (isolamento de aplica¸ c˜ oes) 6 / 26
  12. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Virtualiza¸ c˜ ao: ”problemas” Cria¸ c˜ ao da m´ aquina, configura¸ c˜ oes a altera¸ c˜ oes ainda precisam de interven¸ c˜ ao manual Aumento da demanda por isolamento de aplica¸ c˜ oes multiplicou Como manter a configura¸ c˜ ao uniforme? Escassez de recursos humanos 7 / 26
  13. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Virtualiza¸ c˜ ao: ”problemas” Cria¸ c˜ ao da m´ aquina, configura¸ c˜ oes a altera¸ c˜ oes ainda precisam de interven¸ c˜ ao manual Aumento da demanda por isolamento de aplica¸ c˜ oes multiplicou Como manter a configura¸ c˜ ao uniforme? Escassez de recursos humanos 7 / 26
  14. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Virtualiza¸ c˜ ao: ”problemas” Cria¸ c˜ ao da m´ aquina, configura¸ c˜ oes a altera¸ c˜ oes ainda precisam de interven¸ c˜ ao manual Aumento da demanda por isolamento de aplica¸ c˜ oes multiplicou Como manter a configura¸ c˜ ao uniforme? Escassez de recursos humanos 7 / 26
  15. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Virtualiza¸ c˜ ao: ”problemas” Cria¸ c˜ ao da m´ aquina, configura¸ c˜ oes a altera¸ c˜ oes ainda precisam de interven¸ c˜ ao manual Aumento da demanda por isolamento de aplica¸ c˜ oes multiplicou Como manter a configura¸ c˜ ao uniforme? Escassez de recursos humanos 7 / 26
  16. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Conceito Abordagem para tratar os ativos de uma infraestrutura como software Servi¸ cos, usu´ arios, sistemas de arquivos, pacotes s˜ ao tratados como dados Ferramentas de gerˆ encia de configura¸ c˜ ao possibilitam que os elementos de infraestrutura sejam manipulados de forma program´ atica (Ansible, Salt, Chef, Puppet) 8 / 26
  17. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Conceito Abordagem para tratar os ativos de uma infraestrutura como software Servi¸ cos, usu´ arios, sistemas de arquivos, pacotes s˜ ao tratados como dados Ferramentas de gerˆ encia de configura¸ c˜ ao possibilitam que os elementos de infraestrutura sejam manipulados de forma program´ atica (Ansible, Salt, Chef, Puppet) 8 / 26
  18. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Conceito Abordagem para tratar os ativos de uma infraestrutura como software Servi¸ cos, usu´ arios, sistemas de arquivos, pacotes s˜ ao tratados como dados Ferramentas de gerˆ encia de configura¸ c˜ ao possibilitam que os elementos de infraestrutura sejam manipulados de forma program´ atica (Ansible, Salt, Chef, Puppet) 8 / 26
  19. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Objetivos Equipe de infra deve dar suporte e ser um facilitador de mudan¸ cas solicitadas e n˜ ao um obst´ aculo Equipe de infra deve utilizar o seu tempo em tarefas que tiram o m´ aximo de suas capacidades e habilidades, e n˜ ao em tarefas repetitivas e operacionais Usu´ arios devem ser capazes de provisionar e gerenciar os recursos que eles precisam, sem a necessidade da interven¸ c˜ ao da equipe de infra A preocupa¸ c˜ ao maior deve ser em como se recuperar r´ apido de uma falha do que evitar a falha Mudan¸ cas devem ser pequenas e constantes 9 / 26
  20. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Objetivos Equipe de infra deve dar suporte e ser um facilitador de mudan¸ cas solicitadas e n˜ ao um obst´ aculo Equipe de infra deve utilizar o seu tempo em tarefas que tiram o m´ aximo de suas capacidades e habilidades, e n˜ ao em tarefas repetitivas e operacionais Usu´ arios devem ser capazes de provisionar e gerenciar os recursos que eles precisam, sem a necessidade da interven¸ c˜ ao da equipe de infra A preocupa¸ c˜ ao maior deve ser em como se recuperar r´ apido de uma falha do que evitar a falha Mudan¸ cas devem ser pequenas e constantes 9 / 26
  21. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Objetivos Equipe de infra deve dar suporte e ser um facilitador de mudan¸ cas solicitadas e n˜ ao um obst´ aculo Equipe de infra deve utilizar o seu tempo em tarefas que tiram o m´ aximo de suas capacidades e habilidades, e n˜ ao em tarefas repetitivas e operacionais Usu´ arios devem ser capazes de provisionar e gerenciar os recursos que eles precisam, sem a necessidade da interven¸ c˜ ao da equipe de infra A preocupa¸ c˜ ao maior deve ser em como se recuperar r´ apido de uma falha do que evitar a falha Mudan¸ cas devem ser pequenas e constantes 9 / 26
  22. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Objetivos Equipe de infra deve dar suporte e ser um facilitador de mudan¸ cas solicitadas e n˜ ao um obst´ aculo Equipe de infra deve utilizar o seu tempo em tarefas que tiram o m´ aximo de suas capacidades e habilidades, e n˜ ao em tarefas repetitivas e operacionais Usu´ arios devem ser capazes de provisionar e gerenciar os recursos que eles precisam, sem a necessidade da interven¸ c˜ ao da equipe de infra A preocupa¸ c˜ ao maior deve ser em como se recuperar r´ apido de uma falha do que evitar a falha Mudan¸ cas devem ser pequenas e constantes 9 / 26
  23. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Objetivos Equipe de infra deve dar suporte e ser um facilitador de mudan¸ cas solicitadas e n˜ ao um obst´ aculo Equipe de infra deve utilizar o seu tempo em tarefas que tiram o m´ aximo de suas capacidades e habilidades, e n˜ ao em tarefas repetitivas e operacionais Usu´ arios devem ser capazes de provisionar e gerenciar os recursos que eles precisam, sem a necessidade da interven¸ c˜ ao da equipe de infra A preocupa¸ c˜ ao maior deve ser em como se recuperar r´ apido de uma falha do que evitar a falha Mudan¸ cas devem ser pequenas e constantes 9 / 26
  24. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Princ´ ıpios Reprodutibilidade (Facilidade de reconstruir algum elemento de infra) Consistˆ encia (elementos que suportam um mesmo servi¸ co devem estar identicos) Repetibilidade (Tudo que puder ser automatizado, automatize) Elementos devem ser descart´ aveis Continuidade de servi¸ cos Auto-documenta¸ c˜ ao Mudan¸ cas pequenas e constantes Versionamento (Rastreabilidade, Desfazer altera¸ c˜ ao , Visibilidade, Transparˆ encia) 10 / 26
  25. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Princ´ ıpios Reprodutibilidade (Facilidade de reconstruir algum elemento de infra) Consistˆ encia (elementos que suportam um mesmo servi¸ co devem estar identicos) Repetibilidade (Tudo que puder ser automatizado, automatize) Elementos devem ser descart´ aveis Continuidade de servi¸ cos Auto-documenta¸ c˜ ao Mudan¸ cas pequenas e constantes Versionamento (Rastreabilidade, Desfazer altera¸ c˜ ao , Visibilidade, Transparˆ encia) 10 / 26
  26. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Princ´ ıpios Reprodutibilidade (Facilidade de reconstruir algum elemento de infra) Consistˆ encia (elementos que suportam um mesmo servi¸ co devem estar identicos) Repetibilidade (Tudo que puder ser automatizado, automatize) Elementos devem ser descart´ aveis Continuidade de servi¸ cos Auto-documenta¸ c˜ ao Mudan¸ cas pequenas e constantes Versionamento (Rastreabilidade, Desfazer altera¸ c˜ ao , Visibilidade, Transparˆ encia) 10 / 26
  27. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Princ´ ıpios Reprodutibilidade (Facilidade de reconstruir algum elemento de infra) Consistˆ encia (elementos que suportam um mesmo servi¸ co devem estar identicos) Repetibilidade (Tudo que puder ser automatizado, automatize) Elementos devem ser descart´ aveis Continuidade de servi¸ cos Auto-documenta¸ c˜ ao Mudan¸ cas pequenas e constantes Versionamento (Rastreabilidade, Desfazer altera¸ c˜ ao , Visibilidade, Transparˆ encia) 10 / 26
  28. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Princ´ ıpios Reprodutibilidade (Facilidade de reconstruir algum elemento de infra) Consistˆ encia (elementos que suportam um mesmo servi¸ co devem estar identicos) Repetibilidade (Tudo que puder ser automatizado, automatize) Elementos devem ser descart´ aveis Continuidade de servi¸ cos Auto-documenta¸ c˜ ao Mudan¸ cas pequenas e constantes Versionamento (Rastreabilidade, Desfazer altera¸ c˜ ao , Visibilidade, Transparˆ encia) 10 / 26
  29. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Princ´ ıpios Reprodutibilidade (Facilidade de reconstruir algum elemento de infra) Consistˆ encia (elementos que suportam um mesmo servi¸ co devem estar identicos) Repetibilidade (Tudo que puder ser automatizado, automatize) Elementos devem ser descart´ aveis Continuidade de servi¸ cos Auto-documenta¸ c˜ ao Mudan¸ cas pequenas e constantes Versionamento (Rastreabilidade, Desfazer altera¸ c˜ ao , Visibilidade, Transparˆ encia) 10 / 26
  30. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Princ´ ıpios Reprodutibilidade (Facilidade de reconstruir algum elemento de infra) Consistˆ encia (elementos que suportam um mesmo servi¸ co devem estar identicos) Repetibilidade (Tudo que puder ser automatizado, automatize) Elementos devem ser descart´ aveis Continuidade de servi¸ cos Auto-documenta¸ c˜ ao Mudan¸ cas pequenas e constantes Versionamento (Rastreabilidade, Desfazer altera¸ c˜ ao , Visibilidade, Transparˆ encia) 10 / 26
  31. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Princ´ ıpios Reprodutibilidade (Facilidade de reconstruir algum elemento de infra) Consistˆ encia (elementos que suportam um mesmo servi¸ co devem estar identicos) Repetibilidade (Tudo que puder ser automatizado, automatize) Elementos devem ser descart´ aveis Continuidade de servi¸ cos Auto-documenta¸ c˜ ao Mudan¸ cas pequenas e constantes Versionamento (Rastreabilidade, Desfazer altera¸ c˜ ao , Visibilidade, Transparˆ encia) 10 / 26
  32. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Como gerenciar a configura¸ c˜ ao das m´ aquinas virtuais? Solu¸ c˜ ao escolhida: Puppet 11 / 26
  33. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia O come¸ co Escolhendo o que gerenciar (usu´ arios,pacotes) Gerenciando um servi¸ co (proxy) Instala¸ c˜ ao de um m´ odulo do forge Colocando tudo no manifest https: //gist.github.com/laurosn/22f66bedb9287f9dffc66c82d5292084/ 12 / 26
  34. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia O come¸ co Escolhendo o que gerenciar (usu´ arios,pacotes) Gerenciando um servi¸ co (proxy) Instala¸ c˜ ao de um m´ odulo do forge Colocando tudo no manifest https: //gist.github.com/laurosn/22f66bedb9287f9dffc66c82d5292084/ 12 / 26
  35. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia O come¸ co Escolhendo o que gerenciar (usu´ arios,pacotes) Gerenciando um servi¸ co (proxy) Instala¸ c˜ ao de um m´ odulo do forge Colocando tudo no manifest https: //gist.github.com/laurosn/22f66bedb9287f9dffc66c82d5292084/ 12 / 26
  36. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia O come¸ co Escolhendo o que gerenciar (usu´ arios,pacotes) Gerenciando um servi¸ co (proxy) Instala¸ c˜ ao de um m´ odulo do forge Colocando tudo no manifest https: //gist.github.com/laurosn/22f66bedb9287f9dffc66c82d5292084/ 12 / 26
  37. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia O come¸ co Escolhendo o que gerenciar (usu´ arios,pacotes) Gerenciando um servi¸ co (proxy) Instala¸ c˜ ao de um m´ odulo do forge Colocando tudo no manifest https: //gist.github.com/laurosn/22f66bedb9287f9dffc66c82d5292084/ 12 / 26
  38. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Problemas Manifest muito longo e polu´ ıdo Muito copy/paste Manifests por ”tipo” N˜ ao resolveu o problema de repetir muito c´ odigo 13 / 26
  39. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Problemas Manifest muito longo e polu´ ıdo Muito copy/paste Manifests por ”tipo” N˜ ao resolveu o problema de repetir muito c´ odigo 13 / 26
  40. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Problemas Manifest muito longo e polu´ ıdo Muito copy/paste Manifests por ”tipo” N˜ ao resolveu o problema de repetir muito c´ odigo 13 / 26
  41. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Problemas Manifest muito longo e polu´ ıdo Muito copy/paste Manifests por ”tipo” N˜ ao resolveu o problema de repetir muito c´ odigo 13 / 26
  42. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Vers˜ ao 1.0 M´ odulos: conjunto de classes/resources types/functions/dados/ que abstraem um conceito/tecnologia ou resolvem algum problema Cria¸ c˜ ao do primeiro m´ odulo para encapsular recursos comuns (pacotes, usu´ arios, cron, etc) https: //gist.github.com/laurosn/13ac40d5010ef80a606cc3250703b3a4 C´ odigo ficou um pouco mais limpo 14 / 26
  43. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Vers˜ ao 1.0 M´ odulos: conjunto de classes/resources types/functions/dados/ que abstraem um conceito/tecnologia ou resolvem algum problema Cria¸ c˜ ao do primeiro m´ odulo para encapsular recursos comuns (pacotes, usu´ arios, cron, etc) https: //gist.github.com/laurosn/13ac40d5010ef80a606cc3250703b3a4 C´ odigo ficou um pouco mais limpo 14 / 26
  44. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Vers˜ ao 1.0 M´ odulos: conjunto de classes/resources types/functions/dados/ que abstraem um conceito/tecnologia ou resolvem algum problema Cria¸ c˜ ao do primeiro m´ odulo para encapsular recursos comuns (pacotes, usu´ arios, cron, etc) https: //gist.github.com/laurosn/13ac40d5010ef80a606cc3250703b3a4 C´ odigo ficou um pouco mais limpo 14 / 26
  45. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Problemas Apesar do copy/paste ser menor, persiste Dados continuam no c´ odigo 15 / 26
  46. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Problemas Apesar do copy/paste ser menor, persiste Dados continuam no c´ odigo 15 / 26
  47. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Vers˜ ao 2.0 - Hiera Sistema chave/valor para lookup de dados no Puppet Hier´ arquico (caminho de busca ´ e definido em configura¸ c˜ ao) create resources - fun¸ c˜ ao utilizada para criar recursos ”em lote”normalmente a partir de dados obtidos do hiera https: //gist.github.com/laurosn/ca17f99cb3a59b445bf2cb081386ab9c 16 / 26
  48. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Vers˜ ao 2.0 - Hiera Sistema chave/valor para lookup de dados no Puppet Hier´ arquico (caminho de busca ´ e definido em configura¸ c˜ ao) create resources - fun¸ c˜ ao utilizada para criar recursos ”em lote”normalmente a partir de dados obtidos do hiera https: //gist.github.com/laurosn/ca17f99cb3a59b445bf2cb081386ab9c 16 / 26
  49. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Vers˜ ao 2.0 - Hiera Sistema chave/valor para lookup de dados no Puppet Hier´ arquico (caminho de busca ´ e definido em configura¸ c˜ ao) create resources - fun¸ c˜ ao utilizada para criar recursos ”em lote”normalmente a partir de dados obtidos do hiera https: //gist.github.com/laurosn/ca17f99cb3a59b445bf2cb081386ab9c 16 / 26
  50. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Vers˜ ao 2.0 - Hiera Sistema chave/valor para lookup de dados no Puppet Hier´ arquico (caminho de busca ´ e definido em configura¸ c˜ ao) create resources - fun¸ c˜ ao utilizada para criar recursos ”em lote”normalmente a partir de dados obtidos do hiera https: //gist.github.com/laurosn/ca17f99cb3a59b445bf2cb081386ab9c 16 / 26
  51. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Vers˜ ao 2.0 - Melhorias Separa¸ c˜ ao c´ odigo/dados C´ odigo mais limpo Se tiverem mais n´ os? Replica c´ odigo e hiera 17 / 26
  52. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Vers˜ ao 2.0 - Melhorias Separa¸ c˜ ao c´ odigo/dados C´ odigo mais limpo Se tiverem mais n´ os? Replica c´ odigo e hiera 17 / 26
  53. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Vers˜ ao 2.0 - Melhorias Separa¸ c˜ ao c´ odigo/dados C´ odigo mais limpo Se tiverem mais n´ os? Replica c´ odigo e hiera 17 / 26
  54. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Profiles/Roles N˜ ao s˜ ao uma feature do Puppet Padr˜ ao arquitetural para organizar o seu c´ odigo Como utilizar composi¸ c˜ ao S˜ ao m´ odulos 18 / 26
  55. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Profiles/Roles N˜ ao s˜ ao uma feature do Puppet Padr˜ ao arquitetural para organizar o seu c´ odigo Como utilizar composi¸ c˜ ao S˜ ao m´ odulos 18 / 26
  56. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Profiles/Roles N˜ ao s˜ ao uma feature do Puppet Padr˜ ao arquitetural para organizar o seu c´ odigo Como utilizar composi¸ c˜ ao S˜ ao m´ odulos 18 / 26
  57. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Profiles/Roles N˜ ao s˜ ao uma feature do Puppet Padr˜ ao arquitetural para organizar o seu c´ odigo Como utilizar composi¸ c˜ ao S˜ ao m´ odulos 18 / 26
  58. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Vers˜ ao 3.0 - Profiles Abstraem uma ”stack”de tecnologia de acordo com o seu dom´ ınio Incluem componentes de m´ odulos Definem a ordem entre os recursos lookup hiera https: //gist.github.com/laurosn/bdd60c50ca63f99869f7dfa0f0cb0a8f 19 / 26
  59. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Vers˜ ao 3.0 - Profiles Abstraem uma ”stack”de tecnologia de acordo com o seu dom´ ınio Incluem componentes de m´ odulos Definem a ordem entre os recursos lookup hiera https: //gist.github.com/laurosn/bdd60c50ca63f99869f7dfa0f0cb0a8f 19 / 26
  60. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Vers˜ ao 3.0 - Profiles Abstraem uma ”stack”de tecnologia de acordo com o seu dom´ ınio Incluem componentes de m´ odulos Definem a ordem entre os recursos lookup hiera https: //gist.github.com/laurosn/bdd60c50ca63f99869f7dfa0f0cb0a8f 19 / 26
  61. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Vers˜ ao 3.0 - Profiles Abstraem uma ”stack”de tecnologia de acordo com o seu dom´ ınio Incluem componentes de m´ odulos Definem a ordem entre os recursos lookup hiera https: //gist.github.com/laurosn/bdd60c50ca63f99869f7dfa0f0cb0a8f 19 / 26
  62. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Vers˜ ao 3.0 - Profiles Abstraem uma ”stack”de tecnologia de acordo com o seu dom´ ınio Incluem componentes de m´ odulos Definem a ordem entre os recursos lookup hiera https: //gist.github.com/laurosn/bdd60c50ca63f99869f7dfa0f0cb0a8f 19 / 26
  63. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Vers˜ ao 4.0 - Roles Classifica¸ c˜ ao de um node no c´ odigo Composi¸ c˜ ao de profiles Sem parˆ ametros Cada node deve ter apenas UMA role https: //gist.github.com/laurosn/8c5d11b74be0b904c1acd9d46323573c 20 / 26
  64. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Vers˜ ao 4.0 - Roles Classifica¸ c˜ ao de um node no c´ odigo Composi¸ c˜ ao de profiles Sem parˆ ametros Cada node deve ter apenas UMA role https: //gist.github.com/laurosn/8c5d11b74be0b904c1acd9d46323573c 20 / 26
  65. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Vers˜ ao 4.0 - Roles Classifica¸ c˜ ao de um node no c´ odigo Composi¸ c˜ ao de profiles Sem parˆ ametros Cada node deve ter apenas UMA role https: //gist.github.com/laurosn/8c5d11b74be0b904c1acd9d46323573c 20 / 26
  66. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Vers˜ ao 4.0 - Roles Classifica¸ c˜ ao de um node no c´ odigo Composi¸ c˜ ao de profiles Sem parˆ ametros Cada node deve ter apenas UMA role https: //gist.github.com/laurosn/8c5d11b74be0b904c1acd9d46323573c 20 / 26
  67. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Vers˜ ao 4.0 - Roles Classifica¸ c˜ ao de um node no c´ odigo Composi¸ c˜ ao de profiles Sem parˆ ametros Cada node deve ter apenas UMA role https: //gist.github.com/laurosn/8c5d11b74be0b904c1acd9d46323573c 20 / 26
  68. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Vers˜ ao 5.0 - Roles+Hiera Como compartilhar os dados (hiera) comum entre nodes? Colocar tudo no common.yaml ? Solu¸ c˜ ao: criar um custom fact pra role e adicionar a role a hierarquia de busca do hiera https: //gist.github.com/laurosn/5ebf1f7fa1184c0ca6619473d1b41a0b 21 / 26
  69. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Vers˜ ao 5.0 - Roles+Hiera Como compartilhar os dados (hiera) comum entre nodes? Colocar tudo no common.yaml ? Solu¸ c˜ ao: criar um custom fact pra role e adicionar a role a hierarquia de busca do hiera https: //gist.github.com/laurosn/5ebf1f7fa1184c0ca6619473d1b41a0b 21 / 26
  70. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Vers˜ ao 5.0 - Roles+Hiera Como compartilhar os dados (hiera) comum entre nodes? Colocar tudo no common.yaml ? Solu¸ c˜ ao: criar um custom fact pra role e adicionar a role a hierarquia de busca do hiera https: //gist.github.com/laurosn/5ebf1f7fa1184c0ca6619473d1b41a0b 21 / 26
  71. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Vers˜ ao 5.0 - Roles+Hiera Como compartilhar os dados (hiera) comum entre nodes? Colocar tudo no common.yaml ? Solu¸ c˜ ao: criar um custom fact pra role e adicionar a role a hierarquia de busca do hiera https: //gist.github.com/laurosn/5ebf1f7fa1184c0ca6619473d1b41a0b 21 / 26
  72. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Resumo Tudo em Puppet s˜ ao abstra¸ c˜ oes! Dados s˜ ao abstra´ ıdos pelo Hiera Recursos s˜ ao abstra´ ıdos por classes Classes s˜ ao abstra´ ıdas por m´ odulos M´ odulos s˜ ao abstra´ ıdos por profiles Profiles s˜ ao abstra´ ıdos por roles 22 / 26
  73. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Resumo Tudo em Puppet s˜ ao abstra¸ c˜ oes! Dados s˜ ao abstra´ ıdos pelo Hiera Recursos s˜ ao abstra´ ıdos por classes Classes s˜ ao abstra´ ıdas por m´ odulos M´ odulos s˜ ao abstra´ ıdos por profiles Profiles s˜ ao abstra´ ıdos por roles 22 / 26
  74. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Resumo Tudo em Puppet s˜ ao abstra¸ c˜ oes! Dados s˜ ao abstra´ ıdos pelo Hiera Recursos s˜ ao abstra´ ıdos por classes Classes s˜ ao abstra´ ıdas por m´ odulos M´ odulos s˜ ao abstra´ ıdos por profiles Profiles s˜ ao abstra´ ıdos por roles 22 / 26
  75. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Resumo Tudo em Puppet s˜ ao abstra¸ c˜ oes! Dados s˜ ao abstra´ ıdos pelo Hiera Recursos s˜ ao abstra´ ıdos por classes Classes s˜ ao abstra´ ıdas por m´ odulos M´ odulos s˜ ao abstra´ ıdos por profiles Profiles s˜ ao abstra´ ıdos por roles 22 / 26
  76. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Resumo Tudo em Puppet s˜ ao abstra¸ c˜ oes! Dados s˜ ao abstra´ ıdos pelo Hiera Recursos s˜ ao abstra´ ıdos por classes Classes s˜ ao abstra´ ıdas por m´ odulos M´ odulos s˜ ao abstra´ ıdos por profiles Profiles s˜ ao abstra´ ıdos por roles 22 / 26
  77. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Resumo Tudo em Puppet s˜ ao abstra¸ c˜ oes! Dados s˜ ao abstra´ ıdos pelo Hiera Recursos s˜ ao abstra´ ıdos por classes Classes s˜ ao abstra´ ıdas por m´ odulos M´ odulos s˜ ao abstra´ ıdos por profiles Profiles s˜ ao abstra´ ıdos por roles 22 / 26
  78. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Conclus˜ ao N˜ ao existe ”receita de bolo”para uso de roles/profiles Roles/Profiles n˜ ao s˜ ao obrigat´ orios Organizam o seu c´ odigo de acordo com o seu modelo Facilitam a manuten¸ c˜ ao 23 / 26
  79. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Conclus˜ ao N˜ ao existe ”receita de bolo”para uso de roles/profiles Roles/Profiles n˜ ao s˜ ao obrigat´ orios Organizam o seu c´ odigo de acordo com o seu modelo Facilitam a manuten¸ c˜ ao 23 / 26
  80. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Conclus˜ ao N˜ ao existe ”receita de bolo”para uso de roles/profiles Roles/Profiles n˜ ao s˜ ao obrigat´ orios Organizam o seu c´ odigo de acordo com o seu modelo Facilitam a manuten¸ c˜ ao 23 / 26
  81. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Conclus˜ ao N˜ ao existe ”receita de bolo”para uso de roles/profiles Roles/Profiles n˜ ao s˜ ao obrigat´ orios Organizam o seu c´ odigo de acordo com o seu modelo Facilitam a manuten¸ c˜ ao 23 / 26
  82. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Perguntas ???? 24 / 26
  83. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Livros 25 / 26
  84. Capa Silveira Neto,Lauro Agenda Sobre n´ os Hist´ orico Infraestrutura

    como c´ odigo Evolu¸ c˜ ao Conclus˜ ao Referˆ encia Links [1] https://rnelson0.com/2014/07/14/ intro-to-roles-and-profiles-with-puppet-and-hiera/ [2] https://docs.puppet.com/pe/2017.1/r_n_p_intro.html [3] https://rnelson0.com/2017/03/08/ what-goes-in-a-puppet-role-or-profile/ [4] https://www.slideshare.net/PuppetLabs/roles-talk [5] https://puppet.com/blog/ hiera-hierarchies-and-custom-facts-everyone-needs 26 / 26