Postagens

Mostrando postagens de Maio, 2017

Arquitetura em projetos de aplicações em nuvem - noções iniciais

Hoje o foco é arquitetura para uma aplicação que será implantada na nuvem. Em primeiro lugar, o que motiva colocar uma aplicação na famosa nuvem? Se você pensou algo do tipo "deve ser melhor, porque todo mundo está fazendo", quero que você reflita mais sobre suas decisões.

Existem motivações para se colocar uma aplicação em nuvem. Cito algumas: necessidade de começar com pouco investimento em infraestrutura e crescer sob demanda; possibilidade de escalar a aplicação horizontalmente em resposta rápida a uma quantidade de acessos maior que o normal; de forma análoga, a capacidade de diminuir a escala da aplicação e evitar servidores ociosos (e seus custos) em momentos de calmaria; menor preocupação com infraestrutura e sua gestão; alta disponibilidade; facilidade de criar ambientes de homologação e fazer o chaveamento entre estes e produção. Bem, existem outros fatores, certamente, mas vamos focar nesses.

Para se conseguir obter os benefícios de uma aplicação em nuvem é precis…

Validação arquitetural

Continuando o papo sobre arquitetura, hoje o foco é sobre a sua validação. A ideia é responder se a proposta arquitetural feita irá honrar todos os requisitos, especialmente os não funcionais.

Como eu posso saber se o site que eu planeje suportaria dez mil usuários simultâneos? Ou quantas conexões eu tenho que colocar no meu pool para dar conta de atender aos meus clientes, na minha aplicação multi-tenant? Esse tipo de pergunta é melhor respondida se você colocar a prova o sistema.

O ideal é fazer uma carga e observar, colhendo alguns indicadores. Ora, como qualquer bom trabalho, o primeiro passo é planejar: o que precisa ser medido / testado? Quais serial bons valores obtidos? Para esta última pergunta, vale buscar referências de mercado, sua base histórica (você tem uma, não?), informações com parceiros e quaisquer outras fontes que puder levantar. Então, é preciso se munir de instrumentos para colher indicadores. Busque ferramentas que possam medir uso de memória, processador, disc…