Visão geral do App Hub

Muitos aplicativos de 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 entre eles e dar suporte às funções de negócios.

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 organizar os recursos do Google Cloud de maneira centrada em aplicativos, da mesma maneira que você pensa nas funcionalidades comerciais. O App Hub é totalmente gerenciado pelo Google Cloud e não exige a instalação de nenhuma infraestrutura extra.

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

  • Quantos aplicativos existem em todos os meus projetos?
  • Como os serviços e as cargas de trabalho nos meus aplicativos dependem uns dos outros?
  • A quem pertencem esses aplicativos, serviços e cargas de trabalho?
  • Quantos aplicativos são essenciais?
  • Quantos aplicativos estão em produção?

Por exemplo, você pode ter 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. 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 lógica de negócios e políticas a um aplicativo, sabendo que apenas ele é afetado e saber quais indivíduos na 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 seus proprietários.

Se a empresa passar por uma mudança na estrutura da equipe, você pode transferir facilmente as propriedades do aplicativo com o App Hub. Também fica mais fácil determinar as dependências entre diferentes recursos e aplicativos ao usar o App Hub.

Casos de uso

O App Hub oferece suporte aos 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 os recursos associados.

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

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 comercial completa.
  • Uma carga de trabalho representa uma implantação binária que executa o menor subconjunto lógico de uma funcionalidade comercial, por exemplo, um grupo gerenciado de instâncias (MIG) ou uma implantação do Google Kubernetes Engine (GKE).
  • Um serviço é uma interface de rede ou API que expõe funcionalidades aos clientes para consumo na rede. Por exemplo, a regra de encaminhamento de 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 limites de governança e operacionais relacionados a abstrações de serviço e carga de trabalho. É possível usar esses atributos para organizar e localizar aplicativos e os serviços e cargas de trabalho associados deles durante a execução de 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:

  • Descobridos: serviços e cargas de trabalho que você pode registrar em um aplicativo. Os serviços e as cargas de trabalho descobertos incluem aqueles que você exclui ou cancela o registro 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 será atualizado de descoberto para registrado.
  • Desconectado: serviços e cargas de trabalho registradas em um aplicativo com recursos subjacentes excluídos. Por exemplo, se a regra de encaminhamento representada por um serviço for excluída, o Status do registro será atualizado para Desconectado. Os serviços e as cargas de trabalho removidos permanecem no aplicativo até que você cancele o registro deles.

Projetos host

Um projeto host hospeda recursos do App Hub (aplicativos, serviços, cargas de trabalho). Os serviços e as cargas de trabalho do App Hub servem como abstrações para os 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 host e aplicativos que atendam a necessidades comerciais específicas. Os projetos host também permitem gerenciar aplicativos entre projetos, em que os serviços e as cargas de trabalho de um aplicativo estão presentes em vários projetos.

Recomendamos que você crie um novo projeto do Google Cloud como projeto host para diferenciar os recursos de infraestrutura subjacentes dos conceitos do modelo de dados do App Hub. Se você precisar de vários projetos host, por exemplo, um projeto host para cada unidade de negócios independente, crie uma nova pasta e adicione 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 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. Anexe um projeto de serviço ao projeto host para disponibilizar os recursos de infraestrutura dele para serem agrupados 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 de uma 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 e atualizadas com o recurso subjacente. Por exemplo, IDs de projeto, local e zona.

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 compatíveis do App Hub incluem o seguinte:

  • O atributo Owners contém os dados de contato de um aplicativo, serviço ou carga de trabalho. Os tipos de proprietário compatíveis são os seguintes:
    • developer_owners: equipe de desenvolvimento responsável pelo desenvolvimento e pela programação.
    • operator_owners: equipe de operações que garante a integridade do ambiente de execução e das operações.
    • business_owners: equipe de negócios que garante a qualidade e o atendimento das expectativas dos usuários.
  • A importância de um aplicativo, serviço ou carga de trabalho indica a importância para o negócio. Os valores aceitos são os seguintes:

    • Essencial
    • Alta
    • Média
    • Baixa
  • O ambiente de um aplicativo, serviço ou carga de trabalho é o estágio do ciclo de vida de um software, por exemplo, produção, preparo ou desenvolvimento. Os valores aceitos são estes:

    • Produção
    • Teste
    • Testar
    • Desenvolvimento

API e referência gcloud

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

A seguir