SlideShare a Scribd company logo
1 of 16
Download to read offline
Python no iG
      (Automação de Data Centers)




Bruno Marcondes <brmarcondes@ig.com> || @bmarcondes
Eduardo S. Scarpellini <escarpellini@ig.com> || @escarpellini
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.
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.
Fluxo de Instalação
   de hardware



                             Manual / Local

                      Remoto / Automatizado
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 XMLRPC
     o WEB (Cobbler Web)
Gerenciamento de Confguração
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
Administração Centralizada
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
Monitoração
Collectd
• Performátco e leve.
   o C.
   o Alta resolução/granularidade (segundos).
• Plugins.
   o Apache, Nginx, Mysql, Bind, Varnish, RRD, Nagios, etc.
• Extensões
   o Python
   o 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.
Integração
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.
Control Staton
Control Staton
TDC2010 - Trilha Python: Python no iG (Automação de Datacenters)

More Related Content

What's hot

HA em PostgreSQL: O Elefante disponível para além do infinito
HA em PostgreSQL: O Elefante disponível para além do infinitoHA em PostgreSQL: O Elefante disponível para além do infinito
HA em PostgreSQL: O Elefante disponível para além do infinitoelliando dias
 
Semana Acadêmica ICET - Feevale - 12/04/2014
Semana Acadêmica ICET - Feevale - 12/04/2014Semana Acadêmica ICET - Feevale - 12/04/2014
Semana Acadêmica ICET - Feevale - 12/04/2014Getup Cloud
 
Sistemas operacionais 6
Sistemas operacionais 6Sistemas operacionais 6
Sistemas operacionais 6Nauber Gois
 
Alta disponibilidade com PostgreSQL
Alta disponibilidade com PostgreSQLAlta disponibilidade com PostgreSQL
Alta disponibilidade com PostgreSQLLeonardo Cezar
 
Gerenciamento de Backups PostgreSQL com pgbarman
Gerenciamento de Backups PostgreSQL com pgbarmanGerenciamento de Backups PostgreSQL com pgbarman
Gerenciamento de Backups PostgreSQL com pgbarmanJuliano Atanazio
 
9 - segurança - ataques buffer-injection
9 - segurança -  ataques buffer-injection9 - segurança -  ataques buffer-injection
9 - segurança - ataques buffer-injectionAndre Peres
 
Temperatura Zabbix Procedimento Temper Usb
Temperatura Zabbix Procedimento Temper UsbTemperatura Zabbix Procedimento Temper Usb
Temperatura Zabbix Procedimento Temper UsbThiago Santos
 
TDC2018SP | Trilha Containers - Linux Conteineres na unha
TDC2018SP | Trilha Containers - Linux Conteineres na unhaTDC2018SP | Trilha Containers - Linux Conteineres na unha
TDC2018SP | Trilha Containers - Linux Conteineres na unhatdc-globalcode
 
Rodando e instalandosistemas operacionaispela rede - Nasser Othman Rahman - ...
Rodando e instalandosistemas operacionaispela rede - Nasser Othman Rahman  - ...Rodando e instalandosistemas operacionaispela rede - Nasser Othman Rahman  - ...
Rodando e instalandosistemas operacionaispela rede - Nasser Othman Rahman - ...Tchelinux
 
Análise comparativa entre as versões 3 e 4 do protocolo nfs em arquiteturas n...
Análise comparativa entre as versões 3 e 4 do protocolo nfs em arquiteturas n...Análise comparativa entre as versões 3 e 4 do protocolo nfs em arquiteturas n...
Análise comparativa entre as versões 3 e 4 do protocolo nfs em arquiteturas n...Joao Galdino Mello de Souza
 
Minicurso GNU/Linux básico - Aula2 - Semana Sistemas de Informação 2015 - UNI...
Minicurso GNU/Linux básico - Aula2 - Semana Sistemas de Informação 2015 - UNI...Minicurso GNU/Linux básico - Aula2 - Semana Sistemas de Informação 2015 - UNI...
Minicurso GNU/Linux básico - Aula2 - Semana Sistemas de Informação 2015 - UNI...Marlon Willrich
 
Oracle Real Application Clusters 11gR2 - New Features
Oracle Real Application Clusters 11gR2 - New FeaturesOracle Real Application Clusters 11gR2 - New Features
Oracle Real Application Clusters 11gR2 - New FeaturesiMasters
 
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...Renato Groff
 
Alta Performance com Java
Alta Performance com JavaAlta Performance com Java
Alta Performance com JavaAlisson Pedrina
 
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...Renato Groff
 
