O que seu sys admin gostaria que você soubesse?
Comunicação é tudo
Uma das maiores reclamações é que ninguem se comunica com os caras responsaveis pelos servidores. Não subestime o quanto é importante mante-los a par do que está acontecendo, isso pode te salvar de uma tonelada de problemas. Eles sabem as coisas. Muitas delas. Como o que já está rodando nos servidores, o que é uma má ideia e o que pode dar m*** ou não. Se você não sabe algo, ele podem te ajudar.
Não, você NÃO tem que compilar na produção!
Compilar em produção é uma má ideia. Pare de pedir por isso! Você deve compilar em qualquer lugar e enviar um pacote com as modificações. Não tente pular etapas.
Instruções devem ser muito completas
O ideal, quando você entregar as instruções para implantar sua aplicação, elas devem estar completas. Realmente completas. O suficiente para pegar aleatóriamente um admin na rua, entregar-lhe as instruções, e então ter a aplicação instalada perfeitamente.
Não automatize suas instalações
Por que não escrevrer um script para automatizar tudo? Então suas instruções serão muito menores, fáceis de seguir, e a prova de falhas.
Espere, a prova de falhas?
Um problema de instalações automatizadas por script, é que as vezes elas falham. Produção deve ser um espelho do desenvolvimento. Quase sempre, não é. Se um admin tem somente uma linha para executar, mas nenhuma pista do que está acontecendo, se der algum problema ele não poderá ajudar. SysAdmins são bons em resolver problemas, mas ninguem pode investigar uma caixa preta.
Pergunte por direções
Deixando de lado as piadas sobre homens perguntando a direção, sys admins realmente estão aí para ajudar. Eles conhecem por dentro e por fora os sistemas que você tenta quebrar. Eles já viram todos os tipos de coisa darem erradas e sabem como conserta-las.
Apareça
Se você estiver numa implantação, tente aparecer. Onde trabalho, os desenvolvedores são obrigados a participarem das implantações. Se o seu trabalho não exige isso, tente ir de qualquer maneira. Você não quer que eles escolham restaurar um backup, por algo que você poderia ter resolvido ali mesmo.
Não seja um ponto único em caso de falha
Contatos únicos em caso de falhas matam os sys admins. Se algo der errado com sua aplicação, eles devem ter outras opções alem de caça-lo. Tenha certeza que outro desenvolvedor tenha ao menos algum conhecimento sobre seu sistema. Documente tudo.
Não coloque sua documentação lá
Pelo amor de tudo que é bom e certo, coloque sua documentação onde o sys admin possa encontra-la. Não no código! Não em algum sub-diretório estranho escondido em 3 niveis de profundidade. Não espalhados entre as ruínas de wikis maltrados e sistemas de tickets. Top Level, com bons nomes tipo README e INSTALL.
Sudo é um privilegio, não um direito
Não é porque você pode fazer algo na produção não quer dizer que você deveria.
O mundo é maior que você e seu programa
Desenvolvedores tendem a ver somente uma pequena fatia do universo. Eles geralmente não pensam sobre coisas como: “Nós temos um servidor para colocar isso?” ou “Onde iremos encaixar essa aplicação?” ou “Como iremos reiniciar isto se tudo der errado?”
Converse com seu SysAdmin para ver como sua aplicação se encaixa no grande ecosistema do data center.
Os sys admins entedem as complicações que podem acontecer, são acionados as pressas quando um servidor cai e não podem ter uma aplicação no servidor que possa derruba-lo novamente. Eles não fazem coisas estupidas que poderiam ser facilmente evitadas.
** Baseado na tradução livre para o Português do post da Katie Fulton em seu blog .
January 29th, 2010 at 5:28 pm