Como os aplicativos devem ser desenvolvidos para facilitar a implantação?

6

Eu trabalho para uma empresa que fornece sistemas de controle distribuído para vários setores. Descobrimos que as habilidades de administração de TI variam muito em termos de habilidades e interesses. Temos de tudo, desde uma equipe de administradores profissionais de TI em uma planta de produção de petróleo até um esforço de meio período do cozinheiro dos navios.

A estação de operação comum está na plataforma Windows e geralmente é entregue com CD de recuperação com imagens fantasmas. Isso funciona, mas não é muito hightech e é menos ideal para plantas complexas com muita informação dinâmica e estágios de projetos com muitas atualizações de software.

Estamos procurando em máquinas virtuais e gerenciamento centralizado de sites para instalação remota, revisão de configuração (informações do site, parâmetros de ajuste, etc.), revisão de software de controle (binários), vigilância do sistema (logs de erros, alarmes), administração de laboratórios de teste etc, diagnóstico remoto / solução de problemas.

O que você, como administrador, gostaria de ver se você aceitasse um emprego em uma fábrica gigante para gerenciar a rede de produção? Quais tecnologias devemos procurar para que os administradores do sistema se beneficiem? Leigos e geeks de TI.

Qual deve ser a infraestrutura logística subjacente e quais seriam os bons frontends?

    
por Tormod 23.06.2009 / 12:19

4 respostas

7

Meu número um seria "Integração e teste com ferramentas padrão do setor", quanto menos interfaces atualizadas de atualização / implantação / monitoramento / manutenção eu preciso usar diariamente, melhor.

Implantação - use as tecnologias Microsoft, como os bancos de dados de instalação do Windows Installer (arquivos MSI) para instalar, Patches do Windows Installer (MSPs) e Windows Installer Transforms (MSTs) para fornecer opções de configuração personalizadas. Somente essas tecnologias permitirão que o software seja implantado apenas com o Active Directory / Diretiva de Grupo e, em cenários maiores, o SCCM .

Monitoramento - você não pode ir muito mal publicando SNMP Traps ou WMI Counters para permitir que software de monitoramento de terceiros veja quaisquer erros ou indicadores de desempenho que a sua aplicação produza.

Autenticação - conforme mencionado por mh , A autenticação integrada é uma grande vantagem para aqueles em um ambiente de Domínio, não é adequado para um pequeno grupo de trabalho, portanto, isso precisa ser considerado.

Configuração - minha preferência pessoal é configuração baseada em texto e arquivos de usuário (Cache, etc.) em% APPDATA%, arquivos de texto podem ser manipulados ou implantados por scripts e eu posso elecione para não propagar as alterações no sistema de arquivos de volta ao servidor . mh traz um ponto válido sobre o uso o registro para diretiva de grupo, a maioria dos casos, o registro é o melhor lugar para configuração; não coloque muita coisa lá, no entanto, ele é projetado para alguns KB de dados por aplicativo, não, megabytes.

    
por 23.06.2009 / 12:30
4

Por segurança, é necessário integrar a autenticação por todo o caminho. Pode ser divertido desenvolver seu próprio mecanismo de autenticação ou usar um método de terceiros que você acredita ser mais seguro ou flexível do que integrado, mas significa que mais nomes de usuário e senhas podem ser gerenciados, seus administradores não gostarão de você por isso e nem seus usuários.

Para configuração, fique no registro. A sério. O ótimo argumento de registro vs arquivos de configuração é bom para máquinas autônomas onde o usuário não se importa em modificar as configurações, mas para usuários finais reais com sistemas remotos não há argumentos. O uso do registro significa que a configuração inicial e quaisquer alterações podem ser facilmente implementadas usando a Diretiva de Grupo ou - para casos em que a Diretiva de Grupo não está disponível - apenas clicando duas vezes em um arquivo .reg. As alterações podem ser incrementalmente mescladas e - usando o HKCU - funcionam corretamente em um ambiente multiusuário.

A configuração inicial é muito importante. Evite diálogos como "agora digite o nome do seu servidor jarglepoink" durante esta fase. A configuração inicial deve funcionar sem qualquer necessidade de interação ou entrada do usuário. Veja como funciona uma instalação do MS Office gerenciada por GPO - configurada adequadamente, o usuário nunca precisa inserir o nome de usuário ou o nome do servidor Exchange durante a primeira execução do Outlook. Copie isso.

Para acesso a dados, use uma string de conexão sem DSN. A configuração do ODBC não é muito difícil de ser aplicada aos usuários remotos, mas é outra coisa que pode dar errado; ir sem DSN ajuda a remover a complexidade desse lado.

Teste de teste. Teste como um usuário padrão não administrador. Certifique-se de que funciona. Efetue logout e login novamente como um usuário não administrador padrão diferente. Certifique-se de que ainda funciona. Certifique-se de que as configurações que são comuns permaneçam comuns e que as configurações que não são comuns não sejam comuns.

Tudo isso - e a recomendação acima re: MSI - deve ajudar a criar uma configuração na qual o computador de um usuário nunca precisa ser fisicamente visitado ou remotamente para realizar o trabalho relacionado a o aplicativo.

    
por 23.06.2009 / 13:42
0

O que mais me falta é a documentação adequada.

Uma visualização de alto nível seria algo como:

  • todos os switches estão devidamente documentados
  • quando o aplicativo precisa ser reiniciado
  • como o log está configurado
  • etc, yadda yadda (na verdade isso depende da necessidade do cliente)
por 23.06.2009 / 13:22
0

Use ou desenvolva aplicativos que tirem você do negócio de implantação de software. Eu quero aplicativos que liguem para casa toda vez que eles começarem a verificar se há atualizações e, em seguida, podem se atualizar, ou aplicativos do tipo SaaS, nos quais 95% do aplicativo é do lado do servidor.

Tudo o que você pode fazer para evitar telefonemas e e-mails de usuários finais vale o dinheiro e o tempo gasto com eles.

    
por 23.06.2009 / 14:06