Esses comandos de automação de TI requerem pouco esforço e economizam muito trabalho
Fazer algumas tarefas de TI manualmente é fazê-las mal. Seja fornecendo componentes, investigando um problema ou reportando sobre desempenho, os scripts de automação de TI são poderosos e fáceis de escrever.
Os gestores de TI estão sob pressão para fazer mais com menos: menos tempo, menos recursos e nunca com dinheiro suficiente. Automatizar as etapas para a implantação de servidores e aplicativos pode remover algumas tarefas repetitivas de suas listas.
Implantar e administrar ambientes de TI sem automação é a maneira errada de trabalhar. Os scripts de automação já não são mais apenas algo agradável de se ter no trabalho: eles são uma necessidade empresarial.
O grande segredo é que a criação de scripts para a automação não é complicada. Os exemplos a seguir de scripts de automação úteis demonstram como as equipes de TI podem executar tarefas comuns de uma maneira que economiza tempo e dinheiro.
Comissionamento e configuração de hosts
Os administradores de TI geralmente criam hosts: um processo manual que requer muito tempo, inclusive quando simplesmente configuram uma configuração posterior à VM. A configuração manual deixa margem para cometer erros; mesmo em um ambiente pequeno, pode resultar em diferenças sutis nas configurações entre hosts que deveriam ser idênticos.
A cura é a configuração de estado desejado (DSC), que define programaticamente como uma máquina deve se parecer após a implantação. Chef é uma ferramenta DSC popular e é usada neste exemplo de automação de sequências de comandos.
O administrador escreve uma receita de Chef que é guardada em um livro de receitas, que é a terminologia da ferramenta para um script em uma pasta com alguns projetos adicionais e detalhes de configuração.
É necessário tempo para criar um conjunto inicial de receitas e livros de receitas, mas os resultados compensam este investimento. Refinar e desenvolver a implantação se converte em um simples caso de implementar as receitas apropriadas após a compilação inicial do host. Um administrador pode copiar, alterar e implantar a receita ou livro de receitas repetidamente, economizando tempo e garantindo uma configuração de plataforma consistente.
Cético de que a criação de um ambiente DSC aliviará o trabalho em vez de criar um novo trabalho? Considere o tempo necessário para configurar servidores web para testes, o desenvolvimento e a produção: um script simples configura um servidor web no tempo necessário para servir uma xícara de café.
Chef e sua linguagem Ruby subjacente, juntamente com o PowerShell, fazem com que a configuração de um servidor web em sistemas Windows seja tão fácil quanto:
powershell_script 'Install IIS' do
code 'Add-WindowsFeature Web-Server'
guard_interpreter :powershell_script
not_if "(Get-WindowsFeature -Name Web-Server).Installed"
end
O código anterior, extraído do Chef, ilustra a simplicidade de trabalhar com a automação DSC. O administrador poderia adicionar mais conteúdo e configurações web; é fácil copiar a receita e instalar uma nova função.
O DSC e outras ferramentas de implantação inicial permitem que as organizações de TI construam uma infraestrutura escalável. Implantar a mesma configuração repetidamente desde o desenvolvimento até a produção se torna trivial e reduz o risco de que erros de configuração criem problemas quando novas versões ocorrerem. Da mesma forma, um administrador poderia configurar dezenas de configurações diferentes, dependendo das necessidades, de forma controlada e documentada.
Algumas organizações de TI associarão a ferramenta de gerenciamento de configuração de estado desejada com uma ferramenta de orquestração, mas mesmo sem essas ferramentas, os scripts de automação fornecem uma maneira eficaz de configurar e gerenciar um ambiente.
O charme dos testes automatizados
Um gerente de operações de TI normalmente não é responsável por testes de software. Em vez disso, os desenvolvedores e a equipe de garantia de qualidade (QA) supervisionam essa tarefa. Mas os testes automatizados são uma área proeminente sob o guarda-chuva mais amplo da automação de TI e desempenham um papel importante na integração e entrega contínuas.
Com a automação de testes, as equipes de desenvolvimento de software usam ferramentas especializadas para executar scripts de teste que garantem que o código do aplicativo atenda aos requisitos e seja executado corretamente antes da implantação de produção. Como acontece com os outros casos de uso de automação de script descritos neste artigo, os testes automatizados economizam tempo, eliminam erros manuais e aumentam a eficiência e a repetibilidade.
Algumas tecnologias populares de automação de testes incluem Selenium, Appium e Cucumber.
Extração e relatórios de informação
As sequências de comandos para a automação também ajudam na pesquisa. Um administrador recebe consultas ad hoc frequentes, tais como: “Em quais hosts estão minhas máquinas virtuais?" ou "Quem tem o papel de administrador da máquina virtual?"
Use o seguinte script de PowerShell para informar o estado da máquina virtual:
$vmsToCheck = "get-content c:\scripts\vmdata.txt"
foreach ($vm in $vmsToCheck) {
get-vm $vm | select vmname, vmhost, NumCPU, RAM | export-csv "c:\data\result.csv"
}
Este script de automação útil, que levou menos de dois minutos para ser escrito, informa sobre um grupo de máquinas no arquivo vmdata.txt. Economiza tempo sempre que os usuários ou os proprietários de servidores solicitem ao administrador detalhes da máquina. Ao invés de pesquisar e escrever um relatório a cada vez à mão, o administrador simplesmente insere essas vinte máquinas sobre as quais deve informar e executa o script para gerar um relatório.
Em outro exemplo, o administrador pode verificar o status das ferramentas VMware para um conjunto de máquinas virtuais:
foreach ($VM in Get-Content c:\scripts\toolslist.txt) {
get-vm $VM | % { get-view $_.id } |
select Name, @{ Name="ToolsVersion";
Expression={$_.config.tools.toolsVersion}},@{ Name="ToolStatus";
Expression={$_.Guest.ToolsVersionStatus}}| Export-Csv -Append -Force -NoTypeInformation C:\scripts\toolsinstalled.csv
}
Embora estes sejam exemplos de sequências de comandos de automação triviais, eles transformam tarefas reais em tarefas simples.
Nota do autor: Os dois scripts anteriores de PowerShell necessitam que o usuário se conecte a um servidor VMware vCenter antes de serem executados ou que a conexão vCenter esteja incluída no script.
Relatórios automatizados
Às vezes, os relatórios disponíveis em um aplicativo não são suficientes. Os scripts de automação permitem a um administrador obter acesso a dados mais avançados quando combinados com o poder das APIs RESTful.
Embora um pouco mais complexo do que um script médio, o idioma RESTful permite que os administradores importem dados de sistemas baseados em web através de solicitações HTTP. Com uma API compatível e habilidades de programação, um administrador pode gerar relatórios ou outros resultados que satisfaçam aos requisitos exatos. Por exemplo, eu utilizo um script para exportar relatórios de erro de um sistema que não é bom em registrá-los. Usando a API RESTful, criei um registro de erros que pode ser extraído para obter dados conforme seja necessário.
A criação de scripts para automação é essencial no mundo atual da TI automatizada, como ilustram esses exemplos. Se você ainda não começou a criar scripts e automatizar, faça isso agora.