No meu atual emprego, uma empresa de varejo, fui responsável por desenvolver e administrar milhares de terminais de vendas de lojas, um total aproximado de 13 mil hosts.
Estes terminais, todos em Linux, altamente customizados, para poucos conhecedores de uma solução sem disco rígido bootável, eram os famosos diskless (óbvio né?!) ou terminais burros, que efetuavam boot e recebiam o seu sistema operacional via rede, utilizando PXE para o boot inicial, transferindo o INITRAM e em sequência montando o root dir em NFS, para ser mais exato.
Tudo isto acontencia utilizando um servidor robusto para cada loja, um belo IBM 3650, 3750 com RAID5 e discos SCSI, o máximo que podíamos para ter um servidor veloz que entregasse os FS para as vezes 20 máquinas solicitando o boot simultaneamente.
Utilizávamos o UnionFS com NFS para mesclar file system e criar diskless independentes de algumas configurações, pra época, uma mágica de baixíssimo custo mas de certo valor de administração e conhecimento.
O fato era que, ter discos rígidos mecânicos para todos estes hosts, era caro, geraria grande manutenção, problemas de boot quando o host não seria desligado corretamente (maioria das vezes), gerando milhões de bad blocks em discos físicos, nada produtivo.
Passou-se um bom tempo, criaram os famosos discos SSD, principalmente os pequenos, chegou a hora de inovar esse ambiente.
Compramos uma pequena máquina, Dell na época, instalamos o pequeno disco SSD e criei um Linux customizado, bloqueado em nível de desktop para que não houvessem mudanças e assim abertura de chamados constantes. Utilizei o Gnome e suas diversas bibliotecas para bloquear ações do botão direito, ações de configurações de rede, de wifi, de proxys etc.
Bloqueamos o navegador para que também não houvessem alterações, criei customizações de impressoras automáticas, acesso remoto para manutenção via help desk.
Implantei o BtrFS como file system, tínhamos uma forma de rollback em caso de qualquer problema. Isso funcionou perfeitamente e inclusive já salvou a vida de muita gente das “dedadas técnicas”, rs.
Após todas essas configurações, eu tinha um prototipo!
Levei para uma loja, vendedores testaram e aprovaram, uma máquina 4 GB e Disco SSD, voava perto dos antigos diskless.
Como este ambiente não era tão engessado a nível administrativo, mais padronizado em nível de sistema operacional, era possível atualizá-lo e customizá-lo, mas com o que?
Escolhemos o Salt-Stack, para o gerenciamento dessa gigantesca infra estrutura de máquinas. Traduzimos todas estas customizações para manifestos de Salt e começamos a replicar as máquinas através dele.
O Salt garante a integridade dos arquivos para o qual ele olha, caso houvesse uma alteração, estava lá o Salt retornando o arquivo de sistema para o original. Uma bela técnica que extingue chamados.
Continua…

Deixe um comentário