Another Geek Blog

Sysadmin 101

Uns dias atrás troquei uns emails sobre a profissão de sysadmin com um rapaz que está iniciando. E hoje vendo minha time line no twitter vi que o @mt4ncr3d1 também me trucou sugerindo um post sobre isso. Então já que estou com a mão na massa mesmo… Lá vai…

Primeiro deixar claro que tenho dois pontos de vista: Um de sysadmin cuja atividade exerci por 12 anos (de júnior a senior) e o de gerente de IT, posição que assumi faz pouco tempo.

Vou começar pelo último que é mais simples: Quando eu dou uma tarefa pra um sysadmin eu só quero que ele volte pra mim ou com a tarefa feita ou com um pedido de ajuda (verba, treinamento, tempo) ou pedindo pra sair.

Não interessa se você é do sexo masculino ou feminino. Sysadmin não é profissão de mulherzinha pra ficar de mimimi. É um dos trabalhos mais barra-pesada em IT e como gerente gosto de resultado e não de desculpa.

Falando como sysadmin agora: É um cargo ingrato, exigente e com uma enorme responsabilidade. As atribuições da sua posição podem ser muito relativas e com certeza vão variar um bocado de empresa para empresa.

Um sysadmin vai gastar 80% do expediente apagando incêndio, 20% arrumando cagada de terceiros, 10% respondendo emails, 15% estudando e fazendo laboratório e 5% em atividades aleatórias. Deu mais de 100%? Então, sysadmin faz um bocado de hora extra. (valores estimados)

Portanto fica fácil de ver que um bom sysadmin precisa ser alguém responsável, sangue frio, hábil em multi-tarefa, capaz de gerenciar bem o tempo, gerenciar conflitos e com uma paciência de Jó. Ter visão biônica, ser auto-didata e capaz de reconhecer os próprios erros também são pré-requisitos e deveriam vir nas ofertas de emprego antes da descrição da vaga.

Aliás a IBM tem um core de valores e skills que eles buscam em seus funcionários – como pode ser visto nessa página – que vale a pena reproduzir aqui já que também considero essenciais para qualquer um que almeje ser um sysadmin:

  • Adaptability
  • Client focus
  • Taking ownership
  • Communication
  • Drive to achieve
  • Teamwork and collaboration
  • Creative problem solving
  • Passion for the business
  • Trustworthiness
