Distribuições Linux, qual devo escolher?
Buenas TechRebels, me chamo Marcelo Veriato Lima e esta é minha primeira contribuição para o blog. Neste artigo a ideia é dar algumas dicas sobre distribuições Linux e qual linha seguir para se obter a tão desejada padronização de um ambiente.
Fique a vontade para comentar e entrar em contato comigo pelo LinkedIn, estamos todos aqui para aprendermos juntos. Se gostou do artigo, incentive dando “claps” aí do lado esquerdo e compartilhe nos seus grupos. Não se esqueça de seguir a mim e à TechRebels clicando follow lá em cima :)
Bom, por ser meu primeiro post vou tentar resumir como comecei minha jornada no software livre, mais especificamente com o sistema operacional Linux. Não se preocupe, isso aparecerá somente neste artigo.
Trabalhei em um supermercado no interior do estado do Rio Grande do Sul onde tínhamos um sistema de gerenciamento, tipo um ERP. Eu era responsável por digitar as notas fiscais neste sistema e gerar cargas de preços para a frente de caixa e balanças. O processo de gerar a carga rodava em um “servidor” MS-DOS 6.22. Gerar uma carga completa levava em torno de 6 horas para ser concluído.
Em um sábado do mês de janeiro de 1999, um professor da universidade de Pelotas/RS veio instalar um novo servidor e eu, muito curioso, perguntei o que era aquilo tudo. Ele me respondeu “É um outro sistema operacional, o Linux. Conhece?”.
Ele me explicou um pouco sobre o Linux, era um Slackware 3.5. Resumindo, a carga que demorava 6 horas para ser gerada, finalizou em 3 minutos. A estrutura era um servidor COMPAQ, Slackware Linux 3.5, FreeDOS Orlando e Samba 1.9, nunca me esqueci :).
Aquilo me deixou com a pulga atrás da orelha e isso me fez começar a estudar o tal do Linux onde consegui um box do Conectiva Linux 3.0 — Guarani, vinha um disquete de inicialização e um cd-rom. Aí começou a minha carreira na área de sistemas operacionais Linux e Unix.
Bom, chega de historinhas e vamos ao que interessa.
Não vou entrar na questão do que é o Linux ou como ele funciona, mais adiante vamos ter outro artigo sobre instalação base que será o alicerce de todos os artigos seguintes.
Uma distribuição ou simplesmente “distro” Linux, é um sistema operacional criado a partir de uma coleção de softwares, um gerenciador de pacotes e o mais importante, o Kernel Linux. O site Distrowatch [1] traz a informação de 850 [2] distribuições cadastradas em sua base, 259 [3] delas são consideradas com status ativo dentro da comunidade open-source, ou seja, existem pessoas e/ou empresas trabalhando em desenvolvimento e atualizações.
Agora pensa comigo, dessas 259, qual eu devo escolher para utilizar em meu desktop pessoal ou em um servidor da minha empresa? Não existe uma resposta exata, use a que você quiser, a que você melhor se adaptar ou simpatizar. Vou deixar algumas dicas pensando em ambientes corporativos e considerados de missão crítica.
1ª dica — Procure uma distribuição com gerenciamento de pacotes
Antigamente não existiam gerenciadores de pacotes, ou os que existiam eram muito limitados. A tarefa se resumia em conseguir o código fonte e passar alguns minutos ou até mesmo horas compilando este código para depois utilizá-lo. Isso era o “charme” do Linux, ficar vendo a saída do compilador passando na tela, passar flags especiais para otimizar a execução do binário compilado, montar clusters de compilação distribuída… nossa, me trouxe uma nostalgia agora.
Hoje em dia isso não é nada viável. Empresas com cada vez mais servidores Linux em seus parques é fundamental que exista uma padronização. Imagine gerenciar uma versão de um pacote em um parque de 100 servidores ou em atualizar esse pacote devido a um bug de segurança. Pegar o código fonte, descompactá-lo, compilá-lo com as mesmas opções da versão anterior e pior, gerenciar as dependências com outros pacotes do sistema operacional. Resumindo, totalmente inviável.
2ª dica — Utilize as principais distribuições Linux
A segunda dica é utilizar as distribuições Linux consideradas como principais. Suas comunidades são muito ativas, o desenvolvimento é contínuo e o risco de serem abandonadas é muito remoto. Aqui a primeira dica já é aplicada pois todas possuem gerenciadores de pacotes robustos e que tratam toda a questão de dependências.
Com isso, pelo distrowatch [4], já reduzimos para 10 distribuições Linux, um número bem menor do que as 259 listadas anteriormente.
3ª dica — Evite utilizar diferentes distribuições dentro do seu parque
Já me deparei com ambientes onde em produção era utilizado CentOS e em desenvolvimento Ubuntu, ou então servidores que estavam em uma DMZ rodavam Debian (segundo o admin, Debian era mais seguro e com menos bugs hehehe), servidores internos com Suse, uma verdadeira salada de frutas.
Dar manutenção em um parque heterogêneo dificulta a vida do administrador pois ele tem que se preocupar com diferentes tempos de lançamento de uma correção. Por exemplo, foi encontrado uma falha de segurança no BIND versão xpto, o CentOS lançou a correção hoje, a mesma correção foi lançada no Ubuntu somente 1 dia depois. Isso faz com que o administrador faça a mesma rotina de atualização em diferentes linhas de tempo, ocupando assim o seu precioso tempo onde poderia estar tomando um café ou um bom chimarrão :).
4ª dica — Mas o Linux não é de graça? Por que devo pagar uma subscrição de suporte?
Aqui entramos em uma seara onde cada administrador vai ter a sua opinião. Conheço admins que nunca pagariam por uma subscrição de suporte pois tem tudo sob controle, se o servidor der um Kernel Panic, ele mesmo vai lá e debuga o crash dump file. Um binário qualquer gerou um core dump, vai lá com o GDB ver o que está acontecendo.
Agora, tem admins que se o “ls” não saiu colorido, abrem um chamado de suporte. Está errado? Claro que não, afinal de contas ele paga o suporte, tem mais é que usar.
Os pontos aqui não são questões orçamentárias ou mesmo o nível de conhecimento do admin, mas sim ter a garantia de ter o atendimento e a correção o mais rápido possível. É fato que o tempo de resposta da comunidade open-source na maioria das vezes é infinitamente mais rápido que muitos fabricantes de soluções proprietários. Através de uma lista de discussões, um canal de chat, um fórum, qualquer pessoa tem acesso direto com quem desenvolve o software.
Agora, um bug de segurança por exemplo, onde dados preciosos podem vir a serem expostos, a subscrição de suporte garante um tempo máximo para solução, atendimento por equipes altamente especializadas e um SLA a cumprir. Esse é o grande diferencial.
Outra coisa, empresas como SAP e Oracle por exemplo. Fornecem suporte a seus produtos somente se você utilizar uma distribuição Enterprise com subscrição de suporte ativa. Isto garante uma melhor estabilidade pois tudo foi homologado antes de ser disponibilizado e existe uma equipe altamente especilizada para ajudar quando um problema acontecer.
Outra grande vantagem da subscrição é acesso as atualizações de segurança logo que a falha foi encontrada, na maioria das vezes antes das distribuições mantidas pela comunidade open-source. Pensando por esse lado fica até fácil de justificar o custo, dados podem ser comprometidos nesse intervalo de tempo.
Fechando essa 4ª dica, vale sim utilizar uma distribuição Linux do tipo Enterprise com subscrição de suporte de sua mantenedora, não necessariamente para todo o parque de servidores, mas para aquilo que você considere crítico. Por exemplo, meu parque de produção todo com subscrição contratada, já meu parque de desenvolvimento com uma distribuição open-source que seja baseada na versão Enterprise.
Conclusão
Para encerrar, concluímos então que a padronização é fundamental em um parque computacional baseado em Linux, automação é uma questão muito importante para reduzir o trabalho braçal dos administradores (abordaremos o tema em outro artigo) e sim, vale a pena contratar subscrição de suporte para ambientes produtivos e de missão crítica.
Espero que tenham gostado, não esqueçam de comentar e de seguir o nosso blog TechRebels. Até o próximo artigo. O tema será: “Como instalar a distribuição Linux CentOS 7 para um ambiente de produção”. Lembrando que este será a base para seguirmos adiante em temas mais específicos e cada vez mais avançados.
Link reference:
[1] — https://distrowatch.com
Sobre o autor:
Marcelo Veriato Lima é CEO da Lotic Arquitetura de Soluções.
Especialista em arquitetura de infraestrutura para Datacenter e Cloud, trabalha com TI a pelo menos 20 anos, participa ativamente da comunidade Open-Source.