TDC2010 - Trilha Python: Python no iG (Automação de Datacenters)

16
Bruno Marcondes <[email protected]> || @bmarcondes Eduardo S. Scarpellini <[email protected]> || @escarpellini Python no iG (Automação de Data Centers)

description

 

Transcript of TDC2010 - Trilha Python: Python no iG (Automação de Datacenters)

Page 1: TDC2010 - Trilha Python: Python no iG (Automação de Datacenters)

Bruno Marcondes <[email protected]> || @bmarcondesEduardo S. Scarpellini <[email protected]> || @escarpellini

Python no iG(Automação de Data Centers)

Page 2: TDC2010 - Trilha Python: Python no iG (Automação de Datacenters)

O início de um novo Data Center

• Deploy da primeira máquina (servidor de instalação)

• Instalação manual do SO.

• Script em Python utlizando fabric para deploy do puppet + manifests.– Puppet é o responsável pelo seu auto-deploy

(puppetmasterd) + servidor BOOTP, TFTP, etc.

Page 3: TDC2010 - Trilha Python: Python no iG (Automação de Datacenters)

Inventário de hardware

Distribuição diskless (PXE+NFS).

Coleta de informações via lshw (XML). POST de dados para fla (RabbitMQ). Consumidor da fla para persistência em base central

(MySQL). Checagem de integridade da informação, se esta já

existr previamente.

Hardware disponível para consulta ou instalação. [re]boot do servidor via IPMI e instalação com

sistema operacional defnitvo.

Page 4: TDC2010 - Trilha Python: Python no iG (Automação de Datacenters)

Fluxo de Instalação de hardware

Manual / Local

Remoto / Automatizado

Page 5: TDC2010 - Trilha Python: Python no iG (Automação de Datacenters)

Cobbler• Permite a rápida confguração de um ambiente de instalação via rede

(provisionamento de servidores). • Garante a harmonia de:

o DHCP/BOOTP (templates). o TFTP + syslinux (templates).o Kickstart (templates).o Repositórios de pacotes.

• Suporte a:

o IPMI (power management: DRAC, iLO, etc).o Triggers (integração com webservices)o Diversas distribuições, versões e arquiteturas de GNU/Linux.

• Interfaces:

o CLI (command line)o XMLRPCo WEB (Cobbler Web)

Page 6: TDC2010 - Trilha Python: Python no iG (Automação de Datacenters)

Gerenciamento de Confguração

Page 7: TDC2010 - Trilha Python: Python no iG (Automação de Datacenters)

Puppet

• Ruby.• Modular. • XMLRPC/REST (+SSL).

• Meta-linguagem para defnição de manifests/classes.

o Acesso a funcões/código externos (ruby).o Herança / especialização de classes.

• Classes compostas por recursos abstratos (domínio do cliente). • Interdependência + Eventos (Triggers).

• iG:• nodeclassifer.py• Mercurial + Python Hooks

Page 8: TDC2010 - Trilha Python: Python no iG (Automação de Datacenters)

Administração Centralizada

Page 9: TDC2010 - Trilha Python: Python no iG (Automação de Datacenters)

Func

• Execução de módulos/funções de maneira massiva (ad hoc).o overlord => minions.

• XMLRPC (+SSL) • Arquitetura modular (fácil desenvolvimento).

o Ex.: command, jboss, rpm, iptables, process, ping, etc. • Interfaces

o Python API import func.overloard.client

o CLI func 'home-ws-*.tld' call command run 'htpd -V' func 'blig-ws-[123].tld' call hardware info

Page 10: TDC2010 - Trilha Python: Python no iG (Automação de Datacenters)

Monitoração

Page 11: TDC2010 - Trilha Python: Python no iG (Automação de Datacenters)

Collectd • Performátco e leve.

o C.o Alta resolução/granularidade (segundos).

• Plugins.o Apache, Nginx, Mysql, Bind, Varnish, RRD, Nagios, etc.

• Extensõeso Pythono Java.o Perl. o Bash (exec).

• Network o Push de dados para o servidor (passivo). o Multcast (auto-discovery).

o Visualização.– RRD plugin + collectd-web.

Page 12: TDC2010 - Trilha Python: Python no iG (Automação de Datacenters)

Integração

Page 13: TDC2010 - Trilha Python: Python no iG (Automação de Datacenters)

Control Staton Dashboard unifcado para as ferramentas citadas.

– Python/Django + MySQL + RabbitMQ.• Facilidade/Plugins/Reaproveitamento/Performance.

Ponto único para as informações relevantes.

– Dados de inventário.– WorkFlows / Requisições.– CRUDs. – Mashup (gráfcos).– Visões consolidadas/alto-nível para sites, serviços e pools.

Webservices (REST) para integração entre serviços de backend.

Page 14: TDC2010 - Trilha Python: Python no iG (Automação de Datacenters)

Control Staton

Page 15: TDC2010 - Trilha Python: Python no iG (Automação de Datacenters)

Control Staton

Page 16: TDC2010 - Trilha Python: Python no iG (Automação de Datacenters)