SlideShare uma empresa Scribd logo
1 de 40
Baixar para ler offline
Automação de Data Center




 Bruno Marcondes <brmarcondes@ig.com> || @bmarcondes
Eduardo S. Scarpellini <escarpellini@ig.com> || @escarpellini
Agenda





  Ambiente/Cenário Atual.

  Premissas e princípios.

  Deploy de servidores.

  Gerenciamento de configuração.

  Administração centralizada.

  Monitoração.

  Integração.
Cenário Atual
Cenário Atual


    4 Sites
    
      POA
    
      SPO
    
      BSB
    
      RJ


    Aproximadamente 1500 servidores.
    
      Linux (CentOS / RedHat), Apache, PHP, Varnish,
      Java, Python, MySQL.
Sem automação



    Fluxos e processos custosos.


    Processos manuais de configuração.


    Contabilização e controle dos recursos alocados feitos de
    forma manual.


    Difícil manutenção dos agentes/configurações de
    monitoração.
Infraestrutura como código
“Possibilita a reconstrução do negócio
 a partir de um repositório de códigos-
    fonte, backups da aplicação e
             recursos físicos”

          (Adam Jacobs - Opscode)
Premissas e Princípios
Premissas e Princípios


    Segurança.


    Convenção sobre configuração - padronização/simplicidade.
    
      Agilidade.
    
      Automatização.


    Centralização de configurações, logs, eventos.
    
      Auditoria (accounting, tracking).


    [near-]Realtime data ("live" inventory information, gráficos,
    alarmes).


    Reaproveitamento de código/projetos (open-source).
    
      Evitar o "not invented here syndrome".
Deploy de servidores
O início de um novo DataCenter

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


• Instalação manual do SO.


• Script em Python utilizando 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).
      
          CentOS 5.5


    Coleta de informações via lshw.
      
         POST de dados para fila (RabbitMQ).
      
         Consumidor da fila para persistência em base central
         (MySQL).
      
         Checagem de integridade da informação, se esta já existir
         previamente.


    Hardware disponível para consulta ou instalação.
      
        [re]boot do servidor via IPMI e instalação com sistema
        operacional definitivo.
Fluxo de
Instalação de
  hardware



                       Manual / Local

                Remoto / Automatizado
Cobbler
• Permite a rápida configuraçã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)
Cobbler Web
Gerenciamento de Configuração
Puppet
• Ruby.
• Modular.
• XMLRPC/REST (+SSL).

• Meta-linguagem para definiçã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).
   o   File
   o   Package
   o   Service
   o   User/Group
• Interdependência + Eventos (Triggers).
   o   Subscribe
   o   Notify
   o   OnlyIf/Unless
