PUBLICIDADE

Foto do(a) blog

O lado livre da internet

A hora e a vez do Software Livre

DevOps, a revolução do Software Livre.

Por Nelson Lago
Atualização:
FOTO: Nelson Lago (Hall do evento DevNation / Red Hat Summit) Foto: Estadão

Existem alguns programas que são fundamentais para seus usuários; tão fundamentais que se tornam a razão para a escolha por esta ou aquela plataforma. O VisiCalc foi a grande alavanca para o sucesso do Apple II, assim como o Lotus 1-2-3 para o do IBM-PC e o PageMaker para o do Macintosh. Pode-se dizer que o email, embora não seja exatamente um programa, teve esse mesmo papel para a explosão da Internet (e das vendas de computador em geral) nos anos 90, assim como o acesso móvel à Internet para a popularização dos dispositivos móveis inteligentes na última década.

PUBLICIDADE

Durante muito tempo a comunidade de software livre sonhou com a adoção em massa do software livre em sistemas desktop, o que não aconteceu. Pode-se dizer que isso mudou com o Android, mas na verdade o GNU/Linux já teve sua aplicação-chave, normalmente chamada de LAMP: a combinação Linux + Apache + MySQL + PHP, que está na base de inúmeros sítios web e sistemas de gestão de conteúdo (estima-se que o servidor web apache seja utilizado por 60% dos sítios da Internet). Graças à sua popularidade, essa combinação é há muito tempo oferecida como produto por diversas empresas de hospedagem web a preços baixos. No entanto, talvez esse tenha sido apenas o prelúdio de algo muito maior.

Tradicionalmente, servidores (ou seja, as máquinas por trás tanto de sítios web como o facebook quanto de sistemas bancários ou de telecomunicações) são grandes máquinas com vários programas instalados que realizam as tarefas necessárias para prover os serviços esperados. É o que ocorre com os servidores das empresas de hospedagem, por exemplo. Esses diversos programas precisam estar adequados ao ambiente do servidor, e é trabalho dos administradores de sistema realizar os ajustes necessários ao ambiente e escolher as versões certas dos programas para garantir que todos esses elementos trabalhem corretamente nesse ambiente compartilhado. Embora haja várias ferramentas para automatizar esse processo, boa parte dele é feita manualmente; em caso de falhas, substituir um servidor por outro envolve ou restaurar uma cópia backup cegamente, sem adequações ao novo equipamento, ou um volume razoável de reconfiguração manual.

Mas a palavra da moda na computação hoje é "nuvem", e a computação em nuvem pressupõe a fácil substituição de um sistema por outro igual. Isso, por sua vez, tem incentivado uma mudança nas técnicas de programação com vistas a separar o software em partes independentes: o programa em si, sua configuração e os dados que ele processa. Com essa separação, implantar uma nova versão do programa pode ser feito com facilidade, já que a configuração e os dados não são afetados. Ao mesmo tempo, têm sido criadas ferramentas para administrar a configuração de maneira automática, o que possibilita modificar os sistemas em execução sem intervenção manual.

Um mecanismo que tem ganhado muita popularidade nesse contexto é o sistema de contêineres: eles permitem implementar, em uma mesma máquina, vários ambientes diferentes e isolados, cada um específico para uma determinada aplicação, o que simplifica muito a instalação e atualização dos programas. Contêineres não são um invento recente; no entanto, nunca alcançaram grande popularidade porque, quando surgiram, havia pouca justificativa para seu uso. Hoje, porém, a união da computação em nuvem e de contêineres deu origem a um universo de ferramentas extremamente sofisticadas que promete mudar drasticamente não só a técnica da programação, mas também a gestão do processo de programação, as políticas de manutenção de sistemas em funcionamento e o próprio ambiente dos datacenters. Essa mudança de paradigma ganhou o nome de "DevOps", sugerindo o fim da distinção entre desenvolvedores e os responsáveis pela "operação" (manutenção e administração do sistema).

Publicidade

A parte interessante disso tudo é que praticamente todos os sistemas de computação em nuvem atuais são baseados em GNU/Linux, tanto na infraestrutura quanto nos sistemas que são executados sobre ela, e praticamente todas as ferramentas para gestão de contêineres são livres e voltadas para as capacidades disponíveis no ambiente GNU/Linux. Ferramentas livres como "OpenStack", "Docker", "Kubernetes" e "OpenShift" foram assunto em inúmeras sessões durante o último Red Hat Summit e, segundo os representantes de empresas como Dell, Cisco e Microsoft, estão na agenda central dessas e de outras grandes empresas. E o consenso de todas elas é que esse novo paradigma da computação será viabilizado graças ao Software Livre. Ao que parece, a nuvem é realmente a killer app do software livre.

* Nelson Lago é gerente técnico do CCSL-IME/USP

Comentários

Os comentários são exclusivos para assinantes do Estadão.