{"id":80491,"date":"2020-05-06T13:42:24","date_gmt":"2020-05-06T11:42:24","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/obrezaem-niti-perehod-s-puppet-enterprise-na-ansible-tower-chast-1"},"modified":"2020-05-06T13:42:24","modified_gmt":"2020-05-06T11:42:24","slug":"obrezaem-niti-perehod-s-puppet-enterprise-na-ansible-tower-chast-1","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/obrezaem-niti-perehod-s-puppet-enterprise-na-ansible-tower-chast-1","title":{"rendered":"Cortando la\u00e7os: transi\u00e7\u00e3o do Puppet Enterprise para o Ansible Tower. Parte 1","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>O Servi\u00e7o Nacional de Dados Espaciais Ambientais (NESDIS) reduziu em 35% os seus custos de gest\u00e3o de configura\u00e7\u00e3o do Red Hat Enterprise Linux (RHEL) ao mudar do Puppet Enterprise para o Ansible Tower. Neste v\u00eddeo da categoria \"como fizemos\", o engenheiro de sistema Michael Rau justifica a realiza\u00e7\u00e3o desta migra\u00e7\u00e3o, compartilha dicas \u00fateis e a experi\u00eancia adquirida ao fazer a transi\u00e7\u00e3o de um SCM para outro. <\/p>\n<p>Neste v\u00eddeo, voc\u00ea ir\u00e1 aprender:<\/p>\n<ul>\n<li>como justificar a transi\u00e7\u00e3o do Puppet Enterprise para o Ansible Tower para a gest\u00e3o;<\/li>\n<li>quais estrat\u00e9gias usar para uma transi\u00e7\u00e3o mais suave;<\/li>\n<li>dicas para transcodificar manifestos do PE em Ansible Playbook;<\/li>\n<li>recomenda\u00e7\u00f5es para uma instala\u00e7\u00e3o otimizada do Ansible Tower.<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Cortando la\u00e7os: transi\u00e7\u00e3o do Puppet Enterprise para o Ansible Tower. Parte 1\" src=\"\/wp-content\/uploads\/2020\/05\/6c4ee5db9a9f584cd69109549827b5b2.jpg\" style=\"display:block;margin: 0 auto;\" \/><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Ol\u00e1 a todos, meu nome \u00e9 Michael Rau, sou engenheiro de sistema s\u00eanior da ActioNet, que trabalha para a Administra\u00e7\u00e3o Nacional Oce\u00e2nica e Atmosf\u00e9rica (NOAA) no servi\u00e7o NESDIS. Hoje, vamos falar sobre as li\u00e7\u00f5es aprendidas \u2013 minha pr\u00f3pria experi\u00eancia na migra\u00e7\u00e3o do Puppet Enterprise para o Ansible Tower. O objetivo desta apresenta\u00e7\u00e3o \u00e9 \"mostrar minhas cicatrizes\", deixadas ap\u00f3s essa transi\u00e7\u00e3o no in\u00edcio do ano. Eu quero compartilhar o que aprendi ao longo desse processo. Portanto, quando voc\u00ea embarcar em algo semelhante, usando minha experi\u00eancia, poder\u00e1 fazer a transi\u00e7\u00e3o com mais facilidade.<\/p>\n<p>Voc\u00ea ver\u00e1 slides como este no in\u00edcio de cada apresenta\u00e7\u00e3o no Ansible Fest. Este slide descreve a hist\u00f3ria da automa\u00e7\u00e3o da minha empresa. N\u00e3o sou novato nisso, pois uso Puppet\/Puppet Enterprise desde 2007. Comecei a trabalhar com Ansible em 2016, e eu, assim como muitos outros usu\u00e1rios deste produto, fiquei atra\u00eddo pela possibilidade dos \"truques\" com a linha de comando e scripts simples (playbooks). No final de 2017, conversei com a minha gest\u00e3o sobre raz\u00f5es s\u00e9rias para a transi\u00e7\u00e3o para o Ansible Tower. Dentro de um minuto, falarei sobre os motivos que me levaram a essa decis\u00e3o. Depois de obter a aprova\u00e7\u00e3o da gest\u00e3o, levou mais alguns meses para implementar o planejado e realizei a transi\u00e7\u00e3o em janeiro e fevereiro deste ano. Assim, abandonamos completamente o Puppet em favor do Ansible, e isso \u00e9 uma grande conquista. <\/p>\n<p><img decoding=\"async\" alt=\"Cortando la\u00e7os: transi\u00e7\u00e3o do Puppet Enterprise para o Ansible Tower. Parte 1\" src=\"\/wp-content\/uploads\/2020\/05\/0e179ef00aa22edae72270e53d9787df.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nO que mais me atrai no Ansible \u00e9 a possibilidade de escrever e usar roles e playbooks. Roles s\u00e3o \u00f3timas para criar tarefas diversas, mas interconectadas, e para reunir todos os dados relacionados a essas tarefas em um s\u00f3 lugar. Um playbook \u00e9 uma sintaxe YAML, um arquivo-script que descreve a\u00e7\u00f5es para um ou mais hosts. Apresento essas funcionalidades aos usu\u00e1rios, principalmente desenvolvedores de software. O Ansible Tower permite dizer: 'n\u00e3o, voc\u00ea n\u00e3o tem acesso ao shell, mas eu ofere\u00e7o a voc\u00ea a capacidade de iniciar todos os processos do Tower e reiniciar o servi\u00e7o quando precisar'. Vou falar sobre o ambiente de trabalho e o hardware que utilizamos. <\/p>\n<p><img decoding=\"async\" alt=\"Cortando la\u00e7os: transi\u00e7\u00e3o do Puppet Enterprise para o Ansible Tower. Parte 1\" src=\"\/wp-content\/uploads\/2020\/05\/1dd8f9d0025660a1f3c17a174681caec.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEsta \u00e9 uma LAN federal, com 7 sites f\u00edsicos conectados via MPLS na nuvem, 140 servidores RHEL, 99% dos quais s\u00e3o virtuais (vSphere), hardware SuperMicro, armazenamento em rede NexentaStore, um conjunto de switches Cisco, Arista e Cumulus, e solu\u00e7\u00f5es de gerenciamento unificado de amea\u00e7as Fortinet UTM em cada site. <\/p>\n<p>Uma rede federal significa que devo usar todos os meios de prote\u00e7\u00e3o de informa\u00e7\u00f5es previstos nas legisla\u00e7\u00f5es. Voc\u00ea deve ter em mente que o Puppet Enterprise n\u00e3o suporta a maior parte do hardware que usamos. Somos for\u00e7ados a utilizar hardware de baixo custo, pois as entidades governamentais enfrentam problemas de financiamento nesta \u00e1rea. Portanto, compramos 'hardware' da linha SuperMicro e montamos nosso equipamento a partir de partes individuais, cuja manuten\u00e7\u00e3o \u00e9 garantida por contratos governamentais. Usamos Linux, e essa \u00e9 uma das raz\u00f5es importantes para a migra\u00e7\u00e3o para o Ansible. <\/p>\n<p>Nossa hist\u00f3ria de trabalho com Puppet \u00e9 a seguinte.<\/p>\n<p><img decoding=\"async\" alt=\"Cortando la\u00e7os: transi\u00e7\u00e3o do Puppet Enterprise para o Ansible Tower. Parte 1\" src=\"\/wp-content\/uploads\/2020\/05\/a893499e8bbabf1223461f11d737e777.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEm 2007, t\u00ednhamos uma pequena rede com 20-25 n\u00f3s, na qual implementamos o Puppet. Na maior parte, esses n\u00f3s eram apenas \"caixas\" RedHat. Em 2010, come\u00e7amos a utilizar a interface web Puppet Dashboard para 45 n\u00f3s. \u00c0 medida que a rede continuava a se expandir, em 2014, migramos para o PE 3.3, fazendo uma transi\u00e7\u00e3o completa com a reescrita do manifesto para 75 n\u00f3s. Tivemos que fazer isso porque o Puppet gosta de mudar as regras do jogo, e, nesse caso, eles mudaram completamente a linguagem. Um ano depois, quando o suporte \u00e0 terceira vers\u00e3o do Puppet Enterprise foi encerrado, fomos for\u00e7ados a migrar para o PE 2015.2. Novamente, tivemos que reescrever o manifesto para os novos servidores e adquirir uma licen\u00e7a para 100 n\u00f3s, mesmo que tiv\u00e9ssemos apenas 85 n\u00f3s na \u00e9poca. <\/p>\n<p>Passaram-se apenas 2 anos, e tivemos que fazer novamente um grande trabalho de transi\u00e7\u00e3o para a nova vers\u00e3o PE 2016.4. Compramos uma licen\u00e7a para 300 n\u00f3s, tendo apenas 130. Novamente, precis\u00e1vamos fazer mudan\u00e7as significativas no manifesto, pois a nova vers\u00e3o da linguagem tinha uma sintaxe diferente da vers\u00e3o de 2015. Como resultado, nosso SCM mudou do sistema de controle de vers\u00e3o SVN para o Bitbucket (Git). Essas foram nossas \"rela\u00e7\u00f5es\" com o Puppet.<\/p>\n<p>Assim, tive que explicar \u00e0 diretoria por que precis\u00e1vamos mudar para outro SCM, usando os seguintes argumentos. Primeiro - o alto custo do servi\u00e7o. Conversei com o pessoal da RedHat, e eles disseram que o custo de manter uma rede de 300 n\u00f3s usando o Ansible Tower \u00e9 metade do custo do Puppet Enterprise. Se adquirirmos tamb\u00e9m o Ansible Engine, o custo ser\u00e1 mais ou menos o mesmo, mas voc\u00ea obter\u00e1 muito mais recursos do que com o PE. Como somos uma empresa estatal financiada com verba federal, esse \u00e9 um argumento consider\u00e1vel. <\/p>\n<p><img decoding=\"async\" alt=\"Cortando la\u00e7os: transi\u00e7\u00e3o do Puppet Enterprise para o Ansible Tower. Parte 1\" src=\"\/wp-content\/uploads\/2020\/05\/8077b9a470286c795a13de3cd6470ce9.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nO segundo argumento \u00e9 a versatilidade. O Puppet suporta apenas o hardware onde o agente Puppet est\u00e1 instalado. Isso significa que em todos os switches \u00e9 necess\u00e1rio instalar o agente, e ele deve ser a vers\u00e3o mais recente. E se parte dos seus switches suporta uma vers\u00e3o, enquanto outra parte suporta outra, voc\u00ea precisar\u00e1 instalar a nova vers\u00e3o do agente PE para que todos possam operar em um \u00fanico sistema SCM.<\/p>\n<p>O sistema Ansible Tower funciona de maneira diferente, pois n\u00e3o possui agentes, mas tem m\u00f3dulos que suportam switches Cisco e outros switches. Este SCM suporta Qubes OS, Linux e 4.NET UTM. O Ansible Tower tamb\u00e9m \u00e9 compat\u00edvel com controladores de armazenamento em rede NexentaStore, baseados no n\u00facleo Illumos \u2013 um sistema operacional open-source baseado em Unix. Este suporte \u00e9 bastante limitado, mas ainda assim, o Ansible Tower proporciona essa funcionalidade. <\/p>\n<p>O terceiro argumento, que \u00e9 muito importante tanto para mim quanto para nossa administra\u00e7\u00e3o, \u00e9 a facilidade de aprendizado. Eu passei 10 anos estudando m\u00f3dulos e c\u00f3digos manifestos do Puppet, mas aprendi Ansible em uma semana, pois este SCM \u00e9 muito mais f\u00e1cil de trabalhar. Se voc\u00ea est\u00e1 executando arquivos execut\u00e1veis, claro, a menos que voc\u00ea fa\u00e7a isso desnecessariamente, h\u00e1 manipuladores que s\u00e3o razo\u00e1veis e responsivos. Os playbooks, baseados em YAML, s\u00e3o caracterizados pela f\u00e1cil aprendizagem e rapidez de uso. Aqueles que nunca ouviram falar de YAML podem simplesmente ler os scripts e entender facilmente como funciona. <\/p>\n<p>Sinceramente, o Puppet torna seu trabalho como desenvolvedor muito mais complicado, pois \u00e9 baseado no uso do Puppet Master. Esta \u00e9 a \u00fanica m\u00e1quina que tem permiss\u00e3o para se comunicar com os agentes do Puppet. Se voc\u00ea fizer alguma altera\u00e7\u00e3o no manifesto e quiser testar seu c\u00f3digo, ter\u00e1 que reescrever o c\u00f3digo para o Puppet Master, ou seja, configurar o arquivo Puppet master \/etc\/hosts para conectar todos os clientes e iniciar o servi\u00e7o Puppet Server. S\u00f3 depois disso voc\u00ea poder\u00e1 testar a opera\u00e7\u00e3o do equipamento de rede em um \u00fanico host. Esse \u00e9 um processo bastante doloroso. <br \/>\nCom o Ansible, tudo \u00e9 muito mais simples. Tudo o que voc\u00ea precisa fazer \u00e9 desenvolver o c\u00f3digo para uma m\u00e1quina que tenha a capacidade de se conectar via SSH ao host de teste. \u00c9 muito mais f\u00e1cil trabalhar com isso.<\/p>\n<p>Outra grande vantagem do Ansible Tower \u00e9 a capacidade de utilizar o sistema de suporte que voc\u00ea j\u00e1 possui e manter a configura\u00e7\u00e3o de hardware existente. Este SCM, sem a\u00e7\u00f5es adicionais, utiliza todas as informa\u00e7\u00f5es dispon\u00edveis sobre sua infraestrutura e hardware, m\u00e1quinas virtuais, servidores etc. Ele pode se comunicar com seus servidores RH Satellite, se existirem, e oferece uma integra\u00e7\u00e3o que voc\u00ea nunca obter\u00e1 trabalhando com o Puppet.<\/p>\n<p>Outra coisa importante \u00e9 o controle detalhado. Voc\u00ea sabe que o Puppet \u00e9 um sistema modular, sendo um aplicativo cliente-servidor, portanto voc\u00ea deve definir os aspectos existentes do funcionamento de todas as suas m\u00e1quinas em um longo manifesto. Nesse \u00ednterim, o estado de cada elemento separado do sistema deve ser testado a cada meia hora \u2013 esse \u00e9 o per\u00edodo padr\u00e3o. \u00c9 assim que o Puppet funciona.<\/p>\n<p>O Tower elimina essa necessidade. Voc\u00ea pode executar uma variedade de processos em diferentes equipamentos sem restri\u00e7\u00f5es, realizar tarefas principais, iniciar outros processos importantes, configurar a seguran\u00e7a do sistema e trabalhar com bancos de dados. Voc\u00ea pode fazer tudo isso que no Puppet Enterprise envolve certas dificuldades. Assim, se voc\u00ea configurou em um host, levar\u00e1 um tempo para que as mudan\u00e7as tenham efeito nos outros hosts. No Ansible, todas as mudan\u00e7as ocorrem ao mesmo tempo.<\/p>\n<p>Por fim, vamos considerar o m\u00f3dulo de seguran\u00e7a. No Ansible Tower, ele \u00e9 implementado de forma impressionante, com grande precis\u00e3o e aten\u00e7\u00e3o aos detalhes. Voc\u00ea pode conceder aos usu\u00e1rios acesso a servi\u00e7os espec\u00edficos ou a hosts espec\u00edficos. Eu fa\u00e7o isso com meus funcion\u00e1rios que est\u00e3o acostumados a trabalhar em Windows, limitando seu acesso ao shell do Linux. Eu lhes garanto acesso ao Tower, para que possam realizar apenas o trabalho e iniciar apenas os servi\u00e7os que est\u00e3o dentro de sua compet\u00eancia.<\/p>\n<p><img decoding=\"async\" alt=\"Cortando la\u00e7os: transi\u00e7\u00e3o do Puppet Enterprise para o Ansible Tower. Parte 1\" src=\"\/wp-content\/uploads\/2020\/05\/f3bd3b26cf20225b6e1800e09dbcfe43.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nVamos considerar os passos que precisam ser feitos com anteced\u00eancia para facilitar a transi\u00e7\u00e3o para o Ansible Tower. Em primeiro lugar, \u00e9 necess\u00e1rio preparar seu hardware. Se alguns elementos da sua infraestrutura ainda n\u00e3o estiverem no banco de dados, eles devem ser adicionados. Existem sistemas que n\u00e3o alteram suas caracter\u00edsticas e, portanto, n\u00e3o est\u00e3o no banco de dados do Puppet, mas se voc\u00ea n\u00e3o os inserir antes da transi\u00e7\u00e3o para o Tower, perder\u00e1 uma s\u00e9rie de benef\u00edcios. Pode ser um banco de dados preliminar \"bagun\u00e7ado\", mas deve conter informa\u00e7\u00f5es sobre todo o hardware que voc\u00ea possui. Portanto, voc\u00ea deve escrever um script din\u00e2mico para hardware que automaticamente registre todas as mudan\u00e7as na infraestrutura no banco de dados, para que o Ansible saiba quais hosts devem existir no novo sistema. Voc\u00ea n\u00e3o precisar\u00e1 informar a esta SCM quais hosts voc\u00ea adicionou e quais hosts n\u00e3o existem mais, porque tudo isso ser\u00e1 descoberto automaticamente. Quanto mais dados houver no banco de dados, mais \u00fatil e flex\u00edvel ser\u00e1 o Ansible. Ele opera como se simplesmente estivesse lendo o c\u00f3digo de barras do estado do hardware do banco de dados.<\/p>\n<p>Reserve um tempo para se familiarizar com o uso da linha de comando no Ansible. Execute alguns comandos especiais para testar o funcionamento do script de hardware, escreva e execute alguns cen\u00e1rios simples, mas \u00fateis, de playbook, utilize templates Jinja2 onde for adequado. Tente escrever um papel e um script para um processo complexo de v\u00e1rias etapas, utilizando uma configura\u00e7\u00e3o de hardware padr\u00e3o e frequentemente encontrada. Brinque com essas coisas, teste como funcionam. Dessa forma, voc\u00ea aprender\u00e1 a trabalhar com ferramentas para criar bibliotecas usadas no Tower. J\u00e1 mencionei que minha prepara\u00e7\u00e3o para a transi\u00e7\u00e3o levou cerca de 3 meses. Acredito que, com base na minha experi\u00eancia, voc\u00ea conseguir\u00e1 fazer isso mais rapidamente. N\u00e3o considere esse tempo como perdido, pois mais tarde voc\u00ea sentir\u00e1 todos os benef\u00edcios do trabalho realizado. <\/p>\n<p>Em seguida, \u00e9 necess\u00e1rio decidir o que voc\u00ea espera do Ansible Tower, o que exatamente este sistema deve fazer por voc\u00ea. <\/p>\n<p><img decoding=\"async\" alt=\"Cortando la\u00e7os: transi\u00e7\u00e3o do Puppet Enterprise para o Ansible Tower. Parte 1\" src=\"\/wp-content\/uploads\/2020\/05\/4511b3f34d57e489be1103c3b77fc98f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nVoc\u00ea precisa implementar o sistema em um equipamento vazio, em m\u00e1quinas virtuais vazias? Ou deseja manter as condi\u00e7\u00f5es de trabalho e configura\u00e7\u00f5es do hardware existente? Este \u00e9 um aspecto muito importante para empresas estatais, portanto, voc\u00ea deve ter certeza de que conseguir\u00e1 realizar a migra\u00e7\u00e3o e implementar o Ansible na configura\u00e7\u00e3o existente. Defina os processos administrativos rotineiros que deseja automatizar. Verifique se precisa implementar aplicativos e servi\u00e7os espec\u00edficos no novo sistema. Crie uma lista do que deseja fazer e priorize. <\/p>\n<p>Em seguida, comece a escrever o c\u00f3digo dos scripts e fun\u00e7\u00f5es que garantir\u00e3o a execu\u00e7\u00e3o das tarefas que voc\u00ea planejou. Agrupe-os em Projects, uma cole\u00e7\u00e3o l\u00f3gica de scripts playbooks correspondentes. Cada Project ser\u00e1 relacionado a um reposit\u00f3rio Git separado ou outro reposit\u00f3rio, dependendo do gerenciador de c\u00f3digo que voc\u00ea utiliza. Voc\u00ea pode gerenciar scripts de playbook e diret\u00f3rios de playbook colocando-os manualmente no Project Base Path no servidor Tower, ou colocando o playbook em qualquer sistema de controle de vers\u00e3o (SCM) compat\u00edvel com o Tower, incluindo Git, Subversion, Mercurial e Red Hat Insights. Dentro de um Project, voc\u00ea pode colocar quantos scripts quiser. Por exemplo, criei um Project b\u00e1sico onde coloquei um script para os elementos principais do RedHat, um script para a base do Linux e scripts para outros indicadores b\u00e1sicos. Assim, em um \u00fanico projeto, havia fun\u00e7\u00f5es e scripts variados que eram gerenciados a partir de um \u00fanico reposit\u00f3rio Git. <\/p>\n<p>Execute todas essas tarefas atrav\u00e9s da linha de comando, \u00e9 uma boa maneira de verificar se est\u00e3o funcionando. Assim, voc\u00ea se preparar\u00e1 para a instala\u00e7\u00e3o do Tower.<\/p>\n<p>Vamos falar um pouco sobre a transcodifica\u00e7\u00e3o do manifesto Puppet, porque eu gastei muito tempo nisso at\u00e9 perceber o que realmente precisava ser feito. <\/p>\n<p><img decoding=\"async\" alt=\"Cortando la\u00e7os: transi\u00e7\u00e3o do Puppet Enterprise para o Ansible Tower. Parte 1\" src=\"\/wp-content\/uploads\/2020\/05\/abbc9ffb10b623dc29bcd975dca3bb80.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nComo mencionei, o Puppet armazena todas as configura\u00e7\u00f5es e par\u00e2metros de hardware em um \u00fanico manifesto extenso, e neste manifesto est\u00e3o contidas todas as a\u00e7\u00f5es que este SCM deve realizar. Na transi\u00e7\u00e3o, voc\u00ea n\u00e3o precisa enfiar todas as suas tarefas em uma \u00fanica lista; em vez disso, pense na estrutura do novo sistema: fun\u00e7\u00f5es, cen\u00e1rios, tags, grupos e o que deve ser inclu\u00eddo. Alguns dos elementos aut\u00f4nomos da rede devem ser agrupados em cole\u00e7\u00f5es para as quais \u00e9 poss\u00edvel criar cen\u00e1rios. Elementos de infraestrutura mais complexos, que envolvem um grande n\u00famero de recursos, incluindo classes aut\u00f4nomas, podem ser combinados em fun\u00e7\u00f5es. Antes da migra\u00e7\u00e3o, \u00e9 preciso definir isso. Se voc\u00ea estiver criando fun\u00e7\u00f5es ou cen\u00e1rios abrangentes que n\u00e3o cabem em uma \u00fanica tela, deve usar tags para conseguir capturar partes espec\u00edficas da infraestrutura. <\/p>\n<p>18:00<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/500588\/\"> Cortando os fios: migra\u00e7\u00e3o do Puppet Enterprise para o Ansible Tower. Parte 2 <\/a><\/noindex><\/p>\n<h3>Um pouco de publicidade \ud83d\ude42<\/h3>\n<p>\nObrigado por permanecer conosco. Voc\u00ea gosta dos nossos artigos? Quer ver mais materiais interessantes? Apoie-nos fazendo um pedido ou recomendando para conhecidos. <noindex><a rel=\"nofollow\" href=\"https:\/\/ua-hosting.company\/cloudvps\/nl\">VPS em nuvem para desenvolvedores a partir de $4.99<\/a><\/noindex>, <b>uma alternativa \u00fanica aos servidores entry-level, que criamos para voc\u00ea:<\/b> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/ua-hosting\/blog\/347386\/\">Toda a verdade sobre VPS (KVM) E5-2697 v3 (6 N\u00facleos) 10GB DDR4 480GB SSD 1Gbps a partir de $19 ou como dividir um servidor corretamente?<\/a><\/noindex> (dispon\u00edveis op\u00e7\u00f5es com RAID1 e RAID10, at\u00e9 24 n\u00facleos e at\u00e9 40GB DDR4).<\/p>\n<p><b>Dell R730xd por 2 vezes mais barato no datacenter Equinix Tier IV em Amsterd\u00e3?<\/b> Somente conosco <b><noindex><a rel=\"nofollow\" href=\"https:\/\/ua-hosting.company\/serversnl\">2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100TB a partir de $199<\/a><\/noindex> na Holanda! <b>Dell R420 \u2014 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB \u2014 a partir de $99!<\/b><\/b> Leia sobre <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/ua-hosting\/blog\/329618\/\">Como construir uma infraestrutura de classe corporativa utilizando servidores Dell R730xd E5-2650 v4 com custo de 9000 euros por centavos?<\/a><\/noindex><br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/500400\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041d\u0430\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0441\u043b\u0443\u0436\u0431\u0430 \u0441\u043f\u0443\u0442\u043d\u0438\u043a\u043e\u0432\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0431 \u043e\u043a\u0440\u0443\u0436\u0430\u044e\u0449\u0435\u0439 \u0441\u0440\u0435\u0434\u0435 (NESDIS) \u043d\u0430 35% \u0441\u043d\u0438\u0437\u0438\u043b\u0430 \u0441\u0432\u043e\u0438 \u0437\u0430\u0442\u0440\u0430\u0442\u044b \u043d\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0435\u0439 Red Hat Enterprise Linux (RHEL), \u043f\u0435\u0440\u0435\u0439\u0434\u044f \u0441 Puppet Enterprise \u043d\u0430 Ansible Tower. \u0412 \u044d\u0442\u043e\u043c \u0432\u0438\u0434\u0435\u043e \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438 \u00ab\u043a\u0430\u043a \u043c\u044b \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u043b\u0438\u00bb \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 \u0438\u043d\u0436\u0435\u043d\u0435\u0440 \u041c\u0430\u0439\u043a\u043b \u0420\u0430\u0443 \u043e\u0431\u043e\u0441\u043d\u043e\u0432\u044b\u0432\u0430\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u044d\u0442\u043e\u0439 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438, \u0434\u0435\u043b\u0438\u0442\u0441\u044f \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u043c\u0438 \u0441\u043e\u0432\u0435\u0442\u0430\u043c\u0438 \u0438 \u043e\u043f\u044b\u0442\u043e\u043c, \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u043c \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430 \u0441 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":80492,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-80491","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041d\u0430\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0441\u043b\u0443\u0436\u0431\u0430 \u0441\u043f\u0443\u0442\u043d\u0438\u043a\u043e\u0432\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0431 \u043e\u043a\u0440\u0443\u0436\u0430\u044e\u0449\u0435\u0439 \u0441\u0440\u0435\u0434\u0435 (NESDIS) \u043d\u0430 35% \u0441\u043d\u0438\u0437\u0438\u043b\u0430 \u0441\u0432\u043e\u0438 \u0437\u0430\u0442\u0440\u0430\u0442\u044b \u043d\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0435\u0439 Red Hat Enterprise Linux (RHEL), \u043f\u0435\u0440\u0435\u0439\u0434\u044f \u0441 Puppet Enterprise \u043d\u0430 Ansible Tower.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/obrezaem-niti-perehod-s-puppet-enterprise-na-ansible-tower-chast-1\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041e\u0431\u0440\u0435\u0437\u0430\u0435\u043c \u043d\u0438\u0442\u0438: \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u0441 Puppet Enterprise \u043d\u0430 Ansible Tower. \u0427\u0430\u0441\u0442\u044c 1 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041d\u0430\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0441\u043b\u0443\u0436\u0431\u0430 \u0441\u043f\u0443\u0442\u043d\u0438\u043a\u043e\u0432\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0431 \u043e\u043a\u0440\u0443\u0436\u0430\u044e\u0449\u0435\u0439 \u0441\u0440\u0435\u0434\u0435 (NESDIS) \u043d\u0430 35% \u0441\u043d\u0438\u0437\u0438\u043b\u0430 \u0441\u0432\u043e\u0438 \u0437\u0430\u0442\u0440\u0430\u0442\u044b \u043d\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0435\u0439 Red Hat Enterprise Linux (RHEL), \u043f\u0435\u0440\u0435\u0439\u0434\u044f \u0441 Puppet Enterprise \u043d\u0430 Ansible Tower.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/obrezaem-niti-perehod-s-puppet-enterprise-na-ansible-tower-chast-1\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-05-06T11:42:24+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-05-06T11:42:24+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Cortando os fios: migra\u00e7\u00e3o do Puppet Enterprise para o Ansible Tower. Parte 1 | ProHoster","description":"O Servi\u00e7o Nacional de Dados de Sat\u00e9lites sobre o Meio Ambiente (NESDIS) reduziu em 35% seus custos de gerenciamento de configura\u00e7\u00e3o do Red Hat Enterprise Linux (RHEL) ao migrar do Puppet Enterprise para o Ansible Tower.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/obrezaem-niti-perehod-s-puppet-enterprise-na-ansible-tower-chast-1","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041e\u0431\u0440\u0435\u0437\u0430\u0435\u043c \u043d\u0438\u0442\u0438: \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u0441 Puppet Enterprise \u043d\u0430 Ansible Tower. \u0427\u0430\u0441\u0442\u044c 1 | ProHoster","og:description":"\u041d\u0430\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0441\u043b\u0443\u0436\u0431\u0430 \u0441\u043f\u0443\u0442\u043d\u0438\u043a\u043e\u0432\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0431 \u043e\u043a\u0440\u0443\u0436\u0430\u044e\u0449\u0435\u0439 \u0441\u0440\u0435\u0434\u0435 (NESDIS) \u043d\u0430 35% \u0441\u043d\u0438\u0437\u0438\u043b\u0430 \u0441\u0432\u043e\u0438 \u0437\u0430\u0442\u0440\u0430\u0442\u044b \u043d\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0435\u0439 Red Hat Enterprise Linux (RHEL), \u043f\u0435\u0440\u0435\u0439\u0434\u044f \u0441 Puppet Enterprise \u043d\u0430 Ansible Tower.","og:url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/obrezaem-niti-perehod-s-puppet-enterprise-na-ansible-tower-chast-1","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-05-06T11:42:24+00:00","article:modified_time":"2020-05-06T11:42:24+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"80491","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 16:17:31","updated":"2022-09-28 07:21:37","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/80491","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=80491"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/80491\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media\/80492"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=80491"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=80491"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=80491"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}