Este guia fornece práticas recomendadas para conceber e definir as suas aplicações no App Hub. Um design de aplicações eficaz é fundamental para tirar o máximo partido das vantagens do Google Cloud centrado em aplicações, oferecendo visibilidade, governação e eficiência operacional melhoradas.
Princípios fundamentais do design de aplicações
A adesão aos seguintes princípios base ajuda a criar aplicações robustas, de fácil manutenção e alinhadas com os objetivos da sua empresa, maximizando o valor que obtém do App Hub:
Refletir as capacidades empresariais: defina as aplicações do App Hub em torno das funções empresariais ou dos fluxos de trabalho completos, em vez de apenas camadas técnicas ou microsserviços individuais. Uma aplicação deve representar um fluxo de valor distinto para a empresa.
Determinar a propriedade clara: atribua propriedades e atributos claros a cada aplicação, suportando a capacidade de descoberta e a governação. Em particular, a adição de proprietários de aplicações promove a responsabilidade e simplifica a comunicação.
Considere os limites das aplicações: defina limites que façam sentido para as operações, a monitorização e a governação. Idealmente, os recursos numa aplicação devem partilhar um ciclo de vida operacional comum e um domínio de impacto para simplificar a gestão e reduzir o risco operacional.
Ao considerar os limites da sua aplicação para fins operacionais, é importante compreender como o Google Cloud Observability estrutura a recolha e a apresentação de dados. Embora o App Hub se foque nos limites das aplicações, o Google Cloud Observability usa âmbitos para definir que dados de telemetria são visíveis e analisáveis em todos os projetos. A configuração destes âmbitos de observabilidade tem uma relação específica com o seu projeto anfitrião ou projeto de gestão, determinando como pode agregar e ver dados de telemetria de diferentes projetos. Para saber como configurá-los para uma vista unificada, consulte o artigo Configure âmbitos de observabilidade.
Adapte-se à evolução: crie as suas aplicações para acomodar futuras alterações e crescimento na sua arquitetura.
Refine iterativamente: reveja e ajuste regularmente as suas aplicações para refletir as alterações na estrutura, nas equipas e nas prioridades empresariais da sua organização.
O que definir como uma aplicação
Compreender o que constitui uma aplicação no App Hub é fundamental para integrar eficazmente as capacidades de gestão de aplicações no Google Cloud. Uma aplicação agrupa serviços e cargas de trabalho que, em conjunto, oferecem uma função empresarial específica. Para mais informações sobre os conceitos básicos das aplicações, dos serviços e das cargas de trabalho no App Hub, consulte Conceitos e modelo de dados.
Para ajudar a determinar o limite adequado para as suas aplicações do App Hub, considere as seguintes questões importantes:
- Que valor para o utilizador ou a empresa esta coleção de recursos oferece?
- Estes componentes partilham um ciclo de vida operacional comum?
- Existe uma propriedade clara e unificada nestes recursos?
- Este agrupamento facilita a monitorização e a resolução de problemas eficazes?
Exemplo: arquitetura de demonstração do OpenTelemetry
A arquitetura de demonstração do OpenTelemetry representa um sistema de comércio eletrónico que inclui microsserviços como Ad, Cart e Checkout. Para definir melhor esta aplicação no App Hub, considere as seguintes recomendações:
Modele todo o sistema de comércio eletrónico como uma aplicação do App Hub, por exemplo,
my-ecommerce-site
:- As instâncias de computação dos microsserviços individuais, como as implementações do Google Kubernetes Engine (GKE), são mapeadas para as cargas de trabalho do App Hub.
- Os pontos finais de rede, como as interfaces gRPC/HTTP com balanceamento de carga, são mapeados para os serviços do App Hub.
Evite registar cada microsserviço, como Ad, Cart e Checkout, como a sua própria aplicação do App Hub. Esta abordagem fragmenta o contexto empresarial.
Para mais informações sobre os recursos de infraestrutura que o App Hub suporta como serviços e cargas de trabalho, consulte o artigo Recursos suportados do App Hub.
Estratégias de design
Use as seguintes estratégias de design para garantir que a configuração do App Hub é escalável, governável e alinhada com as suas práticas operacionais.
Escolha entre aplicações globais e regionais
Quando cria as suas aplicações do App Hub, uma decisão fundamental é se as define como globais ou regionais. Esta escolha afeta os recursos que podem ser incluídos, o processamento de dados, a latência, o custo e a conformidade:
- As aplicações globais são mais adequadas para serviços e cargas de trabalho que são inerentemente distribuídos por várias Google Cloud regiões ou dependem de recursos globais, como um balanceador de carga de aplicações global.
- As aplicações regionais são recomendadas quando todos os componentes da aplicação residem numa única Google Cloud região. Geralmente, esta prática é a melhor abordagem se a sua arquitetura o permitir.
A seguinte lista de práticas recomendadas pode ajudar a escolher entre aplicações globais e regionais:
- Priorize as aplicações regionais: sempre que possível, crie as suas aplicações como regionais para tirar partido de vantagens como a redução da latência, a potencial poupança de custos no tráfego de rede entre regiões, o alinhamento com os requisitos de localidade dos dados e a compatibilidade inerente comGoogle Cloud funcionalidades e domínios de falhas específicos da região.
- Use aplicações globais estrategicamente: opte por aplicações globais apenas quando os componentes do sistema estiverem necessariamente distribuídos por regiões ou envolverem serviços Google Cloud globais.
- Decomponha sistemas multirregionais: se tiver recursos em várias regiões que não formam uma única função global coesa, considere definir aplicações regionais separadas para os recursos em cada região respetiva. Esta prática maximiza as vantagens da regionalização para cada implementação.
Para uma comparação detalhada e uma análise mais aprofundada das implicações desta escolha, consulte o artigo Aplicações globais e regionais.
Defina ambientes como aplicações separadas
Pode representar diferentes ambientes de implementação como aplicações distintas do App Hub. Esta abordagem oferece um forte isolamento para segurança, autorizações e risco operacional, evitando impactos acidentais em todos os ambientes.
Por exemplo, pode estruturar as suas aplicações como my-app-dev
,
my-app-staging
e my-app-prod
para ambientes de desenvolvimento, preparação e produção, respetivamente.
Embora possa usar o atributo Environment
numa única aplicação para etiquetar recursos, a separação dos ambientes em aplicações distintas oferece limites precisos para o controlo de acesso, a aplicação de políticas e a monitorização. Tem de continuar a usar o atributo Environment
de forma consistente nos recursos nas aplicações específicas do ambiente para fornecer detalhes detalhados e especificar ainda mais as funções. Para mais informações sobre este e outros atributos, consulte o artigo
Use atributos para a governação.
Alinhe-se com as estruturas da equipa
Pondere alinhar os limites das aplicações com as equipas responsáveis pelo respetivo desenvolvimento e funcionamento. Esta prática pode simplificar a propriedade e a comunicação, uma vez que o modelo de aplicação no App Hub reflete a estrutura da sua organização.
Use atributos para a governação
Aplique consistentemente atributos a todos os recursos da aplicação para melhorar a capacidade de descoberta e aplicar a governação. Estes atributos fornecem metadados detalhados para filtragem, relatórios e aplicação de políticas:
- Criticidade: ajuda a priorizar os recursos para a monitorização e a resposta a incidentes.
- Ambiente: suporta a filtragem e as políticas específicas do ambiente.
- Proprietários: oferece visibilidade e responsabilização.
Estabeleça normas organizacionais para etiquetar recursos com estes atributos. Para mais detalhes, consulte o artigo Suporte a deteção e a administração.
Identifique exemplos de utilização da gestão de aplicações
Integre o App Hub com o Application Design Center para uma experiência do ciclo de vida da aplicação integrada, desde a conceção às operações:
- Tem recursos pré-existentes para registar como uma aplicação:registe os recursos Google Cloud existentes do seu modelo de configuração numa aplicação no App Hub para obter visibilidade unificada e controlo operacional.
- Não tem recursos pré-existentes para registar como uma aplicação: use o Application Design Center para criar e implementar novas aplicações. O Application Design Center regista automaticamente os recursos implementados no App Hub, para que o seu modelo reflita com precisão o design pretendido. O Application Design Center também ajuda a gerir as atualizações das aplicações. Quando um modelo de aplicação é alterado, pode atualizar todas as instâncias baseadas no modelo, o que lhe permite garantir que as atualizações da aplicação são consistentes.
Hierarquia de recursos
A Google Cloud hierarquia de recursos padrão consiste em recursos de organização, pasta e projeto. O App Hub introduz uma camada de gestão de aplicações acima dessa hierarquia através do conceito de pastas com apps e projetos anfitriões, consoante o seu modelo de configuração.
Compreender como o modelo de configuração escolhido se enquadra na hierarquia de recursos existente permite uma gestão eficaz, a aplicação de políticas e a descoberta de recursos. Google CloudReveja as estruturas recomendadas e planeie a hierarquia de recursos quando escolher o modelo de configuração para gerir aplicações.
Refinamento contínuo
Os designs das aplicações não são estáticos; normalmente, evoluem ao longo do tempo. Reveja e refine regularmente as suas aplicações para garantir que continuam a estar alinhadas com as necessidades da sua empresa, as estruturas das equipas e as arquiteturas em constante mudança.
Recomendamos que use as estatísticas do Cloud Hub e do Gemini Cloud Assist para identificar oportunidades de otimização e adaptar as suas aplicações em conformidade. Além disso, pode usar o Application Design Center para gerir o ciclo de vida das suas aplicações. A página Implementações no Cloud Hub mostra as aplicações que têm atualizações disponíveis a partir do modelo do Application Design Center no qual se basearam, simplificando o processo de atualização.