O que é a implantação de software?
- 3 minutos
A implantação de software inclui todas as atividades que disponibilizam um sistema de software para uso. O processo de implantação geral consiste em várias atividades interrelacionadas, com possíveis transições entre elas. Cada sistema de software é exclusivo, portanto, a implantação é um processo geral que precisa ser personalizado para requisitos ou características específicas.
Alguns usam os termos "implantação" e "instalação" de maneira intercambiável, mas a instalação do software é apenas uma parte do processo de implantá-lo. A implantação envolve mais do que se imagina. As atividades de implantação podem incluir:
- "Encaixar e empilhar" um servidor.
- Implantar uma parte atualizada do software no servidor em questão.
- Usar coisas como scripts e infraestrutura como código.
- Ou até mesmo andar pelo escritório com uma unidade USB, instalando o software nos computadores manualmente.
Implantar software manualmente é trabalhoso e não é escalável. A automação torna mais fácil e econômico garantir a coerência quando você distribui um novo software ou atualiza o software existente em uma organização.
Este roteiro de aprendizagem se concentra em como implantar melhor o software para confiabilidade. Esse módulo aborda não apenas a implantação do software, mas também a implantação da infraestrutura de nuvem. As referências à implantação de um serviço ou uma solução podem significar a implantação de software, a infraestrutura de nuvem, a configuração e todas as tarefas que são necessárias para disponibilizar o uso de um sistema de software de maneira confiável.
Cenário: A implantação épica
A palavra épica significa "grande, monumental ou vasta", mas no contexto desta discussão, não é uma coisa boa. Jez Humble e David Farley usam o termo em seu livro Entrega Contínua: Lançamentos de Software Confiáveis por meio da Automação de Build, Teste e Implantação, porque representa um empreendimento massivo (e massivamente disruptivo). Aqui está um exemplo de como isso normalmente acontece:
- Uma organização desenvolve um aplicativo relacionado a vendas. Esse aplicativo é atualizado exatamente duas vezes por ano.
- Durante essas atualizações, todos os novos recursos, correções de bug (grandes e pequenas) e atualizações de dependências são implantados.
- A primeira implantação do ano está agendada para acontecer durante o fim de semana do Dia do Trabalho nos EUA e a segunda acontece após o Dia de Ação de Graças.
- Cada atualização exige o envolvimento de todos. A equipe de aplicativos, a equipe de suporte, a equipe de infraestrutura e o gerenciamento estão todos envolvidos na implantação.
- Os serviços ficarão temporariamente offline enquanto a implantação estiver em andamento.
- A história mostrou que a implantação está sempre repleta de problemas, engenharia sob demanda, solução de problemas e alterações no gerenciamento de configuração.
- Raramente corre bem e, quando concluída, geralmente parece improvisada de uma forma irreproduzível.
Esta não é uma boa situação de implementação. O método de implantação épica é uma tarefa manual intensa que apresenta vários problemas:
- É complexo.
- É tenso.
- É arriscado.
- É lento.
- Não é reproduzível devido a todas as etapas complexas.
- Geralmente, são necessários vários especialistas individuais para concluir a implantação.
Como esse processo é longo e árduo, ele precisa ser agendado para momentos que causem a menor interrupção da produtividade do usuário, o que significa horários que provavelmente serão inconvenientes para a equipe de implantação, como finais de semana e feriados.
Os membros da equipe podem se sentir pressionados a executar a operação colossal dentro do prazo, fazendo com que cometam erros de configuração. Além disso, o longo tempo decorrido entre as implantações pode fazer com que você esqueça como as coisas funcionam exatamente.
O dilema da implantação
A implantação de software é uma tarefa complexa, e quando “acumula” várias alterações, correções e adições de recursos importantes para implantá-las todas de uma vez, você aumenta a complexidade e, portanto, a probabilidade de algo dar errado. Além disso, quando as coisas dão errado, essa complexidade dificulta o rastreamento do que exatamente causou o problema.
A complexidade também pode criar problemas para os usuários finais, já que poderão precisar lidar com a tarefa de aprender muitos novos recursos e muitas alterações de uma só vez, sem mencionar os bugs introduzidos pela complexidade de uma implantação épica.
Deveria haver uma maneira melhor, e há. A boa notícia é que a estratégia de implantação épica tradicional não é a única opção. Você aprenderá uma maneira melhor de realizar esse processo na próxima unidade.
Verificar seu conhecimento
Comentários
Esta página foi útil?
No
Precisa de ajuda com este tópico?
Quer experimentar o Pergunte e aprenda para esclarecer ou guiar você neste tópico?