Avançar para o conteúdo principal

Alpine Linux

Construção de Códigos

Como a Alpine Linux Expandiu Sem Sacrificar Valores


A distribuição de Alpine Linux começou como um pequeno projeto implementado por apenas alguns utilizadores. Hoje em dia, cresceu para se tornar uma solução madura, moderna e leve, tanto para soluções bare metal como para soluções baseadas em contentores. É uma das distribuições mais utilizadas na infraestrutura de contentores da Docker.

Devido ao pequeno tamanho e desempenho impressionante das ferramentas principais como o gestor de pacotes, o Grupo de Trabalho Alpine Linux, liderado por Carlo Landmeter, Kevin Daudt e Natanael Copa, recebeu um número crescente de pedidos para diferentes arquiteturas de hardware (archs).

Quando a Docker anunciou a Alpine Linux como a distribuição Linux "não oficial" por defeito, os pedidos para as archs tinham aumentado ainda mais. Os desenvolvedores entusiastas começaram a trabalhar para satisfazer a procura crescente. A equipa inicialmente só tinha recursos para suportar x86 e x86_64 (amd64), mas agora oferece arquiteturas ARM (32 bit e 64 bit) com ppc64le, s390x, e mips64 também no menu.


Este crescimento deixou a equipa da Alpine Linux com mais do que podia facilmente gerir. "Nos últimos anos, notámos que estava a tornar-se mais difícil manter os nossos sistemas corretamente", disse Carlo. "A maioria destas arquiteturas precisa das suas próprias máquinas, e por vezes é difícil fornecer aos nossos desenvolvedores acesso a todas elas". Algumas destas arquiteturas também não são comuns ou são de difícil acesso".

Depois de perceber que a configuração atual não seria sustentável, a equipa decidiu que precisava de fazer algumas mudanças. Trocou as plataformas de desenvolvimento e migrou para uma instância GitLab auto-hospedada, o que facilitou a implementação de CI para oito arquiteturas e a utilização de uma ferramenta para o ciclo DevOps. Os patrocinadores do bare metal da Alpine Linux ajudaram a dedicar servidores de CI para cada arquitetura, o que fez uma enorme diferença na qualidade do código e nas questões de construção.

A Alpine Linux recorreu então à Linode para alojar as suas novas ideias de infraestruturas, uma vez que é um dos poucos provedores de alojamento que fornece convenientemente Alpine Linux como um sistema operativo. A utilização do Linode permite que Alpine Linux faça progressos, mantendo-se fiel aos seus quatro princípios básicos de infraestrutura:

  1. Coma a comida do seu próprio cachorro (o que significa que o GitLab em contêineres Alpinos funciona completamente em infraestrutura Linode).
  2. Prevenir a dependência de vendedores.
  3. Ser tão independente quanto possível.
  4. Ser tão transparente quanto possível.
Federico Nieves

"Uma das características valiosas da Linode é o seu serviço de backup, que nos ajuda a gerar backups facilmente e a restaurá-los a uma instância temporária e a executar os nossos testes de atualização do GitLab. Isto garante que as nossas atualizações são exaustivamente testadas, o que reduz fortemente o tempo de inatividade", disse Carlo.

Olhando para o futuro, a Alpine Linux tem mais ideias sobre como pode utilizar Linode para apoiar os princípios da infraestrutura - sendo a primeira a infraestrutura como código. Depois de estudar a API da Linode, a Alpine Linux criou uma visão para um processo totalmente automatizado que implementará um fluxo de trabalho GitLab e utilizará CI/CD para empurrar a infraestrutura para containers na Linode. Este processo dará aos desenvolvedores da Alpine Linux acesso a uma visão muito mais transparente da infraestrutura actual, e também tornará muito mais fácil as contribuições da comunidade.

Ter o suporte e as capacidades de alojamento da Linode está a abrir novas portas à Alpine Linux, permitindo-lhes ao mesmo tempo permanecer empenhados nos seus princípios fundamentais. Tal como Carlo descreve, é "uma combinação perfeita".

Compartilhe