Informações gerais do App Hub

Muitos aplicativos em nuvem evoluem para incluir vários recursos de infraestrutura de um ou mais projetos do Google Cloud, o que pode dificultar o gerenciamento e a compreensão desses recursos por desenvolvedores e operadores. O App Hub apresenta uma maneira centrada em aplicativos de organizar esses recursos para ajudar você a entender as interações de recursos e oferecer suporte a funções empresariais.

Este documento é destinado a pessoas que configuram, administram e usam aplicativos do App Hub.

Organização centrada em aplicativos

O App Hub se alinha às suas metas de negócios, permitindo que você organize seus recursos do Google Cloud de maneira centrada em aplicativos, da mesma forma que você pensa nas funcionalidades empresariais. O App Hub é totalmente gerenciado pelo Google Cloud e não exige que você instale nenhuma infraestrutura adicional.

Os administradores do App Hub podem gerenciar facilmente os recursos de infraestrutura de um ou mais projetos do Google Cloud, simplificando operações complexas de negócios e governança em escala. O App Hub ajuda a organizar esses recursos de infraestrutura criando aplicativos do App Hub que incluem esses recursos como serviços e cargas de trabalho do App Hub. O registro de serviços e cargas de trabalho em um aplicativo pode ajudar a responder às seguintes perguntas:

  • Quantos aplicativos existem em todos os meus projetos?
  • Como os serviços e os workloads nos meus aplicativos dependem uns dos outros?
  • Quem é o proprietário desses aplicativos, serviços e cargas de trabalho?
  • Quantos aplicativos são essenciais?
  • Quantas apps estão em produção?

Por exemplo, talvez você tenha várias equipes envolvidas no desenvolvimento de aplicativos para sua empresa. Essas equipes podem criar centenas ou milhares de recursos do Google Cloud espalhados por muitos projetos do Google Cloud. O App Hub descobre automaticamente os recursos de infraestrutura e os representa como abstrações de serviço e carga de trabalho. É possível registrar esses serviços e cargas de trabalho em aplicativos, esclarecendo a propriedade e a criticidade dos recursos. Para mais informações, consulte Conceitos e modelo de dados do App Hub.

Quando os recursos são organizados em aplicativos, é possível aplicar a lógica de negócios e as políticas a um aplicativo, sabendo que apenas ele é afetado e quais indivíduos na sua organização são responsáveis por ele. Por exemplo, é possível criar um aplicativo para um ambiente específico, como produção, e fornecer acesso altamente privilegiado aos proprietários.

Se a estrutura da equipe mudar, você pode transferir facilmente a propriedade do aplicativo com o App Hub. Você também pode determinar mais facilmente as dependências entre diferentes recursos e aplicativos ao usar o App Hub.

Casos de uso

O App Hub é compatível com os seguintes casos de uso:

  • Organizar e categorizar seus aplicativos: o App Hub permite organizar e categorizar seus aplicativos usando atributos como Owner, Criticality e Environment. Isso facilita a localização e o gerenciamento de aplicativos específicos e dos recursos associados a eles.

  • Compreender os recursos do aplicativo: o App Hub ajuda você a entender as composições dos seus apps. Isso pode ajudar desenvolvedores e operadores a entender como seus aplicativos funcionam e quais são as dependências deles.

  • Monitorar recursos no seu aplicativo (pré-lançamento): o App Hub oferece uma visão geral abrangente das métricas dos seguintes indicadores de monitoramento: tráfego, taxa de erros do servidor, latência P95, utilização da CPU e utilização da memória. Esses indicadores podem ajudar os operadores a entender o desempenho do aplicativo e identificar dependências para resolver problemas.

Conceitos e modelo de dados

O App Hub tem três conceitos principais:

  • Um aplicativo é um agrupamento funcional de serviços e cargas de trabalho que resulta em uma funcionalidade empresarial completa.
  • Uma carga de trabalho representa uma implantação binária que executa o menor subconjunto lógico de uma funcionalidade de negócios, por exemplo, uma implantação de grupo gerenciado de instâncias (MIG, na sigla em inglês) ou do Google Kubernetes Engine (GKE).
  • Um serviço é uma interface de rede ou API que expõe a funcionalidade aos clientes para consumo pela rede. Por exemplo, a regra de encaminhamento para um balanceador de carga.

O App Hub foi criado com base no conceito de um aplicativo.

É possível usar aplicativos e os atributos associados a eles para criar governança e limites operacionais em torno de abstrações de serviço e carga de trabalho. Depois, você pode usar esses atributos para organizar e localizar aplicativos e os serviços e cargas de trabalho associados a eles ao realizar atividades como observabilidade, auditoria e governança.

