terça-feira, 3 de junho de 2008

Pragmatic Architeture: Debbugin and Monitoring

Debbugin vs Monitoring
Monitoring: Manter a aplicação rodando, saber se o servidor não está sobrecaregado. Se algum problema acontecer, estar preparado. Saber se o código do programador foi desenvolvido da melhor forma, se é a melhor forma para o ambiente que você tem.
Debuggin: Procurar o problema dentro da sua aplicação. Existem padrões de desenvolvimento de debugs. Isso faz com que você tenha seu sistema com menos bugs em homologação e produção.

Como resolver o problema que acontece somente no servidor de produção?
Não podemos urilizar Brake Points em produção e rodar nossa aplicação, correto!!! Muito menos coisas como printf(), console.writeline() or if(debug).
Se utilizarmos algo como debug.GetDebug... temos o problema de um arquivo muito grande a ser lido (no mínimo 4 GB).

A melhor forma é utilizar o Log.Write(exception) ou throw new ThisShowNewTriggerEx(); dentro de um código try catch.

A discussão vai mais fundo quando você necessita imaginar em casa linha de código do seu sistema o que aconteceria se a força acabasse, por exemplo. Como tratar a “exeption” em cada ponto do seu sistema. Você precisa estar preparado para estes problemas.

O palestrante falou sobre os possíveis problemas de uma loja virtua como a Amazon.com.

Em caso de problemas com o seu sistema tomar todas as medidas possíveis como:

  • Enviar mensagens para as pessoas responsáveis (email, sms)
  • Utilizar EventViewer (não somente isso)
  • Utilizar no Try Catch da sua aplicação algo como o Debug.Alert() e implementar essa função.

Os serviços da aplicação devem ser o máximo possível desacoplados.Se o Banco de Dados parar por qualquer motivo a aplicação poder continuar funcionando “offline” até que o mesmo volte a funcionar. Tudo depende do tempo disponível que você tem para implementar essas funcionalidades.

No momento das perguntas foi falado sobre ataques Hackers e robôs. É preciso mais uma vez estar preparado para este problema.

Em resumo, precisa-se ter o máximo possível de monitoramento do seu sistema e pensar o que fazer quando algum problema ocorrer.

Nenhum comentário: