processos operacionais de software
-
disponibilide Quando o sistema vai ficar no ar, qual disponibilidade o sistema vai ter
-
recurperação de desastres Como fazer se o sistema ficar fora do ar? O que vou fazer se o sistema ficar indisponível? Como vou agir? Como vou fazer para recuperar? O que vou fazer para que o problema não aconteça novamente? ter processos para evitar
-
perfomance latência: velocidade que as ações vão ocorrer capacidade de receber requisições qual performance eu quero ter em meu sistema? quanto de performance os sistema precisa ter para suportar?
-
recuperação (backup) como será feita o backup do seu software? testar o backup periódicamente em redes separadas
-
confiabilidade / segurança qual tipo de segurança seu sistema precisa ter?
-
robustes o sitemas está confiável o possível para escalar?
-
escalabilidade o sistemas tem poder para escarlar? verticalmente - o poder do recurso computacional nas maquinas hozontalmente - adionar mas máquinas trabalhar de forma stateless trabalhar com os 12 fatores - heroku kelvin factory = https://12factor.net/ sua aplicação tem que permitir que seja rodada em um ambiente escalável
processos de desenvolvimento de software
-
configurável de fácil configuração, usando variáveis de ambiente
-
extensibilidade crescer de forma que pacotes seja instalados com fácil configuração não ficar reféns de vendors e novos módulos sem refatorações
-
fácil instalação quando criar ambientes, deve ser de fácil instalação padronização de ambiente com docker (CONTAINERS) de fácil configuração
-
reuso de componentes
-
internacionalização front, tomar cuidado para não quebrar o layout na conversão de lingua back, cuidar de moedas, erros e acertos, etc...
-
fácil manutenção use solid camadas e adaptadores testes
-
portabilidade (diversos bancos de dados) ser de fácil mudança de vendors
-
fácil suporte (logs, debugging)