TDC2018SP | Trilha Containers - Kubernetes: como a magica acontece?
TDC2018SP | Trilha Containers - Kubernetes: como a magica acontece?TDC2018SP | Trilha Containers - Kubernetes: como a magica acontece?
TDC2018SP | Trilha Containers - Kubernetes: como a magica acontece?tdc-globalcode
 

What's hot (18)

HA em PostgreSQL: O Elefante disponível para além do infinito
HA em PostgreSQL: O Elefante disponível para além do infinitoHA em PostgreSQL: O Elefante disponível para além do infinito
HA em PostgreSQL: O Elefante disponível para além do infinito
 
Semana Acadêmica ICET - Feevale - 12/04/2014
Semana Acadêmica ICET - Feevale - 12/04/2014Semana Acadêmica ICET - Feevale - 12/04/2014
Semana Acadêmica ICET - Feevale - 12/04/2014
 
Sistemas operacionais 6
Sistemas operacionais 6Sistemas operacionais 6
Sistemas operacionais 6
 
Alta disponibilidade com PostgreSQL
Alta disponibilidade com PostgreSQLAlta disponibilidade com PostgreSQL
Alta disponibilidade com PostgreSQL
 
Gerenciamento de Backups PostgreSQL com pgbarman
Gerenciamento de Backups PostgreSQL com pgbarmanGerenciamento de Backups PostgreSQL com pgbarman
Gerenciamento de Backups PostgreSQL com pgbarman
 
9 - segurança - ataques buffer-injection
9 - segurança -  ataques buffer-injection9 - segurança -  ataques buffer-injection
9 - segurança - ataques buffer-injection
 
Temperatura Zabbix Procedimento Temper Usb
Temperatura Zabbix Procedimento Temper UsbTemperatura Zabbix Procedimento Temper Usb
Temperatura Zabbix Procedimento Temper Usb
 
Replicação PostgreSQL com RepManager
Replicação PostgreSQL com RepManagerReplicação PostgreSQL com RepManager
Replicação PostgreSQL com RepManager
 
TDC2018SP | Trilha Containers - Linux Conteineres na unha
TDC2018SP | Trilha Containers - Linux Conteineres na unhaTDC2018SP | Trilha Containers - Linux Conteineres na unha
TDC2018SP | Trilha Containers - Linux Conteineres na unha
 
Rodando e instalandosistemas operacionaispela rede - Nasser Othman Rahman - ...
Rodando e instalandosistemas operacionaispela rede - Nasser Othman Rahman  - ...Rodando e instalandosistemas operacionaispela rede - Nasser Othman Rahman  - ...
Rodando e instalandosistemas operacionaispela rede - Nasser Othman Rahman - ...
 
Vagrant + Puppet
Vagrant + PuppetVagrant + Puppet
Vagrant + Puppet
 
Análise comparativa entre as versões 3 e 4 do protocolo nfs em arquiteturas n...
Análise comparativa entre as versões 3 e 4 do protocolo nfs em arquiteturas n...Análise comparativa entre as versões 3 e 4 do protocolo nfs em arquiteturas n...
Análise comparativa entre as versões 3 e 4 do protocolo nfs em arquiteturas n...
 
Minicurso GNU/Linux básico - Aula2 - Semana Sistemas de Informação 2015 - UNI...
Minicurso GNU/Linux básico - Aula2 - Semana Sistemas de Informação 2015 - UNI...Minicurso GNU/Linux básico - Aula2 - Semana Sistemas de Informação 2015 - UNI...
Minicurso GNU/Linux básico - Aula2 - Semana Sistemas de Informação 2015 - UNI...
 
Oracle Real Application Clusters 11gR2 - New Features
Oracle Real Application Clusters 11gR2 - New FeaturesOracle Real Application Clusters 11gR2 - New Features
Oracle Real Application Clusters 11gR2 - New Features
 
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...
 
Alta Performance com Java
Alta Performance com JavaAlta Performance com Java
Alta Performance com Java
 
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
 
TDC2018SP | Trilha Containers - Kubernetes: como a magica acontece?
TDC2018SP | Trilha Containers - Kubernetes: como a magica acontece?TDC2018SP | Trilha Containers - Kubernetes: como a magica acontece?
TDC2018SP | Trilha Containers - Kubernetes: como a magica acontece?
 

Viewers also liked

Testable Infrastructure with Chef, Test Kitchen, and Docker
Testable Infrastructure with Chef, Test Kitchen, and DockerTestable Infrastructure with Chef, Test Kitchen, and Docker
Testable Infrastructure with Chef, Test Kitchen, and DockerMandi Walls
 
