Quando executamos qualquer sistema operacional, um dos requisitos para manter a segurança é a aplicação de patches de atualização, na nuvem não é diferente, o Azure oferece o Azure Update Management, gerenciador de updates que funciona com Windows e Linux.
O Azure Update Management oferece opções de agendamento, logs, possibilidade de executar scripts PowerShell antes e depois do processo, entre outros.
Azure Update Management
O Azure Update Management é um serviço gratuito que a Microsoft oferece no Azure que utiliza dois componentes adicionais, o Azure Monitor e o seu respectivo Log Analytics Workspace para coletar as informações dos servidores, incluindo as informações de updates, e o Azure Automation para orquestração.
Atualmente o Azure Update Management pode encontrar updates para Windows Server 2012, Windows Server 2016 (exceto Core), Windows Server 2019 (inclusive Core) e posteriores, Windows Server 2008 R2, CentOS 6, 7 e 8, Oracle Linux 6.x, 7.x e 8.x, Red Hat Enterprise 6, 7 e 8, SUSE Linux Enterprise Server 12, 15, 15.1 e 15 e Ubuntu 14.04 LTS, 16.04 LTS, 18.04 LTS e 20.04 LTS. Versões cliente do Windows, não são oficialmente compatíveis.
Conectando servidores ao Azure Update Management
Para o funcionamento dos updates, é necessária instalação de um agente do Log Analytics, porém na maioria dos casos a instalação é feita automaticamente, tanto para Windows quanto para Linux, então não deve ser necessário fazer a sua instalação manualmente. Para adicionar um servidor a um Workspace do Log Analytics, abra o Workspace, na seção Workspace Data Sources clique em Virtual Machines, selecione a VM que deseja adicionar e clique em Connect.
Adicionando servidores ao Azure Automation
Antes de adicionar servidores ao Azure Automation é começar a configurar orquestração, é preciso criar uma conta do Azure Automation, um resource do tipo Automation. Escolha o Name, Subscription, Resource group, Location e marque a opção Create Azure Run As account como YES, essa configuração é fundamental para que Runbooks de inicialização e desligamento da VM rodem corretamente.

Após a criação, acesse a Automation Account e a opção Update management, clique em Add Azure VMs para adicionar uma VM ao serviço. Essa é apenas uma das formas de adicionar VMs ao Azure Update Management, na documentação da Microsoft você pode encontrar mais detalhes.
Criar um plano de instalação de updates
Após a configuração dos requisitos para o funcionamento do serviço, é possível configurar um schedule para update dos servidores. Essa ação pode ser feita pela Automation Account ou pela VM, pela Automation Account é possível criar agendamento para um grupo de máquinas com o mesmo tipo de sistema operacional (Windows ou Linux), pela VM só é possível criar agendamento para a mesma, no exemplo, criaremos via Automation Account.
Clique em Schedule update deployment, defina um nome, qual é sistema operacional, na opção Groups to update é possível aplicar um filtro para selecionar várias máquinas do mesmo sistema operacional, na opção Machines to update as VMs podem ser selecionadas individualmente. O próximo item é Update classifications, para Windows existem diversas opções, para Linux somente 2, escolha de acordo com a necessidade, você também pode selecionar KBs ou pacotes especificos para atualizar ou excluir da atualização na opção Include/exclude updates. Em Schedule settings é realizado agendamento do processo, pode ser executado uma única vez ou de forma recorrente. A opção Pre-scrips + Pos-scripts pode ser utilizada para ligar a máquina antes do update e desligar após, por exemplo. Em Maintenence window você define o tempo máximo que o processo irá executar, o mínimo são 30 minutos e o máximo 6 horas e a ultima opção é relacionado a reinicialização ou não após o update.
Ligar e desligar o servidor automaticamente no processo de update
Uma opção interessante para economia e automatização do processo é a utilização de scripts para inicialização e desligamento de VMs. Para executar essas tarefas é necessária importação dos Runbooks Update Management – Turn Off VMs e Update Management – Turn On VMs da galeria. Após a importação, acesse cada um dos Runbooks, edite e publique para que eles fiquem disponíveis na Automation Account.
Depois, em Modules, é necessário importar o módulo ThreadJob, é um requisito para que as VMs liguem e desliguem automaticamente.
Finalmente, para evitar erros dos Runbooks de inicialização e desligamento, também é necessário importar o Update-AutomationAzureModulesForAccount.ps1, baixe para a sua máquina e faça upload para os Runbooks, depois de publicar, execute o script e espere finalizar. Esse script atualiza os módulos do Azure PowerShell importados em uma conta do Azure Automation com a versão dos módulos publicadas no PowerShell Gallery. No momento, essa ação não é possível diretamente pelo Portal do Azure.