Você está aqui: Página Inicial > Tema > Artigos & Opiniões > Automação – Data Center 2.0

Notícias

Automação – Data Center 2.0

Artigo

Lourival Fidelis é gerente do Centro de Dados e Ricardo Katz é analista de Suporte Técnico
Exibir carrossel de imagens Foto: Arquivo Serpro Lourival Fidelis Junior é gerente do Departamento de Tecnologias de Centro de Dados do Serpro

Lourival Fidelis Junior é gerente do Departamento de Tecnologias de Centro de Dados do Serpro

Nos dias de hoje, nos ambientes de tecnologia da informação, o tempo pode ser um aliado ou um inimigo. Em ambientes como o Serpro, que é a empresa líder em soluções de TI para o governo federal, não é diferente. Os sistemas do governo federal, na sua maioria, são desenvolvidos e hospedados no Serpro no que chamamos de ambiente de produção, distribuídos em três centros de dados: Brasília, São Paulo e Rio de Janeiro, todos administrados pela Superintendência de Produtos e Serviços de Centros de Dados (Supcd).

E como foi dito, o tempo é fator essencial tanto para a entrada em produção de novos serviços como também para resolução de problemas de sistemas em produção. Acontece que no dia a dia, ambos podem acontecer simultaneamente e em várias oportunidades durante o dia, o que gera problemas e transtornos para as equipes de suporte atuarem nessas situações.

Em resumo, em ambientes de produção corporativo em uma empresa do porte do Serpro, que produz múltiplos tipos de sistemas com diversas tecnologias que atendem a vários clientes, e os sistemas produzidos são utilizados por milhões de pessoas, a quantidade de acionamentos para atendimento de demandas é contada na casa de milhares, mensalmente.

Até a implantação da solução de automação Marvin, além do grande número de demandas, todo o trabalho para a criação de novos ambientes – sejam eles na produção, desenvolvimento, homologação e outros –, era feito de forma manual, de tarefa em tarefa, como um fluxograma, com abertura de tickets, tickets-filho, e seus derivados. Para criar um ambiente era necessário criar o servidor virtual, solicitar endereço IP, solicitar hostname, configurar o sistema operacional, configurar a rede, instalar servidor de aplicação e por aí vai, até finalmente um ambiente estar pronto para entrar em produção.

As tarefas eram repetidas várias vezes durante dias, semanas, meses, e isso era um outro problema, pois as tarefas repetitivas realizadas manualmente tendem a sofrer erros por parte de quem as realiza.

O problema existia e persistia, era preciso resolvê-lo. O primeiro passo foi o mapeamento do processo de criação de ambientes com suas interações e prazos de execução, depois mapear os procedimentos operacionais para detalhar como as ações eram executadas. Essas duas atividades foram chaves na resolução do problema, conforme veremos à frente.

Quando foi finalizado o mapeamento do processo de criação de ambiente, ficou materializado o problema de forma bem clara: levava-se em torno de 25 dias para criação e a liberação do ambiente para efetivamente produzir o serviço. Essa constatação indicou que precisávamos agir para melhorar consideravelmente esse processo e reduzir drasticamente esse tempo.

O desafio então foi lançado; reduzir o prazo de criação de ambientes dos atuais 25 dias para um dia, no máximo. Esse prazo deveria levar em consideração outra informação importante do trabalho anterior, que era o de resolver o problema para ambientes padronizados, o que representa em torno de 80% da criação de novos ambientes.

A solução seria automatizar o processo. Simples, não? Na verdade não muito, pois era preciso antes identificar quem tinha as qualificações necessárias para a tarefa, depois qual a ferramenta mais apropriada e quais os procedimentos são passíveis de automação e, em seguida, juntar tudo isso e fazer funcionar de forma eficiente.

Automação é o processo para que as tarefas manuais e repetitivas sejam executadas de forma automática e sem intervenção humana. Para atender a esse requisito, identificamos o pacote tecnológico ideal para resolver o problema mais o pessoal especializado, resultando na criação do Módulo de Automação de Recursos Virtuais e Infraestrutura de Nuvem (Marvin).

