Notícia
Edição 238
Estaleiro: a Nuvem do Serpro
Criado no fim de 2016, o Projeto Estaleiro é fruto de duas forças principais. De um lado a busca pelo alinhamento às mais avançadas tecnologias do mercado. De outro, uma resposta prática à nova linha de negócio do Serpro, que visa atender um amplo público-alvo de clientes do setor privado, instituições financeiras e órgãos de outras esferas além do executivo federal.
A referência ao local onde embarcações são construídas e reparadas não é por acaso. O Estaleiro do Serpro foi projetado para funcionar como ambiente ideal para o desenvolvimento e operação dos produtos e serviços da empresa. Em seu conceito primário, trata-se de uma Infraestrutura e Plataforma como Serviços (PaaS) que fornece ao desenvolvimento a liberdade de desenhar e implementar a arquitetura de produção de seus serviços conforme achar adequado. Seu objetivo é a disponibilização de infraestrutura automatizada, orquestrada e com autosserviços. Tudo isso permite a efetiva utilização do conceito de DevOps, uma metodologia de desenvolvimento que explora a integração entre desenvolvedores de software e profissionais de operações de TI, a fim de acelerar e dar mais agilidade à produção de software e serviços.
Cabe ressaltar, ainda, que o modelo de trabalho adotado pelo Estaleiro, tal como uma nuvem privada, tem também como objetivo a transformação da oferta de nuvem pública, de forma que o Estaleiro e todos os seus conceitos não estão disponíveis apenas aos profissionais da empresa, mas configura-se como um produto aos clientes do Serpro.
DevOps
Para entender um pouco melhor esse modelo, a reportagem da Tema conversou com dois especialistas no Serpro: Rafael Soto, que atua como o “Dev”, e Ricardo Katz, que cumpre o papel do “Ops”. Eles trabalham em conjunto para que o ambiente fique o mais próximo possível das necessidades de ambas as áreas.
Na visão de Rafael Soto, que é gerente de Implantação e Entrega de Novos Produtos do Serpro, o projeto inaugura uma nova geração de centro de dados totalmente virtualizado que oferece, às equipes de desenvolvimento, uma nuvem privada com serviços de computação, armazenamento, rede e segurança. “Tudo isso de maneira self-service, permitindo a automação fim-a-fim do processo de implantação e entrega, e a evolução contínua de novos produtos”, destaca Soto.
Ricardo Katz, gerente de Serviços do Serpro, acrescenta que o Estaleiro não deve ser visto apenas como uma nova estrutura para a produção de serviços, mas como uma nova mentalidade no Serpro. “Nesse novo modelo, a área de desenvolvimento passa a ter responsabilidade maior sobre sua aplicação, bem como maior autonomia de gestão de configuração. Ela passa a ser a 'dona' da aplicação, desde sua infraestrutura, até sua produção. Já a área de operações concentra-se em manter essa infraestrutura 'saudável', gerindo o ambiente da melhor forma”, explica Katz.
De acordo com ele, essa nova mentalidade traz economia financeira e independência tecnológica para a empresa. “Os recursos passam a ser melhor utilizados e a entrega dos produtos é mais rápida. Também ficamos mais independentes de fornecedores, pois a maioria das tecnologias utilizadas são software livre. Além disso, traz uma atualização tecnológica comparável às grandes empresas do Vale do Silício, uma vez que o Serpro passa a produzir serviços utilizando-se de ferramentas e metodologias até então apenas disponíveis a esses atores”, detalha Katz (confira as tecnologias no box dentro da reportagem).
As vantagens do Estaleiro
“Para o Serpro os benefícios são econômicos. A produção do serviço passa a ser feita em equipamentos com menor custo e com maior densidade por equipamento. Gasta-se também menos com operações”, pontua Katz.
Na prática, segundo Rafael Soto, o Estaleiro viabiliza a utilização de ferramentas de automação em todo o ciclo, eliminando boa parte do trabalho manual, promovendo soluções a partir de critérios de qualidade estabelecidos, como inspeção de código, testes de aceitação, segurança e desempenho. Também possibilita, por ser um único ambiente padronizado de infraestrutura para atender a todos os segmentos, uma maior confiabilidade de que versões implantadas em ambientes de desenvolvimento não irão enfrentar problemas ao serem promovidas para ambientes de produção.
Já para o cliente, Soto destaca três pontos-chave. A velocidade na disponibilização de novas funcionalidades: “através de processos automatizados o desenvolvedor consegue rapidamente promover uma nova versão ou funcionalidade até a produção”. A redução da necessidade de janelas de paradas do serviço para implantação de novas versões: “toda nova atualização é orquestrada pelo próprio Estaleiro, o que possibilita realizar ações estruturadas de implantação a qualquer horário com downtime próximo a zero”. E, finalmente, uma menor percepção dos problemas de infraestrutura: “a partir do recurso de self-healing, o estaleiro realiza tentativas de recuperação da saúde do serviço adotando ações automatizadas para não indisponibilizá-lo por completo”.
"O desenvolvimento passa a ter um ambiente único, com autonomia para realizar as configurações adequadas, trazendo maior estabilidade às aplicações, bem como mais facilidade para a aplicação entrar em produção”, acrescenta Katz.
Produtos
A grande maioria dos sistemas corporativos e também os novos “serviços multicliente” do Serpro passam, a partir de agora, a ser produzidos no Estaleiro. De acordo com Ricardo Katz, os principais exemplos são o Lince, que trata da emissão de QR Code para a Carteira Nacional de Habilitação (CNH), o novo sistema de Ouvidoria do Serpro e o Portal Brasil Cidadão, que será utilizado como login único do cidadão aos serviços oferecidos pelo Governo Federal.
Novos negócios
Na avaliação de Rafael Soto, o Estaleiro é um dos pilares necessários para a estratégia de conquista de novos clientes e busca de novas receitas para a empresa, estratégia materializada na oferta dos chamados “produtos multicliente”, aqueles que podem ser contratados imediatamente, sem necessidade de desenvolvimento personalizado.
Por trabalhar com a plataforma aberta, o Projeto Estaleiro já produziu e devolveu muito código para a comunidade de software livre, com necessidades que surgiram a partir das especificidades do projeto e acabaram aceitas pelos gestores das ferramentas como algo útil ao restante da comunidade.
“Um exemplo é o desenvolvimento contínuo do roteador de entrada de aplicações, que passou por uma grande reformulação. E também muitas outras funcionalidades surgiram graças à implementação de pessoas trabalhando no Estaleiro, como a autenticação via certificado digital”, enumera Ricardo Katz.
Ainda segundo o gerente, outras soluções foram criadas do zero – como tecnologias de roteamento de entrada utilizadas; serviços de atualização do sistema operacional; e autoridade certificadora automatizada para o ambiente – e passaram a ser referenciadas e utilizadas pelo restante da comunidade.
“Ao instituir uma nova linha empresarial, focada na busca por novos negócios a partir da disponibilização de produtos multicliente e modelos de comercialização 'pay-per-use', o Serpro passou a enfrentar novos desafios como entregas rápidas, redução dos custos envolvidos na cadeia produtiva e elasticidade do negócio. E o Estaleiro tem auxiliado essa planta de novos negócios da empresa a superar estes desafios, dotando as equipes de engenharia com uma infraestrutura ágil, isenta de silos e totalmente elástica, aderente ao modelo de entrega contínua e com a sua estrutura de custo baseada na utilização de recursos ao longo do tempo”, completa Soto.
Inovação disruptiva
Na avaliação de Iran Porto Junior, diretor de Operações do Serpro, o Projeto Estaleiro é uma iniciativa extremamente disruptiva, que implementa conceitos que irão transformar a forma como a empresa entrega serviços de infraestrutura de TI. “O projeto implementa tecnologias e conceitos de ponta, avaliados e elogiados por grandes players de mercado que já tiveram a oportunidade de conhecê-lo”, informa.
Desde a sua criação, acrescenta o diretor, o projeto já conseguiu entregar ambientes de TI para mais de 15 projetos de novos negócios, de forma automatizada. "Os times de desenvolvimento de novos produtos ganharam uma ferramenta de provisionamento de ambientes com o que existe de mais moderno em tecnologia. E o que iremos fazer daqui pra frente é 'exportar' estes conceitos do projeto para os demais serviços prestados pelo Serpro aos seus clientes", anuncia Iran.
Principais tecnologias utilizadas no Projeto Estaleiro
Docker - principal tecnologia para execução de 'contêineres' de aplicação
Kubernetes - aplicação desenvolvida pelo Google para orquestração de contêineres
CoreOS - sistema operacional baseado no Google ChromeOS para execução de contêineres
CEPH - storage como serviço da RedHat, entrega armazenamento similar ao Amazon S3
Openstack - Conjunto de softwares e serviços para implantar e manter uma nuvem, base da Infraestrutura como Serviço do Serpro
Zabbix - Sistema de monitoração de ambiente
Rundeck - Serviço de agendamento de tarefas
NGINX - Servidor Web
“Todas essas tecnologias são base para serviços que usamos no dia a dia sem perceber, como uma pesquisa no Google, uma compra na Amazon ou um vídeo on-line em um provedor de filmes. Dessa forma, podemos considerar o Estaleiro um projeto de vanguarda, pois ele pesquisa e traz todas essas inovações ao dia a dia da empresa, nivelando o Serpro com grandes empresas internacionais do setor”, analisa Ricardo Katz.