Velocity2011 chef-workshop
Velocity2011 chef-workshopVelocity2011 chef-workshop
Velocity2011 chef-workshopjtimberman
 
Chef Provisioning a Chef Server Cluster - ChefConf 2015
Chef Provisioning a Chef Server Cluster - ChefConf 2015Chef Provisioning a Chef Server Cluster - ChefConf 2015
Chef Provisioning a Chef Server Cluster - ChefConf 2015Chef
 
Chef Cookbook Testing and Continuous Integration
Chef Cookbook Testing and Continuous IntegrationChef Cookbook Testing and Continuous Integration
Chef Cookbook Testing and Continuous IntegrationJulian Dunn
 
Introduction to Chef
Introduction to ChefIntroduction to Chef
Introduction to ChefKnoldus Inc.
 
Overview of Chef - Fundamentals Webinar Series Part 1
Overview of Chef - Fundamentals Webinar Series Part 1Overview of Chef - Fundamentals Webinar Series Part 1
Overview of Chef - Fundamentals Webinar Series Part 1Chef
 

Viewers also liked (7)

Testable Infrastructure with Chef, Test Kitchen, and Docker
Testable Infrastructure with Chef, Test Kitchen, and DockerTestable Infrastructure with Chef, Test Kitchen, and Docker
Testable Infrastructure with Chef, Test Kitchen, and Docker
 
Velocity2011 chef-workshop
Velocity2011 chef-workshopVelocity2011 chef-workshop
Velocity2011 chef-workshop
 
Chef Provisioning a Chef Server Cluster - ChefConf 2015
Chef Provisioning a Chef Server Cluster - ChefConf 2015Chef Provisioning a Chef Server Cluster - ChefConf 2015
Chef Provisioning a Chef Server Cluster - ChefConf 2015
 
Dive into Chef
Dive into ChefDive into Chef
Dive into Chef
 
Chef Cookbook Testing and Continuous Integration
Chef Cookbook Testing and Continuous IntegrationChef Cookbook Testing and Continuous Integration
Chef Cookbook Testing and Continuous Integration
 
Introduction to Chef
Introduction to ChefIntroduction to Chef
Introduction to Chef
 
Overview of Chef - Fundamentals Webinar Series Part 1
Overview of Chef - Fundamentals Webinar Series Part 1Overview of Chef - Fundamentals Webinar Series Part 1
Overview of Chef - Fundamentals Webinar Series Part 1
 

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

Tchelinux live 2020 - Detectando e Respondendo Incidentes de Segurança em Fro...
Tchelinux live 2020 - Detectando e Respondendo Incidentes de Segurança em Fro...Tchelinux live 2020 - Detectando e Respondendo Incidentes de Segurança em Fro...
Tchelinux live 2020 - Detectando e Respondendo Incidentes de Segurança em Fro...Jeronimo Zucco
 
Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...
Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...
Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...Jeronimo Zucco
 
Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?Marcelo Dieder
 
FISL8 - Aplicações Livres para Gerenciamento de Redes e Serviços
FISL8 - Aplicações Livres para Gerenciamento de Redes e ServiçosFISL8 - Aplicações Livres para Gerenciamento de Redes e Serviços
FISL8 - Aplicações Livres para Gerenciamento de Redes e ServiçosMauro Tapajós
 
Configuração de ativos de rede utilizando a abordagem infrastructure as code
Configuração de ativos de rede utilizando a abordagem infrastructure as codeConfiguração de ativos de rede utilizando a abordagem infrastructure as code
Configuração de ativos de rede utilizando a abordagem infrastructure as codeAécio Pires
 
Integração de Sistemas usando tecnologias open source
Integração de Sistemas usando tecnologias open sourceIntegração de Sistemas usando tecnologias open source
Integração de Sistemas usando tecnologias open sourceTiago Peczenyj
 
Cloud Server Embratel
Cloud Server EmbratelCloud Server Embratel
Cloud Server EmbratelAlex Hübner
 
Curso Monitoramento Profissional com Nagios em Sao Paulo
Curso Monitoramento Profissional com Nagios em Sao PauloCurso Monitoramento Profissional com Nagios em Sao Paulo
Curso Monitoramento Profissional com Nagios em Sao PauloGrupo Treinar
 
Mini Curso - Pen Test - Univem
Mini Curso - Pen Test - UnivemMini Curso - Pen Test - Univem
Mini Curso - Pen Test - Univemevandrovv
 
Cluster de Alta disponibilidade
Cluster de Alta disponibilidadeCluster de Alta disponibilidade
Cluster de Alta disponibilidadeMarcelo Garcia
 
