Os projetos de software baseados na nuvem devem usar vários ambientes. Normalmente, estes ambientes têm nomes como dev
, qa
, staging
e prod
.
É fundamental que estes ambientes estejam completamente isolados uns dos outros e, normalmente, têm autorizações de acesso do operador muito diferentes.
Por exemplo, a equipa de desenvolvimento pode ter acesso total ao ambiente dev
, mas apenas acesso limitado ao ambiente prod
, com toda a implementação de código conduzida apenas por scripts automatizados. Além disso, é
absolutamente essencial que os dados nos diferentes ambientes permaneçam isolados.
A utilização de vários Google Cloud projetos adequa-se perfeitamente a estes requisitos, uma vez que os projetos oferecem um isolamento completo do código e dos dados, e as autorizações do operador podem ser geridas separadamente. Uma vez que o App Engine dimensiona automaticamente as instâncias de publicação, só paga o que usa. Por exemplo, se o seu ambiente de teste só for necessário uma semana em cada quatro, não paga custos de instâncias de publicação nas outras três. No entanto, tenha em atenção que lhe será faturado qualquer dado armazenado nestes projetos.
Atribuir nomes a ambientes
Se optar por criar a sua aplicação de microsserviços usando apenas vários serviços, pode criar um único projeto Google Cloud para cada um dos seus ambientes e atribuir-lhes nomes em conformidade, como web-app-dev
, web-app-qa
e web-app-prod
.
Em alternativa, se optar por criar a sua aplicação de microsserviços usando vários projetos, pode alcançar a mesma separação entre ambientes, mas tem de usar mais projetos, como web-app-dev
, web-app-prod
, user-service-dev
e user-service-prod
.
Tem de usar padrões de código para garantir que os projetos dev
só chamam outros projetos dev
e que os projetos prod
só chamam outros projetos prod
.
O que se segue?
- Obtenha uma vista geral da arquitetura de microsserviços no App Engine.
- Conheça as práticas recomendadas para criar APIs que comuniquem entre microsserviços.
- Saiba mais sobre as práticas recomendadas para o desempenho dos microsserviços.
- Saiba como migrar uma aplicação monolítica existente para uma com microserviços.