Puppet - iG
• Classificação de nós externa.
  o Baseada em ambiente+pool+hostname.
  o Integrado ao DNS (CNAME's).


•Funções que facilitam a criação de novos manifests/classes
(padrão).
   • Configurações centralizadas e versionadas (Mercurial).
        – Aplicaveis a hosts, pools/farms ou ambientes
          inteiros.
   
     Templates para configurações que demandam váriaveis.
   
     Toda classe é acompanhada de um recorte de regras
     específicas de firewall.
Puppet - iG
• DNS (convenção):
    • A: <asset-id>.tld
       – hardware4494.tld
    • CNAME: <pool>-<id>.[env].tld
       – blig-ws-1.prod.tld (prod).
       – home-cache-2.adm.qa.tld (QA).

• Puppet (classes + arquivos):
    • /env/pool/hostname/fs-tree
        – /all/etc/hosts
        – /prod/blig-ws/etc/hosts
        – /prod/blig-ws/blig-ws-8/etc/hosts
Puppet – iG
class proxy_server_squid {

    package {
       "squid":
           ensure => installed;
    }
    file {
       "/etc/squid/squid.conf":
           source => reposrc(“/etc/squid/squid.conf", $fqdn)
           notify => Service["squid"],
    }
    exec {
        "/usr/sbin/squid -z":
           unless => "/usr/sbin/squid check"
    }
    service {
       "squid":
           ensure => running,
           enable => true,
    }
}
Alternativas



CFEngine




                  Chef
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 'httpd -V'
       func 'blig-ws-[123].tld' call hardware info
We are buddies!!!
Alternativas



Capistrano




                    Fabric

 MCollective
Monitoração
Collectd
• Performático 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 Multicast (auto-discovery).


  o   Visualização.
         – RRD plugin + collectd-web.
Agregação e visualização de dados
Collectd-web
Alternativas (coleta e visualização)


•   Mon
•   Munin
•   Cacti
•   Graphite
•   Ganglia
•   Visage
Alarmes e eventos

• Nagios
  – "The Industry OpenSource Standard"
  – Conhecido por todos adminstradores.

• Interface amigável para administração.
   – NagiosQL

• Alternativas
  – Reconnoiter
  – Zabbix
  – Zenoss
  – OpenNMS
Integração
Control Station

    Dashboard unificado 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áficos).
       – Visões consolidadas/alto-nível para sites, serviços e pools.


    Webservices (REST) para integração entre serviços de backend.
Control Station
Control Station
Control Station
Referências

    http://fedorahosted.org/cobbler/

    http://www.puppetlabs.com/

    http://www.cfengine.org/

    http://www.opscode.com/

    http://fedorahosted.org/func/

    http://www.rabbitmq.com/

    http://www.djangoproject.com/

    http://docs.fabfile.org/

    http://www.capify.org/

    http://code.google.com/p/mcollective/

    http://en.oreilly.com/velocity
FISL11 2010 - Automação de Datacenters
FISL11 2010 - Automação de Datacenters

Mais conteúdo relacionado

Destaque

Rancho Mastatal -- The Birth of a Food System
Rancho Mastatal -- The Birth of a Food SystemRancho Mastatal -- The Birth of a Food System
Rancho Mastatal -- The Birth of a Food SystemK is for Kitchen
 
Supplanting the Modern World - Ecosystemic Succession through Cultural Engines
Supplanting the Modern World  - Ecosystemic Succession through Cultural EnginesSupplanting the Modern World  - Ecosystemic Succession through Cultural Engines
Supplanting the Modern World - Ecosystemic Succession through Cultural EnginesK is for Kitchen
 
Permaculture Learning Garden
Permaculture Learning GardenPermaculture Learning Garden
Permaculture Learning GardenK is for Kitchen
 
Crs Report 07 22 2010
Crs Report 07 22 2010Crs Report 07 22 2010
Crs Report 07 22 2010paterekjr
 
Forest Garden - Food & Medicine
Forest Garden - Food & MedicineForest Garden - Food & Medicine
Forest Garden - Food & MedicineK is for Kitchen
 
Biofilms of extremophils for microbial enhanced oil recovery3
Biofilms of extremophils for microbial enhanced oil recovery3Biofilms of extremophils for microbial enhanced oil recovery3
Biofilms of extremophils for microbial enhanced oil recovery3paterekjr
 
Introduction to Regeneration -- Dream Vocations for the Present & Future
Introduction to Regeneration -- Dream Vocations for the Present & FutureIntroduction to Regeneration -- Dream Vocations for the Present & Future
Introduction to Regeneration -- Dream Vocations for the Present & FutureK is for Kitchen
 
A pattern language of yoga (early draft)
A pattern language of yoga   (early draft)A pattern language of yoga   (early draft)
A pattern language of yoga (early draft)K is for Kitchen
 
Cultural Engine - West Philly (1st report, 2012-13)
Cultural Engine - West Philly (1st report, 2012-13)Cultural Engine - West Philly (1st report, 2012-13)
Cultural Engine - West Philly (1st report, 2012-13)K is for Kitchen
 
Icon Assis Brasil
Icon Assis BrasilIcon Assis Brasil
Icon Assis BrasilKelvi Dias
 
Fct eweb módulo 2 2014 etapa 3.1 grupo faceduc
Fct eweb módulo 2   2014 etapa 3.1 grupo faceducFct eweb módulo 2   2014 etapa 3.1 grupo faceduc
Fct eweb módulo 2 2014 etapa 3.1 grupo faceducCleonice Costa
 
Reforma bustarviejo
Reforma bustarviejoReforma bustarviejo
Reforma bustarviejoburideal
 
Nuevamente sobre Coca-Cola. Notas a la sentencia de la Audiencia Nacional de ...
Nuevamente sobre Coca-Cola. Notas a la sentencia de la Audiencia Nacional de ...Nuevamente sobre Coca-Cola. Notas a la sentencia de la Audiencia Nacional de ...
Nuevamente sobre Coca-Cola. Notas a la sentencia de la Audiencia Nacional de ...Universidad Autónoma de Barcelona
 
1 morangos robertoshinyashiki
1 morangos robertoshinyashiki1 morangos robertoshinyashiki
1 morangos robertoshinyashikiDenise Rivera
 
Factweb1etapa 4 cleonice arcanjo dos santos costa
Factweb1etapa 4 cleonice arcanjo dos santos costaFactweb1etapa 4 cleonice arcanjo dos santos costa
Factweb1etapa 4 cleonice arcanjo dos santos costaCleonice Costa
 

Destaque (20)

Cultural engine
Cultural engineCultural engine
Cultural engine
 
Rancho Mastatal -- The Birth of a Food System
Rancho Mastatal -- The Birth of a Food SystemRancho Mastatal -- The Birth of a Food System
Rancho Mastatal -- The Birth of a Food System
 
Supplanting the Modern World - Ecosystemic Succession through Cultural Engines
Supplanting the Modern World  - Ecosystemic Succession through Cultural EnginesSupplanting the Modern World  - Ecosystemic Succession through Cultural Engines
Supplanting the Modern World - Ecosystemic Succession through Cultural Engines
 
Peru
PeruPeru
Peru
 
Permaculture Learning Garden
Permaculture Learning GardenPermaculture Learning Garden
Permaculture Learning Garden
 
Crs Report 07 22 2010
Crs Report 07 22 2010Crs Report 07 22 2010
Crs Report 07 22 2010
 
Forest Garden - Food & Medicine
Forest Garden - Food & MedicineForest Garden - Food & Medicine
Forest Garden - Food & Medicine
 
Biofilms of extremophils for microbial enhanced oil recovery3
Biofilms of extremophils for microbial enhanced oil recovery3Biofilms of extremophils for microbial enhanced oil recovery3
Biofilms of extremophils for microbial enhanced oil recovery3
 
Introduction to Regeneration -- Dream Vocations for the Present & Future
Introduction to Regeneration -- Dream Vocations for the Present & FutureIntroduction to Regeneration -- Dream Vocations for the Present & Future
Introduction to Regeneration -- Dream Vocations for the Present & Future
 
A pattern language of yoga (early draft)
A pattern language of yoga   (early draft)A pattern language of yoga   (early draft)
A pattern language of yoga (early draft)
 
The Destiny Engine
The Destiny EngineThe Destiny Engine
The Destiny Engine
 
Cultural Engine - West Philly (1st report, 2012-13)
Cultural Engine - West Philly (1st report, 2012-13)Cultural Engine - West Philly (1st report, 2012-13)
Cultural Engine - West Philly (1st report, 2012-13)
 
Icon Assis Brasil
Icon Assis BrasilIcon Assis Brasil
Icon Assis Brasil
 
rajeev_1_
rajeev_1_rajeev_1_
rajeev_1_
 
Fct eweb módulo 2 2014 etapa 3.1 grupo faceduc
Fct eweb módulo 2   2014 etapa 3.1 grupo faceducFct eweb módulo 2   2014 etapa 3.1 grupo faceduc
Fct eweb módulo 2 2014 etapa 3.1 grupo faceduc
 
Reforma bustarviejo
Reforma bustarviejoReforma bustarviejo
Reforma bustarviejo
 
Nuevamente sobre Coca-Cola. Notas a la sentencia de la Audiencia Nacional de ...
Nuevamente sobre Coca-Cola. Notas a la sentencia de la Audiencia Nacional de ...Nuevamente sobre Coca-Cola. Notas a la sentencia de la Audiencia Nacional de ...
Nuevamente sobre Coca-Cola. Notas a la sentencia de la Audiencia Nacional de ...
 
1 morangos robertoshinyashiki
1 morangos robertoshinyashiki1 morangos robertoshinyashiki
1 morangos robertoshinyashiki
 
Factweb1etapa 4 cleonice arcanjo dos santos costa
Factweb1etapa 4 cleonice arcanjo dos santos costaFactweb1etapa 4 cleonice arcanjo dos santos costa
Factweb1etapa 4 cleonice arcanjo dos santos costa
 
De FrontPage a Jimdo
De FrontPage a JimdoDe FrontPage a Jimdo
De FrontPage a Jimdo
 

Semelhante a FISL11 2010 - Automação de Datacenters

DevInRio 2010 - NodeJS
DevInRio 2010 - NodeJSDevInRio 2010 - NodeJS
DevInRio 2010 - NodeJSEmerson Macedo
 
分会场六用Storage foundation简化操作系统和存储系统的迁移
分会场六用Storage foundation简化操作系统和存储系统的迁移分会场六用Storage foundation简化操作系统和存储系统的迁移
分会场六用Storage foundation简化操作系统和存储系统的迁移ITband
 
Uso de la Programación para la Seguridad en Redes (a.k.a. Sockets y Shellcoding)
Uso de la Programación para la Seguridad en Redes (a.k.a. Sockets y Shellcoding)Uso de la Programación para la Seguridad en Redes (a.k.a. Sockets y Shellcoding)
Uso de la Programación para la Seguridad en Redes (a.k.a. Sockets y Shellcoding)Pedro Valera
 
IIS7.5概要 10月17日
IIS7.5概要 10月17日IIS7.5概要 10月17日
IIS7.5概要 10月17日hirookun
 
Seguridad en Servicios Web
Seguridad en Servicios WebSeguridad en Servicios Web
Seguridad en Servicios WebHacking Bolivia
 
Core rest edgarsilva_v1
Core rest edgarsilva_v1Core rest edgarsilva_v1
Core rest edgarsilva_v1Edgar Silva
 
Seminario Ruby On Rails Aula Open Source
Seminario Ruby On Rails Aula Open SourceSeminario Ruby On Rails Aula Open Source
Seminario Ruby On Rails Aula Open SourceSergio Alonso
 
Workshop: Virtualisation in der private Cloud mit xen Server Platinum Edition
Workshop: Virtualisation in der private Cloud mit xen Server Platinum EditionWorkshop: Virtualisation in der private Cloud mit xen Server Platinum Edition
Workshop: Virtualisation in der private Cloud mit xen Server Platinum EditionDigicomp Academy AG
 
Ria的强力后盾:rest+海量存储
Ria的强力后盾:rest+海量存储 Ria的强力后盾:rest+海量存储
Ria的强力后盾:rest+海量存储 zhen chen
 
Fundamental know-how of Linux tech
Fundamental know-how of Linux techFundamental know-how of Linux tech
Fundamental know-how of Linux techMichael Huai
 
CodeFest 2010. Желтов А. — Погружение в Internet Explorer 9 для разработчиков
CodeFest 2010. Желтов А. — Погружение в Internet Explorer 9 для разработчиковCodeFest 2010. Желтов А. — Погружение в Internet Explorer 9 для разработчиков
CodeFest 2010. Желтов А. — Погружение в Internet Explorer 9 для разработчиковCodeFest
 
Tutorial step by_step_setting_mikrotik
Tutorial step by_step_setting_mikrotikTutorial step by_step_setting_mikrotik
Tutorial step by_step_setting_mikrotikHARRY CHAN PUTRA
 
Comparaciones oracle y sql
Comparaciones oracle y sqlComparaciones oracle y sql
Comparaciones oracle y sqlJUAN ENRIQUE
 
Glass fishjavaee6directseminar
Glass fishjavaee6directseminarGlass fishjavaee6directseminar
Glass fishjavaee6directseminarYoshio Terada
 
The new release of Oracle BI 11g R1 - OGH – 15 September 2010
The new release of Oracle BI 11g R1 - OGH – 15 September 2010The new release of Oracle BI 11g R1 - OGH – 15 September 2010
The new release of Oracle BI 11g R1 - OGH – 15 September 2010Daan Bakboord
 

Semelhante a FISL11 2010 - Automação de Datacenters (20)

Jetty Introduction
Jetty IntroductionJetty Introduction
Jetty Introduction
 
DevInRio 2010 - NodeJS
DevInRio 2010 - NodeJSDevInRio 2010 - NodeJS
DevInRio 2010 - NodeJS
 
分会场六用Storage foundation简化操作系统和存储系统的迁移
分会场六用Storage foundation简化操作系统和存储系统的迁移分会场六用Storage foundation简化操作系统和存储系统的迁移
分会场六用Storage foundation简化操作系统和存储系统的迁移
 
Uso de la Programación para la Seguridad en Redes (a.k.a. Sockets y Shellcoding)
Uso de la Programación para la Seguridad en Redes (a.k.a. Sockets y Shellcoding)Uso de la Programación para la Seguridad en Redes (a.k.a. Sockets y Shellcoding)
Uso de la Programación para la Seguridad en Redes (a.k.a. Sockets y Shellcoding)
 
IIS7.5概要 10月17日
IIS7.5概要 10月17日IIS7.5概要 10月17日
IIS7.5概要 10月17日
 
Seguridad en Servicios Web
Seguridad en Servicios WebSeguridad en Servicios Web
Seguridad en Servicios Web
 
Core rest edgarsilva_v1
Core rest edgarsilva_v1Core rest edgarsilva_v1
Core rest edgarsilva_v1
 
Seminario Ruby On Rails Aula Open Source
Seminario Ruby On Rails Aula Open SourceSeminario Ruby On Rails Aula Open Source
Seminario Ruby On Rails Aula Open Source
 
Workshop: Virtualisation in der private Cloud mit xen Server Platinum Edition
Workshop: Virtualisation in der private Cloud mit xen Server Platinum EditionWorkshop: Virtualisation in der private Cloud mit xen Server Platinum Edition
Workshop: Virtualisation in der private Cloud mit xen Server Platinum Edition
 
Ria的强力后盾:rest+海量存储
Ria的强力后盾:rest+海量存储 Ria的强力后盾:rest+海量存储
Ria的强力后盾:rest+海量存储
 
Fundamental know-how of Linux tech
Fundamental know-how of Linux techFundamental know-how of Linux tech
Fundamental know-how of Linux tech
 
Mikrotik%20 most%20wanted
Mikrotik%20 most%20wantedMikrotik%20 most%20wanted
Mikrotik%20 most%20wanted
 
CodeFest 2010. Желтов А. — Погружение в Internet Explorer 9 для разработчиков
CodeFest 2010. Желтов А. — Погружение в Internet Explorer 9 для разработчиковCodeFest 2010. Желтов А. — Погружение в Internet Explorer 9 для разработчиков
CodeFest 2010. Желтов А. — Погружение в Internet Explorer 9 для разработчиков
 
Teletex - Estrutura Convergente
Teletex - Estrutura ConvergenteTeletex - Estrutura Convergente
Teletex - Estrutura Convergente
 
Programació de sockets amb C++
Programació de sockets amb C++Programació de sockets amb C++
Programació de sockets amb C++
 
Tutorial step by_step_setting_mikrotik
Tutorial step by_step_setting_mikrotikTutorial step by_step_setting_mikrotik
Tutorial step by_step_setting_mikrotik
 
Der lachende Dritte
Der lachende DritteDer lachende Dritte
Der lachende Dritte
 
Comparaciones oracle y sql
Comparaciones oracle y sqlComparaciones oracle y sql
Comparaciones oracle y sql
 
Glass fishjavaee6directseminar
Glass fishjavaee6directseminarGlass fishjavaee6directseminar
Glass fishjavaee6directseminar
 
The new release of Oracle BI 11g R1 - OGH – 15 September 2010
The new release of Oracle BI 11g R1 - OGH – 15 September 2010The new release of Oracle BI 11g R1 - OGH – 15 September 2010
The new release of Oracle BI 11g R1 - OGH – 15 September 2010
 

FISL11 2010 - Automação de Datacenters

  • 1. Automação de Data Center Bruno Marcondes <brmarcondes@ig.com> || @bmarcondes Eduardo S. Scarpellini <escarpellini@ig.com> || @escarpellini
  • 2. Agenda  Ambiente/Cenário Atual.  Premissas e princípios.  Deploy de servidores.  Gerenciamento de configuração.  Administração centralizada.  Monitoração.  Integração.
  • 4. Cenário Atual  4 Sites  POA  SPO  BSB  RJ  Aproximadamente 1500 servidores.  Linux (CentOS / RedHat), Apache, PHP, Varnish, Java, Python, MySQL.
  • 5. Sem automação  Fluxos e processos custosos.  Processos manuais de configuração.  Contabilização e controle dos recursos alocados feitos de forma manual.  Difícil manutenção dos agentes/configurações de monitoração.
  • 7. “Possibilita a reconstrução do negócio a partir de um repositório de códigos- fonte, backups da aplicação e recursos físicos” (Adam Jacobs - Opscode)
  • 9. Premissas e Princípios  Segurança.  Convenção sobre configuração - padronização/simplicidade.  Agilidade.  Automatização.  Centralização de configurações, logs, eventos.  Auditoria (accounting, tracking).  [near-]Realtime data ("live" inventory information, gráficos, alarmes).  Reaproveitamento de código/projetos (open-source).  Evitar o "not invented here syndrome".
  • 11. O início de um novo DataCenter • Deploy da primeira máquina (servidor de instalação) • Instalação manual do SO. • Script em Python utilizando fabric para deploy do puppet + manifests. – Puppet é o responsável pelo seu auto-deploy (puppetmasterd) + servidor BOOTP, TFTP, etc.
  • 12. Inventário de hardware  Distribuição diskless (PXE+NFS).  CentOS 5.5  Coleta de informações via lshw.  POST de dados para fila (RabbitMQ).  Consumidor da fila para persistência em base central (MySQL).  Checagem de integridade da informação, se esta já existir previamente.  Hardware disponível para consulta ou instalação.  [re]boot do servidor via IPMI e instalação com sistema operacional definitivo.
  • 13. Fluxo de Instalação de hardware Manual / Local Remoto / Automatizado
  • 14. Cobbler • Permite a rápida configuraçã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)
  • 17. Puppet • Ruby. • Modular. • XMLRPC/REST (+SSL). • Meta-linguagem para definiçã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). o File o Package o Service o User/Group • Interdependência + Eventos (Triggers). o Subscribe o Notify o OnlyIf/Unless
  • 18. Puppet - iG • Classificação de nós externa. o Baseada em ambiente+pool+hostname. o Integrado ao DNS (CNAME's). •Funções que facilitam a criação de novos manifests/classes (padrão). • Configurações centralizadas e versionadas (Mercurial). – Aplicaveis a hosts, pools/farms ou ambientes inteiros.  Templates para configurações que demandam váriaveis.  Toda classe é acompanhada de um recorte de regras específicas de firewall.
  • 19. Puppet - iG • DNS (convenção): • A: <asset-id>.tld – hardware4494.tld • CNAME: <pool>-<id>.[env].tld – blig-ws-1.prod.tld (prod). – home-cache-2.adm.qa.tld (QA). • Puppet (classes + arquivos): • /env/pool/hostname/fs-tree – /all/etc/hosts – /prod/blig-ws/etc/hosts – /prod/blig-ws/blig-ws-8/etc/hosts
  • 20. Puppet – iG class proxy_server_squid { package { "squid": ensure => installed; } file { "/etc/squid/squid.conf": source => reposrc(“/etc/squid/squid.conf", $fqdn) notify => Service["squid"], } exec { "/usr/sbin/squid -z": unless => "/usr/sbin/squid check" } service { "squid": ensure => running, enable => true, } }
  • 23. 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 'httpd -V'  func 'blig-ws-[123].tld' call hardware info
  • 25. Alternativas Capistrano Fabric MCollective
  • 27. Collectd • Performático 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 Multicast (auto-discovery). o Visualização. – RRD plugin + collectd-web.
  • 30. Alternativas (coleta e visualização) • Mon • Munin • Cacti • Graphite • Ganglia • Visage
  • 31. Alarmes e eventos • Nagios – "The Industry OpenSource Standard" – Conhecido por todos adminstradores. • Interface amigável para administração. – NagiosQL • Alternativas – Reconnoiter – Zabbix – Zenoss – OpenNMS
  • 33. Control Station  Dashboard unificado 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áficos). – Visões consolidadas/alto-nível para sites, serviços e pools.  Webservices (REST) para integração entre serviços de backend.
  • 37.
  • 38. Referências  http://fedorahosted.org/cobbler/  http://www.puppetlabs.com/  http://www.cfengine.org/  http://www.opscode.com/  http://fedorahosted.org/func/  http://www.rabbitmq.com/  http://www.djangoproject.com/  http://docs.fabfile.org/  http://www.capify.org/  http://code.google.com/p/mcollective/  http://en.oreilly.com/velocity