Se tem um recurso que mais buscamos aproveitar em computação é o tempo, principalmente quando falamos de tarefas repetitivas ou de baixo impacto no negócio. Pensando nisso, uma das estratégias mais comuns para economizar tempo é por meio de scripts e automações, mais precisamente da automação utilizando um script.
O objetivo deste artigo é falar um pouco sobre por que automação é relevante para seu projeto e como isso pode trazer economia de tempo e eficácia para seu time.
Automação versus Script
No começo do texto, mencionamos que a automação funciona como uma alternativa para economizar tempo e tornar os nossos times mais eficientes por meio de scripts. Mas qual é a diferença entre script e automação?
De acordo com o Dan’s Blog (Principal Program Manager na Microsoft) a explicação é que scripting é quando você executa uma tarefa programaticamente usando uma linguagem de script. Enquanto que a automação funciona quando uma operação é iniciada automaticamente, como uma tarefa agendada.
Por exemplo, você pode usar uma ferramenta de agendamento que te permite controlar tarefas a serem executadas em tempos pré-configurados, como é o caso do CRON.
Outras atividades que poderiam ser otimizadas por scripts são:
- A criação de N usuários em uma organização.
- O envio de N emails.
- Geração de relatórios a partir de uma planilha.
Inclusive, você sabia que esse tipo de trabalho manual, repetitivo e completamente automatizável tem um nome? Entenda como identificar e resolver um Toil.
Por que usar scripts de automação?
A principal vantagem de um script é que ele acelera o processo de execução de uma tarefa. E, uma vez que a tarefa está automatizada, não deve ser necessário uma intervenção manual (leia-se humana) para iniciar ele.
Usar scripts para realizar ações dentro de automações é útil se você tiver uma tarefa complexa que precisa ser realizada várias vezes. E se você precisar atualizar essa tarefa, você a atualizará uma vez no script relacionado e toda a sua automação será atualizada automaticamente.
Outra vantagem de automatizar uma tarefa – isto é, deixando a máquina “fazer o trabalho“ – é que ela será, muito provavelmente, realizada com mais velocidade e com mais precisão, já que há menor chance de dar erro.
É possível usar um ou mais scripts para automatizar uma tarefa. Também existem ferramentas do mercado auxiliando neste processo, como o caso da RD Station para Marketing e Vendas, Selenium para testes de TI, Chef para infraestrutura etc.
No que a automação e script podem não atender
Geralmente, cada profissional cria seus próprios scripts para automatizar suas tarefas, o que acaba frequentemente gerando silos de conhecimento, pois outras pessoas que poderiam precisar do mesmo recurso não o conhecem. Em outras palavras: falta um meio de centralização destes scripts em um ambiente de trabalho.
Dentre os erros mais comuns na criação de scripts, está o fato de se colocar informações críticas diretamente no código, isto é, hardcoded. Essas informações podem ser críticas como credenciais, por exemplo, usuário, senha e token de acesso.
Na prática, isso pode gerar problemas de segurança, além de impedir que os scripts sejam mais transparentes, ou seja, sendo aproveitados em diversos ambientes e cenários.
Aliás, esse problema de segurança é, infelizmente, muito comum em diversas aplicações. Para você ter uma ideia, estima-se que três em quatro aplicações possuem algum tipo de vulnerabilidade de código. Uma maneira interessante de prevenir essas vulnerabilidades, além do terceiro fator do The Twelve Factor App, se encontra no Horusec, produto Open Source da Zup, que auxilia na prevenção desse tipo de problema.
Como criar meus próprios scripts de automação?
Existem várias ferramentas que te permitem criar, alterar e customizar scripts para automatização de tarefas. Um deles é o Ritchie CLI, produto open source mantido pela Zup e que tem por objetivo permitir que usuários executem scripts por meio de linhas de comando.
No contexto do Ritchie CLI, os scripts são chamados de fórmulas, sendo que esses scripts já vêm com as suas dependências e parâmetros de entradas pré-configurados.
Além disso, é possível adaptar um script existente à estrutura do Ritchie CLI, o que te permite executá-lo localmente ou por meio do Docker (para não se preocupar com as configurações da sua máquina) e, por fim, compartilhá-lo em um repositório do Bitbucket, Github ou Gitlab para versionamento.
Para finalizar: por onde começo?
O primeiro passo para qualquer automação começa por você mapear as atividades que, de tão repetitivas, seriam mais estratégicas se automatizadas. Uma vez tendo isso em mente, é possível entender quais as melhores ferramentas para te auxiliar nesse desafio. A boa notícia é que o Ritchie CLI, por ser Open Source, pode facilmente se adaptar às suas necessidades.
Ficou com vontade de saber mais do Ritchie CLI? Então você pode visitar nossa documentação oficial, além de descobrir mais dos nossos no Portal Open Source ou no nosso fórum.