Há pouco mais de dois anos, escrevemos sobre a automação de upgrades locais para o Red Hat Enterprise Linux (RHEL). Durante esse período, dezenas de clientes fizeram upgrades de centenas de milhares de sistemas usando nossa abordagem prescritiva e automatizada para realizar upgrades do RHEL em escala. Neste artigo, analisaremos rapidamente as principais funcionalidades para acelerar a implementação da automação de upgrades do RHEL. Analisaremos o que deu certo e também alguns dos desafios e lições aprendidas.
O principal aprendizado: falhe rapidamente, itere e tente novamente. O mais importante é tornar o processo de upgrade menos complicado, permitindo a recuperação rápida para o estado original quando as coisas não saem perfeitamente de imediato.
O desafio
Muitos de nossos maiores clientes têm grandes ambientes RHEL que cresceram e evoluíram ao longo das décadas desde que a adoção empresarial do Linux decolou no início dos anos 2000. As organizações têm tentado virtualizar e colocar suas aplicações em containers com a intenção de modernizar a forma como implantam e gerenciam suas cargas de trabalho. Entretanto, algumas ainda têm um grande número de hosts do RHEL que não estão aptos para tal tarefa. Essas aplicações são executadas em servidores "pet" que foram cuidadosamente mantidos ao longo dos anos, com alterações manuais que levam a um grande acúmulo de desvios não rastreados.
É a dificuldade de fazer alterações nesses ambientes de aplicações que mantém as organizações presas a versões mais antigas do RHEL. A reformulação de plataforma para uma nova versão do RHEL geralmente é fácil para as equipes de infraestrutura e operações, mas reimplantar aplicações "pet" é uma tarefa pesada para as equipes de aplicações. Livrar-se de toda a dívida técnica para descobrir como reimplantar as cargas de trabalho com segurança acaba sendo muito caro e arriscado. É por isso que a abordagem fail-fast e o aprendizado são peças tão cruciais do quebra-cabeça.
Resumindo: existe uma maneira mais fácil de migrar ambientes para uma nova versão do RHEL sem precisar alterar as aplicações. Quando implementadas em escala, as economias em toda a organização aumentam rapidamente.
A solução
Nossa abordagem para escalar upgrades do RHEL é automatizar o processo usando o Red Hat Ansible Automation Platform e o conteúdo validado pelo Ansible. Essas automações podem realizar upgrades desde versões antigas, como RHEL 6 para 7, até as mais recentes, do RHEL 9 para 10, além de versões intermediárias. Vimos clientes até mesmo automatizando upgrades em vários saltos, como do RHEL 7 para o RHEL 9, em uma única janela de manutenção.
A solução depende de quatro funcionalidades essenciais.
1. Automatize tudo
A automação de ponta a ponta para upgrades do RHEL torna o processo disponível e reproduzível como um serviço simples e fácil de consumir para as equipes de operações e aplicações.
2. Snapshot com reversão
Essa é a funcionalidade mais importante da abordagem, pois minimiza o risco de impacto nas aplicações. Assim, nunca há uma desculpa para não realizar o upgrade. Os snapshots podem ser automatizados usando o gerenciador de volume lógico (LVM), snapshots do VMware ou backups relax-and-recover (ReaR), dependendo do ambiente. As reversões permitem especificamente que você falhe rapidamente e tente novamente.
3. Módulos personalizados
Embora o framework do RHEL Leapp atualize o próprio sistema operacional, o desenvolvimento de uma automação personalizada é necessário para lidar com as especificidades do seu ambiente, como ferramentas e agentes de terceiros padrão.
4. Dashboard de relatórios (opcional, mas MUITO útil)
O dashboard de relatórios rastreia os resultados do upgrade em todo o estado do RHEL. Ele visualiza relatórios pré-upgrade gerados pelo Leapp, facilitando a análise de descobertas e métricas agregadas no volume e no progresso dos upgrades concluídos.
Lições aprendidas com a automação de um milhão de upgrades locais do RHEL
Se aprendemos alguma coisa ao auxiliar os clientes a implementar essa abordagem, é que nada funciona perfeitamente da primeira vez. Não há como prever todas as configurações "floco de neve", o impacto de soluções de terceiros de baixo nível, os fatores ambientais externos etc. Descobrimos que o melhor é ir direto aos upgrades, começando pelos ambientes de desenvolvimento e laboratório inferiores.
Chamamos isso de abordagem "fail-fast", a qual é a chave para desenvolver rapidamente a solução de modo que ela lide com quaisquer variações específicas ao seu ambiente. Essa é uma metodologia que permite aprendizado e iteração rápidos, tentando fazer upgrades intencionalmente com a expectativa de que algo dê errado, observando essas falhas, revertendo rapidamente e usando o que foi aprendido para proteger a automação à prova de falhas.
Veja por que a abordagem fail-fast é crucial para a automação do upgrade local do RHEL:
- Redução de riscos e construção de confiança
- O elemento de redução de riscos mais importante é o recurso de reversão de snapshots. Isso diminui a preocupação de que um upgrade seja muito arriscado para as equipes de aplicações. Se algo der errado, o sistema pode ser rapidamente revertido para seu estado anterior sem causar uma interrupção prolongada. Esse recurso de recuperação rápida permite que as equipes de aplicações atualizem rapidamente e resolvam um problema significativo para requisitos regulatórios e de conformidade em setores como o bancário.
- Em um cliente muito conhecido, uma equipe de aplicações testou o upgrade e a reversão de um host várias vezes para ganhar confiança no processo de snapshot. Eles até mesmo corrompiam itens intencionalmente antes de reverter para provar o ponto.
- Da mesma forma, um grande cliente bancário considerou um "soluço" durante o primeiro upgrade bare-metal como um sucesso, porque a reversão funcionou e validou a metodologia fail-fast.
- Outro cliente tinha uma estrutura menor que conseguiu realizar o upgrade de todos os 60 hosts do RHEL em somente duas semanas, seguindo o princípio de "ir rápido, quebrar coisas" e confiando na automação e na reversão.
- Desenvolvimento acelerado e refinamento da automação
- A abordagem fail-fast acelera o desenvolvimento de automação personalizada, permitindo que as equipes iterem rapidamente. Em vez de tentar prever todos os problemas possíveis, a abordagem incentiva a execução do upgrade, observando as falhas, revertendo, automatizando uma correção e repetindo o processo.
- Isso ajuda a identificar e refinar soluções para requisitos personalizados complexos, como lidar com ferramentas de terceiros, agentes e middleware que podem não ser compatíveis com a nova versão do RHEL. Por exemplo, outro cliente bancário usou isso para identificar pacotes de fornecedores terceirizados removidos por upgrades e automatizar a reinstalação.
- A abordagem permite a descoberta de "esquilos do mundo real", os quais são desvios e variações inesperados em um ambiente, e o refinamento da automação para lidar com eles.
- Como superar barreiras organizacionais
- Pode haver um estigma associado ao fracasso que leva a um comportamento excessivamente contrário a riscos. A abordagem fail-fast, com o suporte de um recurso robusto de reversão, ajuda a superar isso, demonstrando que as falhas não só podem ser corrigidas com rapidez e segurança, mas também uma abordagem de aprendizado rápido.
- Quando a Red Hat se depara com a hesitação das equipes centrais de TI ou operações, é importante enfatizar a abordagem fail-fast e seus benefícios para as equipes de aplicações. Ele mostra como a solução os capacita sem exigir uma migração de plataforma cara.
- Habilitação de escala
- Ao identificar e resolver problemas rapidamente por meio de testes iterativos, as organizações podem acelerar os upgrades. Por exemplo, um cliente com um estado do RHEL de mais de 100.000 instâncias realizou 8.000 upgrades por mês em todo o mundo usando a automação self-service que permitiu iteração e reversão rápidas.
- A capacidade de testar e refinar facilmente a automação em ambientes inferiores (laboratório e desenvolvimento) antes de passar para a produção é a prática recomendada para evitar interrupções e alcançar altos volumes de upgrades.
Veja os detalhes por trás dos principais componentes que oferecem suporte ao fail-fast:
- Recursos automatizados de snapshot e reversão: essa é a base da abordagem fail-fast. As opções incluem snapshots do LVM ou snapshots do VMware. Os backups ReaR também podem ser usados para uma abordagem de "cintos e suspensórios", caso uma reversão de snapshot não funcione.
- Automação e módulos personalizados: os repositórios oficiais de upgrade do sistema do Leapp e seus respectivos agentes lidam com o upgrade do sistema operacional. No entanto, tarefas personalizadas do Ansible ou agentes adicionais do Leapp são necessários para gerenciar ferramentas de terceiros, agentes e middleware específicos para o ambiente de um cliente. Essas automações personalizadas são refinadas por meio de iterações fail-fast.
- Painéis de relatórios: ferramentas como o Elastic ou o Splunk podem visualizar resultados pré-upgrade e acompanhar o progresso dos upgrades, auxiliando as equipes a identificar problemas comuns e refinar a automação.
Mais informações sobre upgrades do RHEL
Ao adotar uma abordagem fail-fast, a tarefa aparentemente assustadora de realizar upgrades em larga escala do RHEL transforma-se em um processo iterativo que prioriza o aprendizado e a segurança, permitindo uma velocidade significativa e melhorando a conformidade com rapidez.
- Como automatizar upgrades antes do fim da manutenção do RHEL 7
- O fim da manutenção do Red Hat Enterprise Linux 7 está próximo
- infra.leapp Git repo: uma coleção de Ansible roles para automatizar upgrades locais do RHEL, com suporte de uma próspera comunidade upstream. Essas funções fornecem métodos padronizados para usar a estrutura do Leapp para realizar análises pré-upgrade e o próprio upgrade do RHEL. Quando você estiver pronto para desenvolver seus próprios playbooks personalizados para executar upgrades para sua empresa, considere usar funções dessa coleção do Ansible para facilitar seu trabalho.
- infra.lvm_snapshots Ansible collection: um componente essencial para a automação de upgrade local do RHEL, fornecendo as funções especificamente para o gerenciamento de snapshots do LVM. Essa coleção oferece funcionalidades essenciais, como snapshot_create para criar conjuntos definidos de volumes de snapshot LVM, snapshot_remove para excluí-los e snapshot_revert para reverter instantaneamente um sistema para um estado capturado anteriormente. Ele também inclui funções como shrink_lv para diminuir com segurança os tamanhos de volumes lógicos a fim de liberar espaço para snapshots e bigboot para aumentar a partição de boot.
- ripu-splunk repo: oferece uma implementação de referência para painéis de relatórios projetados para aprimorar as soluções de automação de upgrade do RHEL. Essa coleção open source oferece exemplos que podem ser importados para o Splunk Dashboard Studio, incluindo um resumo pré-upgrade, um relatório detalhado pré-upgrade e um cronograma de progresso do upgrade.
Estamos aqui para ajudar
À medida que os upgrades automatizados evoluíram nos últimos anos, a Red Hat Consulting Services tem sido fundamental para ajudar muitos clientes a implementar a solução. Se o upgrade de um ambiente de grande porte faz você se sentir sobrecarregado ou sem saber por onde começar, a Red Hat Consulting Services pode compartilhar seu conhecimento e orientação para ajudar você a chegar lá e, possivelmente, economizar tempo e dinheiro no processo.
Teste de produto
Red Hat Ansible Automation Platform | Teste de solução
Sobre os autores
Bob is an industry veteran with a lifetime of experience in IT dating back to the 1980s. Before coming to Red Hat in 2022, he held software consulting roles at DEC/HP and later moved to the banking industry as a pioneer leading Wall Street's early adoption of Linux. Today as a member of Red Hat's Customer-led Open Innovation team, he is committed to growing the community that's developing automation to make RHEL in-place upgrades successful at enterprise scale.
Bob Handlin has helped build and promote products in various parts of the tech industry for more than 20 years. He currently focuses on RHEL migrations and upgrades, but also assists with storage technologies and live patching.
Mais como este
Data-driven automation with Red Hat Ansible Automation Platform
Accelerating NetOps transformation with Ansible Automation Platform
Technically Speaking | Taming AI agents with observability
You Can't Automate The Fire | Code Comments
Leia mais
Navegue por canal
Automação
Últimas novidades em automação de TI para empresas de tecnologia, equipes e ambientes
Inteligência artificial
Descubra as atualizações nas plataformas que proporcionam aos clientes executar suas cargas de trabalho de IA em qualquer ambiente
Nuvem híbrida aberta
Veja como construímos um futuro mais flexível com a nuvem híbrida
Segurança
Veja as últimas novidades sobre como reduzimos riscos em ambientes e tecnologias
Edge computing
Saiba quais são as atualizações nas plataformas que simplificam as operações na borda
Infraestrutura
Saiba o que há de mais recente na plataforma Linux empresarial líder mundial
Aplicações
Conheça nossas soluções desenvolvidas para ajudar você a superar os desafios mais complexos de aplicações
Virtualização
O futuro da virtualização empresarial para suas cargas de trabalho on-premise ou na nuvem