Preparando um Scorecard de Aplicações para Nuvem.
Origem: Oscar Sarquis. Preparando um Scorecard de Aplicações para Nuvem. Resenha Startup
2018.
A princípio deve-se identificar os componentes do aplicativo que exigem atenção.
Essa análise requer a avaliação nos seguintes domínios: arquitetura de aplicação, código da aplicação, pontos de integração,
persistência de dados, e o processo de gerenciamento do ciclo de vida da
aplicação. Cada um dos domínios deverá ser avaliado segundo os critérios de
acoplagem e complexidade.
Alertamos que esses critérios são os principais inibidores
que interferem na capacidade de alteração do seu aplicativo. Acoplamento pode ser visto como o número de
interdependências dentro e fora de sua aplicação. Por exemplo, a partir de
uma perspectiva de código, se examinaria como os blocos interagem entre si, o gráfico
de chamadas (diagramas de sequência), incluindo como os métodos, classes e
funções interoperam. Um script ou bloco de código que depende de outros blocos
de código e vice-versa é considerado acoplado.
Consideremos agora a complexidade da arquitetura e do código. Componentes de aplicação que são fortemente
acoplados e altamente dependentes de especificações do software e hardware
subjacentes levam à complexidade. Essa complexidade limita as opções no que
se refere à implantação, execução e hospedagem ao demandar plataformas nativas na
nuvem. É importante implementar abstrações e o encapsulamento dessas
dependências subjacentes e manter os componentes do aplicativo integrados pra
modificação conjunta.
A avaliação do aplicativo revelará o quão acoplada/interdependente e
complexa é a arquitetura, o código e os processos que ele suporta, além de
permitir determinar a capacidade geral de alteração de cada um desses domínios
em seu aplicativo. Dependendo dos vários
graus de mutabilidade, pode-se escolher diferentes estratégias para diferentes
partes do seu código. A capacidade de mudança está vinculada diretamente aos
objetivos de negócios. Se o aplicativo
for mutável o suficiente para entrar em uma plataforma de nuvem e atender aos
objetivos de negócio, a refatoração simples poderá ser suficiente.
Se a capacidade de modificação for baixa, provavelmente não haverá escolha
a não ser reconstruir todo o aplicativo. Essas decisões podem ser tomadas a
partir de domínios individuais. Pode-se
por exemplo refatorar e reconstruir domínios individuais, respectivamente, se sua
capacidade de alteração for alta do ponto de vista do código do aplicativo e
baixa do ponto de vista de persistência de dados.
Nos próximos artigos trataremos da avaliação individual dos domínios
para cada componente relevante.
Nenhum comentário:
Postar um comentário