Falando primeiro sobre responsabilidade: Eu fico irado quando vejo um sysadmin cuidando do ambiente como se fosse só a coleção de MP3 do computador dele. E isso é um problema tão grande que num dos empregos que eu tive atendíamos um cliente internacional gigantesco que tomou o problema nas próprias mãos. Nossa equipe era de uns 120 sysadmins (desde Unix até Exchange) e num determinado momento o cliente estava puto da vida que ninguém parecia realmente entender o quão importante era o trabalho dos sysadmins, que simplesmente largavam problemas no meio do troubleshooting pra ir almoçar ou tomar café ou iam embora no final do expediente sem ter resolvido.
O cliente fretou vários ônibus e fez excursão em grupos de 40 sysadmins de cada vez mandando a gente pra um enorme centro de distribuição no interior paulista. Chegando lá o gerente de operações fez um mini-tur por toda a localidade explicando cada etapa do processo e o trabalho de cada pessoa. Dando constantes pauladas do tipo: Estão vendo esses caminhões-frigorífico aqui? Então, quando a gente abre um chamado dizendo que a impressora de nota fiscal não tá funcionando e que não podemos mandar remessa significa que tem 50 caminhões iguais esses, com comida estragando e com motoristas furiosos xingando mais a cada minuto que vocês demoram pra resolver o problema.
Um sysadmin precisa ter consciência que ele não está apenas renomeando um arquivo ou re-iniciando um servidor de web. Ele está efetivamente causando mudanças no mundo físico com seu trabalho. 50 toneladas de comida podem estragar se ele não resolver um problema a tempo. Uma velhinha pode não receber a aposentadoria dela e não ter dinheiro pra pagar o aluguel se o script que importa informação do sistema X e faz parse pro sistema Y tiver quebrado.
Sysadmins que trabalham em hospitais podem confirmar que um vacilo em monitorar ou arrumar um problema num sistema de saúde pode levar um médico a fazer caca com um paciente e causar graves danos à saúde do mesmo.
Por isso tenha consciência: Sysadmin precisa ser alguém responsável.
Outra coisa pra manter em vista é que sysadmin é um termo muito aberto e pode significar diferentes coisas em diferentes empresas.
Geralmente em pequenas empresas sysadmin é o sujeito que assobia e chupa cana enquanto escova os dentes. Sua responsabilidade vai ser cuidar as workstations, servidores, banco de dados, equipamentos de rede, telefones e cabeamento. Hardware e software de todos os itens mencionados. É muito provável que sobre pra você trabalho de suporte primeiro nível também.
Na minha opinião essa é a melhor posição pra começar. Mão na massa em absolutamente tudo. Comecei assim e considero que foi excelente pois me deu uma visão geral e me ajudou a descobrir o que eu mais gostava e o que eu não gostava.
Em empresas de porte médio as responsabilidades já começam a ficar um pouco mais definidas: Ou o sysadmin tem um foco mais definido (por exemplo: Sysadmin Unix) ou no mínimo já existe uma estrutura para atividades mais periféricas: Um time de suporte atendendo chamado de primeiro nível, o tiozinho da manutenção pra passar cabo, um departamento de programação e quem sabe  até uma divisão entre telecom (redes e telefones) e servers (Unix, Windows, Banco de Dados, …).
Também trabalhei nesse modelo (inclusive no meu trabalho atual) e é esse que considero ideal. Como sysadmin aqui eu tenho acesso o suficiente para fazer o que eu quiser/precisar sem me preocupar com coisas básicas (suporte primeiro nível) ou complicadas demais (desenvolvimento de software).
O cenário muda bastante quando vamos para empresas grandes e gigantes: Sua posição de sysadmin vai ser extremamente bem definida. Eu, por exemplo, trabalhei no time de operações Unix de segundo nível para storage, filesystem e server deployment/troubleshooting. Cacete. Não podia ser mais específico. O trabalho do time (4 pessoas) consistia basicamente em trabalhar em storages, shares NFS e instalando servidores novos e fazendo troubleshooting (problemas de hardware). Mas só via logs, porque quem colocava a mão na massa mesmo era outro time de sysadmins: Data-Center Support, que tinha o pessoal que ia lá e apertava os cabos, trocava memória, colocava disco novo…
Em outro emprego que tive eu era sysadmin de rede, portanto eu só tinha acesso nos equipamentos e comandos de rede. E vira e mexe pegava um firewall rodando Linux. Eu até podia rodar iptables e fazer mudanças em memória, mas se quisesse atualizar o script de inicialização eu tinha que mandar pro time de Unix, que efetivamente podia abrir o arquivo e colar minhas mudanças.
Esse ambiente é interessante até certo ponto, mas vou deixar você pensar sobre isso.
Independente de qual o cenário, o tanto que se trabalha é absurdo. Primeiro porque aparentemente não importa quão rápidos sejam os novos processadores, memórias e discos: Tudo leva uma eternidade para abrir, dar boot, compilar, copiar, debugar… Já repararam, não? Então conte com isso: Tudo vai demorar mais tempo do que você estima.
E fato é que a maior parte do que um sysadmin faz é apagar incêndio: Marketing decidiu fazer uma campanha sensacional que fez com que o volume de visitas no site fosse 10x maior que o normal. Alguém avisou o sysadmin antecipadamente? Não, né? A bos** do servidor web aguentou o tranco? Não, né? O infeliz do diretor tentou abrir a página principal que anunciaram na globo em horário nobre sem avisar o sysadmin e ela abriu? Não, né? Amigão: Se vira… o problema é seu agora.
Outra: 3 horas da tarde de quinta começa a chover ligação que o sistema de contabilidade XPTO parou. Você começa a fazer troubleshooting igual um louco e se mata olhando todas as coisas possíveis e imaginárias. Você até chega a dar um reboot num servidor Linux (SACRILÉGIO!) porque simplesmente não consegue achar mais nenhuma explicação para o que está acontecendo.
Cinco horas depois (isso significa que já são 8 da noite) você descobre que um dos programadores (sempre eles) fez uma mudança num arquivo XML escondido num subdiretório sinistro e não seguiu o procedimento de change, não anotou a mudança em lugar nenhum, não avisou ninguém e ainda por cima 2 horas atrás quando você ligou pra ele perguntando se ele tinha alguma idéia para te ajudar ele disse que não e que estava de saída (já são 6 da tarde, né, sysadmin imbecil? Quero ir embora).
Mais uma? Essa aconteceu comigo. Exemplo real:
Diretor de IT chega pra mim dizendo que o presidente da empresa tentou mandar um email pro amigo dele que é presidente de outra empresa (em Manaus) e o email voltou. E ele quer isso arrumado imediatamente.
Eu sigo os passos normais de troubleshooting: nslookup mostra que o domínio existe, os MX estão configurados corretamente. Vou no servidor de email e vejo que ele achou o servidor correto (mesmo nome e IP que o nslookup mostra) mas mostra “Connection Refused”.
Que diacho? Vou no meu console, telnet no servidor MX, porta 25 e abre o banner do SMTP. Vou no console do servidor de email, faço a mesma coisa: Connection refused.
Como tenho acesso ao meu micro de casa conecto lá, tento o telnet, connection refused. Chamo um camarada ou outro no ICQ (sim, faz tempo isso) e alguns conseguem abrir e outros não. WTF?
Hora de apelar pro tcpdump (que não estava instalado, lógico), e sair analisando pacote. Até aqui quanto tempo já gasto nisso? 4 horas ou mais, sem dúvidas.
No final acabei descobrindo que o problema todo é que a empresa do amigo do meu presidente rodava um firewall de mil novecentos e guaraná com rolha e o maldito não tinha suporte a ECN. Mas ele não ignorava simplesmente… ele resetava a conexão… Como eu tinha dois firewalls (corporativo e web) dependendo de onde eu tentava o resultado era diferente. Por isso os camaradas no ICQ também tinham resultado diferente.
Foi um dia inteiro gasto pra descobrir que era cagada de uma empresa terceira! E pensa que rolou: Ah, então fazer o que? Nada! O “homem” falou que não podia se importar menos com os meus problemas e que ele queria mandar email pro amigo dele. Acabei tendo que desabilitar ECN no MEU firewall.
Se pretende ser sysadmin prepare-se também consertar cagada alheia, tipo o usuário que te liga 10 minutos antes do fim do expediente dizendo que sem querer deletou um arquivo vital para fechar a folha de pagamento (olha o seu salário ai no meio). Toca você voltando backup da fita que estava no cofre no porão… Se prepara… antes das 10 da noite você não vai pra casa.
E é importante frisar que a despeito de tudo isso você ainda precisa pensar no futuro e buscar facilitar sua própria vida, portanto estudar e pesquisar é preciso. Assinar bons feeds de notícias de IT, seguir outros sysadmins no twitter (tipo eu) e manter uma rede de contatos é importante. Mas isso normalmente sobra pro seu tempo pessoal, em casa de noite ou no final de semana. Não se iluda: Mesmo que você queira fazer isso do trabalho sempre vai ter alguém te interrompendo. Você só vai conseguir algo produtivo em paz, o que é raro na vida de um sysadmin.
Eu poderia continuar falando mais e mais dos pontos negativos, mas se não te assustei até agora não assusto mais.
O ponto positivo você só vai entender se for muito nerd (esqueci de citar isso como outro pré-requisito): O poder e o conhecimento que se acumula sendo um sysadmin é auto-recompensante. É fenomenal você parar no final do dia, rodar um comando de 1 linha no shell e pensar: Caramba… acabo de mudar um banco de dados em produção do servidor X pro servidor Y a quente sem afetar meus usuários.
Ou então: Salvei o dia da empresa graças a um shell script de 20 linhas que arrumou todos os arquivos que o pessoal de contabilidade gerou errado.
Já teve vezes que fiz ou descobri ou consegui algo tão genial que acabo chamando algum outro camarada no Google Talk (normalmente o @juliomauro) apenas para relatar aquele momento “I know Kung Fu“.
Eu diria que fica fácil saber se você será um bom sysadmin: Você já passou o final de semana inteiro tentando fazer algo extremamente complexo, demorado e meio sem sentido no seu computador? Tipo instalar um LFS? Quando você finalmente terminou, faminto e fedido você olhou e pensou: “Caracas… Eu sou ninja mesmo!”. Talvez tenha feito um post no twitter ou no seu blog sobre isso e logo a seguir apagou tudo e saiu procurando outra coisa pra brincar?
Nesse caso você será um bom sysadmin.
E quem sabe um dia consiga o privilégio de usar um avatar igual o que eu uso no Messenger da empresa e ter as pessoas (técnicas, lógico) entendendo e respeitando a mensagem que ele carrega:
PS: Acho que vou precisar de um Sysadmin 102, já que não cheguei nem perto de falar da parte técnica.
Exit mobile version