8 Atributos Chave em Cloud Design Patterns

0 22

Para a criação de aplicações em nuvem confiáveis, escaláveis e seguras, existem 8 atributos chave relativos aos Cloud Design Patterns.

A nuvem vem ocupando cada vez mais espaço, junto a isso, temos uma crescente demanda por soluções mais robustas que amparem suas aplicações. Nessa linha, surgiram diversos Cloud Design Patterns, cada um deles contemplando um ou mais atributos chave que apoiam arquitetos de soluções na sua utilização.

1 – Disponibilidade

É bastante comum que serviços na nuvem ofereçam um SLA (Service Level Agreement), que é a porcentagem do tempo que um sistema está funcionando. Portanto, esse um dos pontos cruciais na escolha de um fornecedor.

Diversos fatores afetam a disponibilidade de uma aplicação, tais como: erros de sistema; problemas de infraestrutura; ataques maliciosos e carga do sistema.

2 – Gerenciamento de Dados

Geralmente, os ambientes em nuvem são distribuídos entre locais e servidores diferentes, seja por questões de desempenho e escala seja por disponibilidade.

Dado esse cenário, torna-se desafiador manter a consistência e a sincronização dos dados, por exemplo.

3 – Projeto e Implementação

Esse é um atributo de suma importância, pois definições durante a fase de projeto e implementação, têm um grande impacto sobre a qualidade e o custo total.

Portanto, estratégias que facilitam e simplificam o desenvolvimento e manutenção, bem como o reaproveitamento de componentes em outros sistemas, são necessárias.

4 – Mensageria

Como já salientamos, a nuvem pode ser uma gama de sistemas distribuídos, realizar a conexão e comunicação entre os diversos componentes pode ser bem complicado.

Estruturas de mensageria assíncronas são bastante usadas, assim, ajudando a manter um baixo acoplamento entre as partes.

Porém, traz consigo alguns problemas a serem pensados, como ordenação de mensagens, o gerenciamento de mensagens suspeitas, a idempotência entre outros.

5 – Gerenciamento e Monitoramento

Quanto mais as soluções em cloud evoluem, mais abstratas elas vem se tornando. Cada vez menos temos (e precisamos) de acesso ao hardware e, até mesmo, das VMs (Virtual Machine).

Entretanto, essa abstração tem um preço. É preciso que as aplicações consigam expor informações em tempo de execução para que possa ser feito o monitoramento da saúde delas.

Sendo assim, os desenvolvedores necessitam estruturar logs e utilizarem ferramentas como Application Insights e Stackify para apoiar nessa tarefa.

6 – Desempenho e Escalabilidade

Enquanto desempenho é um indicador da responsividade do sistema em executar qualquer ação em um dado espaço de tempo, a escalabilidade é sua habilidade de prover recursos dado um aumento de carga sem deteriorar o desempenho.

Fazer a predição dos picos e variações nas cargas de trabalho é praticamente impossível. Por isso, a infraestrutura na nuvem deve ser capaz de escalar tanto horizontal como verticalmente.

Assim, dentro de limites estabelecidos, as aplicações podem tirar proveito de mais recursos quando passam por picos e, em momentos de menor uso reduzir os custos liberando-os.

7 – Resiliência

Recuperar-se e tratar falhas sistêmicas de forma natural é uma capacidade importante em aplicações na nuvem, visto que elas realizam operações com outros sistemas e serviços que nem sempre estão no ar ou responsivos.

A utilização de mecanismos como Circuit Breaker auxiliam em manter seu serviço funcional mesmo quando dependem de serviços externos, que podem estar passando por problemas transitórios e até permanentes.

8 – Segurança

Estabelecer limites do que pode ser acessado e acionado dentro de um sistema é um atributo importantíssimo. Principalmente em aplicações expostas na Internet.

Projetar o sistema de maneira a protegê-lo contra ataques mal-intencionados, restringir o acesso dos usuários e manter dados confidenciais, são preocupações que ser consideradas.

Cloud Design Patterns

Em outra oportunidade, iremos trazer alguns dos padrões utilizados pela comunidade e como eles se relacionam com cada um dos 8 atributos apresentados.

Até a próxima! Deixe suas dúvidas e comentários abaixo.

Deixe uma resposta

Seu endereço de email não será publicado.