Resumo Executivo#
Situação Atual#
O website da UNICEF Portugal tem sofrido crashes recorrentes a cada 1-2 dias durante os últimos 6 meses aproximadamente. Este problema afeta a disponibilidade do site para os utilizadores e impede a equipa de gerir conteúdos e redirecionamentos de forma eficaz.
Após uma análise detalhada da infraestrutura Azure e da aplicação Umbraco, foram identificadas as causas raiz do problema.
Causas Identificadas (por ordem de prioridade)#
1. App Service com "Always On" desativado (CRÍTICO)#
O App Service está configurado para adormecer quando não recebe pedidos durante ~20 minutos. Quando um utilizador acede ao site após esse período, a aplicação precisa de reiniciar completamente, reconstruindo toda a cache a partir de uma base de dados sobrecarregada. Este processo demora vários minutos, durante os quais o site parece estar em baixo.
2. Tabela de rastreamento de URLs com quase 8 milhões de registos (~2.2 GB)#
A tabela icUrlTracker contém 7.996.535 registos desnecessários (dados confirmados de produção, 2026-04-14). Um site típico tem menos de 10.000 registos nesta tabela. Este volume anormal -- significativamente pior do que estimado inicialmente -- contribui para a lentidão geral e torna a gestão de redirecionamentos impossível.
3. Mais de 70.000 versões antigas de conteúdo#
O Umbraco guarda todas as versões de cada conteúdo editado. Com 77.923 versões acumuladas (~70.000 das quais podem ser eliminadas), a base de dados está significativamente sobrecarregada (dados confirmados de produção, 2026-04-14).
4. Monitorização (Application Insights) desativada#
O recurso Application Insights existe no Azure, mas a ingestão de dados está desativada. Isto significa que não há qualquer telemetria, alertas ou forma de diagnosticar problemas proativamente.
5. Gestão de redirecionamentos inoperacional#
A tabela icUrlTracker com quase 8 milhões de registos torna o backoffice do Umbraco incapaz de carregar a secção de redirecionamentos. A equipa não consegue adicionar, editar ou remover redirecionamentos há cerca de 1 ano.
Tempo Estimado de Resolução#
| Tipo de Correção | Tempo Estimado | Risco |
|---|---|---|
| Alterações de configuração (Always On, App Insights, etc.) | Imediato (1-2 horas) | Muito baixo |
| Limpeza da base de dados | 1-2 dias (com testes) | Baixo (se testado em qualidade primeiro) |
Abordagem de Risco#
Todas as alterações serão testadas primeiro no ambiente de qualidade antes de serem aplicadas em produção. A limpeza da base de dados será precedida de um backup completo. As alterações de configuração do App Service são reversíveis instantaneamente.
Poupança Estimada#
Foram identificados recursos Azure que aparentam não estar em utilização (VMs, VMSS, MySQL Flexible Server, Bastion, Load Balancer). A desativação destes recursos, após confirmação com a equipa, pode resultar numa poupança mensal estimada de 475 a 585 EUR/mês.
| Categoria | Valor Estimado |
|---|---|
| Recursos necessários (App Service, SQL, Front Door, etc.) | ~517-527 EUR/mês |
| Recursos potencialmente desnecessários | ~775-885 EUR/mês |
| Poupança potencial | ~475-585 EUR/mês |
Próximos Passos#
- Aplicar correções de configuração imediatas no App Service
- Testar scripts de limpeza da base de dados no ambiente de qualidade
- Executar limpeza em produção numa janela de manutenção
- Ativar monitorização com Application Insights
- Avaliar e desligar recursos não utilizados