Avaliação das distribuições Linux
Avaliação das distribuições LinuxAvaliação das distribuições Linux
Avaliação das distribuições LinuxMauro Tapajós
 
SNMP - Rafael Rodriques
SNMP - Rafael RodriquesSNMP - Rafael Rodriques
SNMP - Rafael Rodriquesmarleigrolli
 
OpenShift: NoSQL "a la carte" num PaaS 100% Open Source
OpenShift: NoSQL  "a la carte"  num PaaS 100% Open SourceOpenShift: NoSQL  "a la carte"  num PaaS 100% Open Source
OpenShift: NoSQL "a la carte" num PaaS 100% Open SourceEdgar Silva
 

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

Python no iG
Python no iGPython no iG
Python no iG
 
Automação de Data Center
Automação de Data CenterAutomação de Data Center
Automação de Data Center
 
Tchelinux live 2020 - Detectando e Respondendo Incidentes de Segurança em Fro...
Tchelinux live 2020 - Detectando e Respondendo Incidentes de Segurança em Fro...Tchelinux live 2020 - Detectando e Respondendo Incidentes de Segurança em Fro...
Tchelinux live 2020 - Detectando e Respondendo Incidentes de Segurança em Fro...
 
Trabalho
TrabalhoTrabalho
Trabalho
 
Consegi 2011: Ganeti + Puppet
Consegi 2011: Ganeti + PuppetConsegi 2011: Ganeti + Puppet
Consegi 2011: Ganeti + Puppet
 
Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...
Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...
Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...
 
Zabbix 2010
Zabbix 2010Zabbix 2010
Zabbix 2010
 
Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?
 
RHQ 4 Gerenciamento efetivo de servidores JBoss
RHQ 4 Gerenciamento efetivo de servidores JBossRHQ 4 Gerenciamento efetivo de servidores JBoss
RHQ 4 Gerenciamento efetivo de servidores JBoss
 
FISL8 - Aplicações Livres para Gerenciamento de Redes e Serviços
FISL8 - Aplicações Livres para Gerenciamento de Redes e ServiçosFISL8 - Aplicações Livres para Gerenciamento de Redes e Serviços
FISL8 - Aplicações Livres para Gerenciamento de Redes e Serviços
 
Configuração de ativos de rede utilizando a abordagem infrastructure as code
Configuração de ativos de rede utilizando a abordagem infrastructure as codeConfiguração de ativos de rede utilizando a abordagem infrastructure as code
Configuração de ativos de rede utilizando a abordagem infrastructure as code
 
Integração de Sistemas usando tecnologias open source
Integração de Sistemas usando tecnologias open sourceIntegração de Sistemas usando tecnologias open source
Integração de Sistemas usando tecnologias open source
 
Cloud Server Embratel
Cloud Server EmbratelCloud Server Embratel
Cloud Server Embratel
 
Curso Monitoramento Profissional com Nagios em Sao Paulo
Curso Monitoramento Profissional com Nagios em Sao PauloCurso Monitoramento Profissional com Nagios em Sao Paulo
Curso Monitoramento Profissional com Nagios em Sao Paulo
 
Mini Curso - Pen Test - Univem
Mini Curso - Pen Test - UnivemMini Curso - Pen Test - Univem
Mini Curso - Pen Test - Univem
 
Cluster de Alta disponibilidade
Cluster de Alta disponibilidadeCluster de Alta disponibilidade
Cluster de Alta disponibilidade
 
Avaliação das distribuições Linux
Avaliação das distribuições LinuxAvaliação das distribuições Linux
Avaliação das distribuições Linux
 
SNMP - Rafael Rodriques
SNMP - Rafael RodriquesSNMP - Rafael Rodriques
SNMP - Rafael Rodriques
 
Software para redes
Software para redesSoftware para redes
Software para redes
 
OpenShift: NoSQL "a la carte" num PaaS 100% Open Source
OpenShift: NoSQL  "a la carte"  num PaaS 100% Open SourceOpenShift: NoSQL  "a la carte"  num PaaS 100% Open Source
OpenShift: NoSQL "a la carte" num PaaS 100% Open Source
 

Recently uploaded

