DevMedia
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Este é um post disponível para assinantes MVP
###
Infra Magazine 15 - Índice

Python: Automação de tarefas

O objetivo deste artigo é apresentar a linguagem Python como um meio agradável e simples de automatizar tarefas do dia a dia e permitir que os sysadmins produzam mais com menos esforço.

[fechar]

Você não gostou da qualidade deste conteúdo?

(opcional) Você poderia comentar o que não lhe agradou?

Confirmo meu voto negativo
Fique por dentro
Conhecer uma linguagem de script e internalizar uma cultura de automação permite que se delegue o trabalho repetitivo para quem faz isso melhor (o computador), e libera tempo precioso dos profissionais de TI para se dedicarem a projetos e outras atividades mais complexas. O objetivo deste artigo é apresentar a linguagem Python como um meio agradável e simples de automatizar tarefas do dia a dia e permitir que os sysadmins produzam mais com menos esforço.

Nos últimos anos acompanhamos o crescimento exponencial dos ambientes de TI, tanto em termos de complexidade quanto de quantidade de equipamentos e aplicações, os quais demandam gerenciamento constante. Existem dois caminhos para lidar com esse crescimento: contratar mais profissionais (ou como acontece muitas vezes, simplesmente sobrecarregar os atuais) ou investir em automação.

Automação de tarefas repetitivas não é nenhuma novidade, e é o motivo pelo qual os computadores foram criados. A questão é que cada vez mais encontramos profissionais que, muitas vezes por falta de conhecimento, se transformam em verdadeiros escravos das aplicações que cuidam, executando diariamente diversas tarefas repetitivas sem imaginar que pode existir uma solução melhor.

Com as iniciativas de Cloud Computing cada vez mais presentes, onde o provisionamento de servidores e aplicações é realizado com poucos cliques, a automação é ainda mais importante. É difícil imaginar como dar suporte a um ambiente com, por exemplo, 1000 servidores virtuais, sem rotinas automatizadas. O AWS (Amazon Web Services) e o OpenStack são dois exemplos de plataformas de cloud que fornecem diversos serviços de automação que permitem o uso de Python (esse é um assunto que provavelmente daria um artigo interessante no futuro).

Este artigo se propõe a apresentar uma breve introdução à programação utilizando a linguagem Python, e com base nos conceitos apresentados, expor alguns cenários de automação comuns no dia a dia dos profissionais de TI. A ideia é que estes cenários sirvam de building blocks para a construção de soluções específicas para os problemas de cada um. Assumimos como premissa que os leitores possuem ao menos uma noção básica de programação, do tipo que se aprende no colégio, faculdade ou cursos livres.

Os leitores podem se perguntar: por que Python? Existem outras ótimas linguagens de script que podem ser utilizadas para automação, como Perl, os diversos dialetos de shell-script, Power Shell, VBScript, para citar algumas. A opção por Python foi direcionada por alguns fatores, baseados em experiência pessoal:

· Simplicidade de sintaxe: Perl é uma linguagem excelente e talvez mais poderosa em alguns aspectos, mas iniciantes têm alguma dificuldade em entender a sintaxe e se confundem com a quantidade de símbolos utilizados pela linguagem;

· Disponibilidade em várias plataformas: Power Shell e VBScript são nativas do Windows, assim como shell-script é nativo do Unix. A ideia é aprender apenas uma linguagem que possa ser utilizada em diversas plataformas;

· Disponibilidade de bibliotecas: Python possui uma coleção enorme de bibliotecas, muitas delas multiplataforma, que economizam muito tempo no desenvolvimento;

· Uso futuro: Python é uma linguagem de uso muito abrangente, de automação de rotinas a frameworks completos de desenvolvimento web. Se o leitor quiser investir em outras áreas da programação, é possível aproveitar o conhecimento já adquirido.

Apresentados os fatores, que fique claro que esta não é uma discussão do tipo “linguagem X é melhor do que linguagem Y”. O objetivo aqui é, acima de tudo, apresentar uma linguagem aos que ainda não programam. Para os leitores que já têm a sua linguagem de script favorita, é sempre possível aprender uma coisa ou outra observando como as tarefas podem ser feitas em outra linguagem.

Introdução à linguagem Python

Python é uma linguagem de script interpretada e multiparadigma (ver BOX 1), que foi criada por Guido van Rossum no final da década de 1980, enquanto estava no CWI – Centrum Wiskunde & Informatica (Instituto Nacional de Pesquisas Matemáticas e de Ciências da Computação) em Amsterdam, na Holanda.

Desde o seu início, a linguagem foi concebida para ser simples de entender e possuir uma biblioteca padrão bastante abrangente, que possibilitasse alta produtividade por parte do programador. A documentação oficial (veja a seção Links) chama essa filosofia de “batteries included”, ou seja, a linguagem já vem com as bibliotecas que são mais comuns e mais utilizadas pela comunidade.

BOX 1. Linguagem Interpretada e Multiparadigma

Linguagem interpretada é aquela cujo programa não é compilado para um arquivo executável, mas sim executado linha a linha por um interpretador.

Multiparadigma é uma linguagem que suporta diversos paradigmas de desenvolvimento. Atualmente temos como paradigmas mais comuns os de programação imperativa, orientada a objetos e funcional.

Python vive um momento de transição, em que foi criada uma nova versão da linguagem (3), que possui diferenças que causaram uma ruptura em algumas funcionalidades da versão anterior (2.7). Na prática é possível utilizar qualquer uma das duas versões, e em termos de produtividade as duas versões são equiparáveis.

Instalação do interpretador e bibliotecas

Todos os exemplos deste artigo foram criados utilizando a versão 3.2 do ActivePython, que é distribuído pela ActiveState (veja a seção Links), para Windows, Linux e Mac OSX. É recomendado que se utilize a versão de 32 bits porque é a que possui a maior quantidade de bibliotecas adicionais disponíveis no repositório. Os scripts e exemplos mostrados aqui devem funcionar tanto na versão 2.7 como na 3 do Python sem maiores problemas, independentemente de distribuição.

Modo batch e modo interativo (REPL)

Em Python existem dois modos de acionarmos o interpretador: o modo batch, que é o mais comum e é o que utilizaremos sempre que quisermos executar um programa, e o modo interativo, também chamado de REPL (acrônimo para “Read-Eval-Print Loop”).

No modo batch, para executar um programa, basta invocar o interpretador (assumindo que este esteja no PATH do sistema operacional) e passar o nome do programa:

python programa.py

Ao executar esse comando, o interpretador Python irá executar as instruções contidas no arquivo programa.py.

Se executarmos apenas o interpretador, sem passar nenhum programa, veremos uma saída no prompt de comando semelhante ao exemplo:

Python 2.7.5 (default, Aug 21 2013, 21:18:58)

Type "help", "copyright", "credits" or "license" for more information.

>>>

Neste prompt é possível digitar comandos Python e ver os seus resultados, sem precisar e" [...]

A exibição deste artigo foi interrompida

Este post está disponível para assinantes MVP.



Há 14 anos trabalhando com TI, já trabalhou em áreas tão diversas como desenvolvimento de software, infraestrutura e arquitetura corporativa. Atualmente trabalha como Administrador de Banco de Dados.

O que você achou deste post?
Publicidade
Serviços

Mais posts