Modelo de dados do App Hub
Figura 1. Modelo de dados do App Hub.

O status de registro de um serviço ou carga de trabalho no projeto host tem um dos seguintes valores:

  • Descoberto: serviços e cargas de trabalho que podem ser registrados em um aplicativo. Os serviços e as cargas de trabalho descobertos também incluem serviços ou cargas de trabalho que você exclui ou desregistra de um aplicativo.
  • Registrados: serviços e cargas de trabalho registrados em um aplicativo. Só é possível registrar um serviço ou carga de trabalho descoberto. Depois de registrar o serviço ou a carga de trabalho, o status do registro muda de "Descoberto" para "Registrado".
  • Desconectado: serviços e cargas de trabalho registrados em um aplicativo cujos recursos subjacentes foram excluídos. Por exemplo, se a regra de encaminhamento representada por um serviço for excluída, o Status de registro do serviço será atualizado para Desconectado. Os serviços e as cargas de trabalho desconectados permanecem no aplicativo até que você cancele o registro deles.

Projetos host

Um projeto host hospeda recursos do App Hub (aplicativos, serviços e cargas de trabalho). Os serviços e os workloads do App Hub servem como abstrações para recursos descobertos em projetos de serviço anexados ao projeto host. Um projeto host atua como um limite administrativo, e os aplicativos fazem parte dele. É possível criar limites separados com vários projetos e aplicativos de host que atendem a necessidades comerciais específicas. Os projetos host também permitem gerenciar aplicativos entre projetos, em que os serviços e os workloads de um aplicativo estão presentes em vários projetos.

Recomendamos que você crie um novo projeto do Google Cloud como um projeto de host para diferenciar os recursos de infraestrutura subjacentes dos conceitos do modelo de dados do App Hub. Se você precisar de vários projetos de host, por exemplo, um projeto de host para cada unidade de negócios independente, recomendamos criar uma nova pasta e adicionar os projetos a ela.

Com base nos papéis do Identity and Access Management (IAM) concedidos ao projeto host (apphub.admin, apphub.editor e apphub.viewer), é possível criar aplicativos, atribuir atributos a eles e registrar ou visualizar serviços e cargas de trabalho. Para mais informações, consulte Papéis e permissões do App Hub.

Para mais informações sobre como criar projetos de host, consulte Configurar o App Hub.

Projetos de serviço

Um projeto de serviço é um projeto do Google Cloud que contém os recursos de infraestrutura subjacentes. Você anexa um projeto de serviço ao projeto host para disponibilizar os recursos de infraestrutura nele para agrupar em um aplicativo.

Não é possível anexar um projeto de serviço a mais de um projeto host. Um projeto host pode ser um projeto de serviço para si mesmo, mas não para outro projeto host.

Propriedades e atributos

O modelo de dados do App Hub também oferece propriedades e atributos que podem melhorar a funcionalidade de aplicativos, serviços e cargas de trabalho.

Propriedades são campos que descrevem os recursos de infraestrutura subjacentes de um serviço ou carga de trabalho. As propriedades ajudam a identificar informações significativas nos recursos de infraestrutura subjacentes que podem ajudar na experiência de registro de serviços ou cargas de trabalho. As propriedades são imutáveis pelo App Hub e são atualizadas apenas com mudanças no recurso subjacente. Por exemplo, IDs de projetos, local e zona.

Os atributos são campos mutáveis que podem ser definidos para aplicativos, serviços e cargas de trabalho para melhor identificá-los e organizá-los. Os atributos do App Hub compatíveis incluem:

  • O atributo Proprietários contém os dados de contato de um aplicativo, serviço ou carga de trabalho. Os tipos de proprietário aceitos são:
    • developer_owners: equipe de desenvolvimento proprietária do desenvolvimento e da codificação.
    • operator_owners: equipe de operadores que garante a integridade do ambiente de execução e das operações.
    • business_owners: equipe de negócios que garante a qualidade e atende às expectativas dos usuários.
  • A importância de um aplicativo, serviço ou carga de trabalho indica a importância deles para a empresa. Os valores compatíveis são os seguintes:

    • Essencial
    • Alta
    • Média
    • Baixo
  • O ambiente de um aplicativo, serviço ou carga de trabalho é a etapa do ciclo de vida de um software, por exemplo, produção, preparo ou desenvolvimento. Os valores compatíveis são os seguintes:

    • Produção
    • Preparo
    • Teste
    • Desenvolvimento

API e referência gcloud

Para mais informações sobre as propriedades do App Hub, consulte as seguintes referências:

A seguir