ATIVIDADE 1 - GESTÃO DE PESSOAS E DESENVOLVIMENTO DE EQUIPES - 52_2024.docx
ATIVIDADE 1 - GESTÃO DE PESSOAS E DESENVOLVIMENTO DE EQUIPES - 52_2024.docxATIVIDADE 1 - GESTÃO DE PESSOAS E DESENVOLVIMENTO DE EQUIPES - 52_2024.docx
ATIVIDADE 1 - GESTÃO DE PESSOAS E DESENVOLVIMENTO DE EQUIPES - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - CÁLCULO DIFERENCIAL E INTEGRAL II - 52_2024.docx
ATIVIDADE 1 - CÁLCULO DIFERENCIAL E INTEGRAL II - 52_2024.docxATIVIDADE 1 - CÁLCULO DIFERENCIAL E INTEGRAL II - 52_2024.docx
ATIVIDADE 1 - CÁLCULO DIFERENCIAL E INTEGRAL II - 52_2024.docx2m Assessoria
 
Entrevistas, artigos, livros & citações de Paulo Pagliusi
Entrevistas, artigos, livros & citações de Paulo PagliusiEntrevistas, artigos, livros & citações de Paulo Pagliusi
Entrevistas, artigos, livros & citações de Paulo PagliusiPaulo Pagliusi, PhD, CISM
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
EAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIA
EAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIAEAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIA
EAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIAMarcio Venturelli
 
Aula 01 - Introducao a Processamento de Frutos e Hortalicas.pdf
Aula 01 - Introducao a Processamento de Frutos e Hortalicas.pdfAula 01 - Introducao a Processamento de Frutos e Hortalicas.pdf
Aula 01 - Introducao a Processamento de Frutos e Hortalicas.pdfInocencioHoracio3
 
Palestras sobre Cibersegurança em Eventos - Paulo Pagliusi
Palestras sobre Cibersegurança em Eventos - Paulo PagliusiPalestras sobre Cibersegurança em Eventos - Paulo Pagliusi
Palestras sobre Cibersegurança em Eventos - Paulo PagliusiPaulo Pagliusi, PhD, CISM
 
COI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINAS
COI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINASCOI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINAS
COI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINASMarcio Venturelli
 

Recently uploaded (8)

ATIVIDADE 1 - GESTÃO DE PESSOAS E DESENVOLVIMENTO DE EQUIPES - 52_2024.docx
ATIVIDADE 1 - GESTÃO DE PESSOAS E DESENVOLVIMENTO DE EQUIPES - 52_2024.docxATIVIDADE 1 - GESTÃO DE PESSOAS E DESENVOLVIMENTO DE EQUIPES - 52_2024.docx
ATIVIDADE 1 - GESTÃO DE PESSOAS E DESENVOLVIMENTO DE EQUIPES - 52_2024.docx
 
ATIVIDADE 1 - CÁLCULO DIFERENCIAL E INTEGRAL II - 52_2024.docx
ATIVIDADE 1 - CÁLCULO DIFERENCIAL E INTEGRAL II - 52_2024.docxATIVIDADE 1 - CÁLCULO DIFERENCIAL E INTEGRAL II - 52_2024.docx
ATIVIDADE 1 - CÁLCULO DIFERENCIAL E INTEGRAL II - 52_2024.docx
 
Entrevistas, artigos, livros & citações de Paulo Pagliusi
Entrevistas, artigos, livros & citações de Paulo PagliusiEntrevistas, artigos, livros & citações de Paulo Pagliusi
Entrevistas, artigos, livros & citações de Paulo Pagliusi
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
EAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIA
EAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIAEAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIA
EAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIA
 
Aula 01 - Introducao a Processamento de Frutos e Hortalicas.pdf
Aula 01 - Introducao a Processamento de Frutos e Hortalicas.pdfAula 01 - Introducao a Processamento de Frutos e Hortalicas.pdf
Aula 01 - Introducao a Processamento de Frutos e Hortalicas.pdf
 
Palestras sobre Cibersegurança em Eventos - Paulo Pagliusi
Palestras sobre Cibersegurança em Eventos - Paulo PagliusiPalestras sobre Cibersegurança em Eventos - Paulo Pagliusi
Palestras sobre Cibersegurança em Eventos - Paulo Pagliusi
 
COI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINAS
COI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINASCOI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINAS
COI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINAS
 

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

  • 1. Python no iG (Automação de Data Centers) Bruno Marcondes <brmarcondes@ig.com> || @bmarcondes Eduardo S. Scarpellini <escarpellini@ig.com> || @escarpellini
  • 2. 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.
  • 3. 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.
  • 4. Fluxo de Instalação de hardware Manual / Local Remoto / Automatizado
  • 5. 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 XMLRPC o WEB (Cobbler Web)
  • 7. 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
  • 9. 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
  • 11. Collectd • Performátco e leve. o C. o Alta resolução/granularidade (segundos). • Plugins. o Apache, Nginx, Mysql, Bind, Varnish, RRD, Nagios, etc. • Extensões o Python o 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.
  • 13. 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.