Quais são os possíveis problemas com o aplicativo de atualização automática semelhante ao do Chrome para administradores

1

Os administradores de computadores da organização geralmente são muito cuidadosos com o que permitem instalar em computadores. Com frequência, desabilitam as atualizações automáticas e, em vez disso, examinam as atualizações manualmente e as enviam para os computadores, caso tenham certeza de que não interromperam nenhum fluxo de trabalho do usuário.

Mas vem no Chrome, que tem tendência a se atualizar de forma automática e frequente. Não sei se o Chrome fornece uma atualização "bloqueada", que permite que os administradores da organização testem as atualizações antes de deixá-las na organização. Mas eu posso imaginar isso.

Minha pergunta é essa. Como são os aplicativos, que se atualizam automaticamente, com frequência e com frequência sem que o usuário saiba, vistos pelos administradores dos computadores da organização? Se eu fosse criar tal aplicativo, esses administradores exigiriam a capacidade de desativar as atualizações automáticas? Ou eles estariam bem com a possibilidade de verificar as atualizações antes da mão?

Eu percebo que essa pergunta pode ser muito ampla e depende muito de uma organização específica. Estou mais interessado nas respostas de "melhores práticas" e "regras gerais".

Plano de fundo

A razão pela qual estou perguntando é que a ideia de Implantação Contínua vem crescendo strong no desenvolvimento de software. Isso é muito mais fácil com os componentes do servidor, quando você controla o servidor no qual o software é implementado. Mas fica difícil com o software instalado diretamente nas estações do cliente. Acredito que o Chrome esteja fazendo o Continuous Deployment, e é por isso que ele está confiando em atualizações altamente automatizadas de novos lançamentos. Esses podem, em casos extremos, ser construções incrementais diárias. O que eu quero saber que tipo de atrito eu devo esperar dos administradores se eu vender o aplicativo, que tenta se atualizar semanalmente ou até mesmo diariamente? E, possivelmente, o que esse tipo de sistema automatizado de atualização deve fornecer aos administradores para facilitar o processo. Como eu não gostaria que os administradores fossem contra o aplicativo se ele quebrasse os fluxos de trabalho de atualização.

    
por Euphoric 16.12.2017 / 09:48

2 respostas

2

No caso do Google Chrome, isso foi resolvido de três maneiras:

  1. As versões do Windows têm uma opção de instalador MSI para empresas, especificamente para resolver esse problema. As atualizações estão disponíveis por meio de um feed para administradores, para que possam examinar e distribuir atualizações conforme necessário.

  2. As instalações padrão do Google Chrome são vinculadas ao usuário e não podem (e não) afetam outros usuários ou itens no nível do sistema, por isso, mesmo se a atualização automática estiver ativada, na pior das hipóteses, isso significa limpar o perfil de um usuário O ambiente controlado geralmente se resume à exclusão de itens não críticos, como o registro do usuário e alguns AppData. A maioria das empresas armazena documentos, etc., fora do perfil do usuário, e os dados importantes do aplicativo são replicados e sincronizados com servidores (por exemplo, CalDAV, IMAP, Exchange, para PIM e Git para código-fonte, etc.), portanto o impacto é muito pequeno. >

  3. Para outros sistemas operacionais, a instalação (macOS, Linux) também possui as duas opções (instalação local do usuário vs. instalação do sistema), mas para gerenciamento de instalação do sistema, tanto o Linux quanto o MacOS têm um bom conjunto de ferramentas faça isso funcionar, pois eles têm instaladores baseados em pacotes que requerem que um único .pkg / .deb / .rpm seja instalado / atualizado / removido ou que um único diretório seja copiado (ou seja, o formato .app). Novamente, as configurações e os perfis são armazenados dentro da home do usuário em um diretório separado dos arquivos reais do usuário, por isso mesmo o pior cenário é idêntico a qualquer outro tipo de problema de perfil: limpe o perfil e o usuário pode voltar ao trabalho. / p>

Tenho certeza de que existem aplicativos que não oferecem instalações gerenciadas e funcionam apenas com atualizações automáticas, mas não vi a combinação de atualizadores de nível de sistema e automáticos em nenhuma configuração corporativa, em que era a única opção. Se você tiver um aplicativo que gostaria de vender, ao menos ofereça uma versão em pacote / contêiner que possa ser adicionada ou removida como um único item com acesso em nível de usuário. Isso significa que ele pode ser gerenciado pelo usuário e pelos administradores.

Melhor seria ter várias compilações para que você possa atender a todos. A configuração do seu IC / CD interno para fazer isso geralmente é algo que você precisa acertar uma vez e depois mantê-lo apenas para alterações. Quando o software é compilado / compilado, etc., a última etapa de empacotamento pode incluir compilações automatizadas de instaladores, compilações empacotadas, compilações MSI, compilações PKG etc. e você poderá atender tudo com custo mínimo para você mesmo.

    
por 16.12.2017 / 16:40
1

A resposta dependerá de quais métodos a plataforma que você está usando fornece a atualização do software. Minha resposta será direcionada às plataformas que conheço melhor, que são o Ubuntu e o Fedora. Aqueles que estão usando pacotes deb e rpm para instalar software e atualizações, respectivamente, as diferenças entre deb e rpm são menores no contexto desta questão.

Os arquivos instalados serão, em sua maior parte, de propriedade do root e o instalador precisará ser executado como root para ter privilégios para atualizar os arquivos. O aplicativo em si será executado como um usuário sem privilégios sem qualquer maneira de atualizar os arquivos. Se o aplicativo tentar se atualizar, não conseguirá fazê-lo.

O aplicativo pode informar ao usuário que uma atualização está disponível. Mas, se quiser realmente instalar a atualização, o melhor que pode fazer é iniciar o gerenciador de atualização, o que abriria uma janela solicitando ao usuário a senha necessária.

Neste ponto, a atualização automática será reduzida a um atalho para abrir o gerenciador de atualização. E a questão será, portanto, se você quiser que cada usuário em sua organização tenha privilégios administrativos em sua própria máquina.

Estratégias para o lançamento de uma atualização

Em uma organização grande, você provavelmente só desejará distribuir a alteração para um pequeno número de usuários no início e aumentar gradualmente a velocidade, desde que você não ouça relatórios de problemas dos usuários.

Você precisará ponderar isso em relação à importância da atualização. Se estiver corrigindo uma vulnerabilidade que está sendo ativamente explorada ou se o bug pode causar perda de dados ou tornar dispositivos incapazes de inicializar, talvez você queira que a atualização seja implantada mais rapidamente.

É necessário levar em conta o risco de que uma atualização seja demorada até que o administrador do sistema perceba que há uma atualização crítica que garante um lançamento rápido.

É mais provável que uma grande organização tenha administradores de sistema suficientes para poder avaliar cada atualização de software em um curto prazo e decidir com que rapidez implantá-la em todas as máquinas. Uma organização pequena não terá esses recursos e poderá ter que confiar no fornecedor de software o suficiente para começar a implantar as atualizações de software sem uma etapa de verificação manual.

    
por 16.12.2017 / 10:59