Este pacote tecnológico é composto pelo vCenter Orchestrator (vCO), uma ferramenta da VMware que fornece fluxos de trabalho pré-definidos (os chamados “workflows”) para ajudar os administradores a automatizar tarefas que de outra forma seriam executadas manualmente, reduzindo a complexidade operacional e economizando tempo da equipe de TI. Um “workflow” é um fluxograma com ações (tais como peças de Lego), executadas para cumprir uma tarefa na infraestrutura de TI. As peças podem ser combinadas para criar uma tarefa mais complexa.

O segundo componente desse pacote é o Puppet, uma ferramenta livre que usa uma linguagem declarativa para configurar sistemas operacionais. Sistemas como Linux, *BSDs, Solaris, Windows e outros são suportados. A ideia é que se tenha a configuração centralizada em um único ponto, e essa configuração seja distribuída para diversos nós de uma rede.

O Puppet pode realizar diversas tarefas. Podemos destacar como resultado do seu uso:
- Gerência de configuração.
- Automação na instalação de pacotes.
- Estabelecimento e garantia de aplicação de normas, além de facilidade de auditoria.
- Possibilidade de replicação de configurações entre ambientes de homologação e produção, como por exemplo, trazer maior integridade entre esses ambientes, mas respeitando suas diferenças.

Os demais componentes do pacote são os sistemas previamente desenvolvidos e implantados pelas equipes de Centros de Dados (Cavera para análise de vulnerabilidades, Padrões para nomeação de recursos, SIGPB para monitoração etc.), e sua integração com o restante do bloco.

Ao fechar tudo isso, temos a interface operacional o Marvin propriamente, que é um sistema Java desenvolvido em conjunto com a Superintendência de Desenvolvimento (Supde) do Serpro. A ideia do Marvin é servir como um ponto único de entrada da execução dessas demandas, de forma que determinadas regras de negócio sejam seguidas, contudo reduzindo a burocracia dessas execuções.

A equipe de suporte utiliza-se do sistema para, por exemplo, demandar a criação de um número de máquinas virtuais para um determinado sistema, tendo a garantia que todas essas máquinas serão provisionadas exatamente da mesma forma. Esse processo poderia levar até três dias e foi reduzido para 15 minutos.

Após efetuar a configuração (como uma receita de bolo) no Puppet e aplicar as configurações, esses servidores estão prontos para seguir o processo, tal como a análise de vulnerabilidade, um processo mapeado que levava até cinco dias úteis e passou a ser executado em até uma hora. O Marvin, ainda, serve como uma espécie de repositório de configurações e ativos provisionados para um ambiente, uma vez que todas as tarefas são associadas ao código do serviço (identificador numérico) do sistema.

Mas o trabalho não está terminado. Sendo a automação um processo constante de melhoria, existem gargalos que ainda estão sendo mapeados e devidamente tratados com outras equipes do Serpro, de forma a melhorar ainda mais a entrega do produto final.

Autores:
Lourival Fidelis Junior é gerente do Departamento de Tecnologias de Centro de Dados do Serpro
Lourival Fidelis Junior
é gerente do Departamento de Tecnologias de Centro de Dados do Serpro. Trabalha na empresa desde 2002 e é formado em Sistemas de Informação pela União Educacional de Brasília (Uneb), com MBA em Administração Estratégica de Sistemas de Informação pela Fundação Getulio Vargas (FGV).


Ricardo Pchevuzinske Katz é analista de Suporte TécnicoRicardo Pchevuzinske Katz é graduado em Tecnologia de Processamento de Dados pela Faculdade de Tecnologia de São Paulo (Fatec-SP) e pós-graduado em Segurança da Informação pelo Instituto Brasileiro de Tecnologia Avançada (IBTA-SP). Ingressou no Serpro em 2009 como analista de Suporte Técnico, inicialmente dando suporte aos ambientes Unix e Linux da RFB, e posteriormente aos ambientes de virtualização, nuvem e automação. Possui certificação LPIC-3.