Publicar um sistema não encerra o investimento em tecnologia.

A partir daquele momento começam custos de operação, manutenção e evolução.

A dimensão desses custos depende da criticidade, quantidade de usuários, infraestrutura, integrações e ritmo de mudança do negócio.

Por isso, um projeto deve considerar desde o início como será mantido depois do lançamento.

Infraestrutura

A aplicação precisa rodar em algum lugar.

Os custos podem incluir:

  • servidores ou cloud;
  • banco de dados;
  • storage;
  • CDN;
  • backup;
  • monitoramento;
  • serviços de e-mail;
  • filas;
  • APIs externas;
  • observabilidade.

Alguns são fixos. Outros variam conforme utilização.

Manutenção corretiva

Mesmo sistemas estáveis podem apresentar problemas.

Mudanças em navegadores, sistemas operacionais, APIs e dependências externas podem gerar situações que não existiam no momento do desenvolvimento.

É importante existir um processo para registrar, priorizar e corrigir incidentes.

Manutenção preventiva

Esperar algo quebrar não é uma estratégia eficiente para plataformas importantes.

Trabalho preventivo pode incluir:

  • atualizações;
  • revisão de logs;
  • capacidade;
  • backups;
  • certificados;
  • segurança;
  • dependências;
  • banco de dados;
  • monitoramento.

O objetivo é reduzir riscos antes que virem incidentes.

Evolução funcional

O negócio continua mudando.

Novas regras, produtos, integrações e necessidades dos usuários aparecem.

Separar orçamento de manutenção do orçamento de evolução ajuda a empresa a enxergar quanto está sendo gasto para manter a operação e quanto está sendo investido para melhorá-la.

Quanto reservar?

Não existe um percentual universal que sirva para qualquer sistema.

Uma plataforma pequena e pouco alterada possui dinâmica diferente de um sistema crítico utilizado diariamente por milhares de pessoas.

Para estimar, considere:

  • criticidade;
  • horário de operação;
  • quantidade de usuários;
  • volume;
  • número de integrações;
  • infraestrutura;
  • velocidade de evolução;
  • qualidade do código existente;
  • documentação;
  • nível de atendimento necessário.

SLA influencia custo

Atender um problema apenas em horário comercial é diferente de manter cobertura estendida.

Tempos de resposta e resolução também afetam a estrutura necessária.

Por isso, SLA deve ser definido de acordo com impacto real da indisponibilidade e formalizado no contrato.

Sistemas legados podem exigir uma fase inicial diferente

Quando uma nova equipe assume uma plataforma existente, pode existir um período maior de diagnóstico e estabilização.

Depois que ambiente, código e processos são conhecidos, a sustentação tende a se tornar mais previsível.

Custo de não manter

Adiar manutenção também possui custo.

Dependências muito antigas, ausência de backup testado, falta de monitoramento e acúmulo de dívida técnica tornam futuras mudanças mais arriscadas e caras.

Manutenção não elimina todo incidente, mas reduz exposição desnecessária.

Conclusão

O custo real de um sistema é seu ciclo de vida.

Desenvolvimento inicial, infraestrutura, manutenção e evolução precisam ser considerados como partes do mesmo produto.

Empresas que planejam essa continuidade conseguem tomar decisões melhores sobre arquitetura e investimento desde o começo.

Seu sistema já está em produção e precisa de continuidade?

A Jumps pode assumir sustentação e evolução de plataformas digitais após uma avaliação técnica do ambiente.

Falar sobre sustentação →

Relacionado: Sustentação e Evolução · Como assumir um sistema legado sem parar a operação.