Visão geral 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 para desenvolvedores e operadores. O App Hub apresenta uma maneira centrada em aplicativos de organizar esses recursos para ajudar você a entender as interações dos recursos e oferecer suporte a 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 que você organize seus recursos do Google Cloud de maneira centrada no aplicativo, da mesma forma que você pensa nas funcionalidades comerciais. O App Hub é totalmente gerenciado pelo Google Cloud e não exige a instalação de nenhuma outra infraestrutura.

Os administradores do App Hub podem gerenciar facilmente recursos de infraestrutura extraídos de um ou mais projetos do Google Cloud, simplificando operações comerciais e governança complexas em grande 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 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, é possível 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 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 importância dos recursos. Para mais informações, consulte Modelos de dados e conceitos 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 esse aplicativo é afetado e conhecendo quais indivíduos da organização são responsáveis por ele. Por exemplo, é possível criar um aplicativo para um ambiente específico, como a produção, e fornecer acesso altamente privilegiado aos proprietários dele.

Se a estrutura da equipe da sua empresa mudar, é fácil transferir as propriedades dos aplicativos com o App Hub. Também é mais fácil determinar 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 dos recursos associados.

  • Entender os recursos do aplicativo: o App Hub ajuda a entender as composições dos aplicativos. Isso pode ajudar desenvolvedores e operadores a entender como seus 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 implantação do Google Kubernetes Engine (GKE).
  • Um serviço é uma rede ou interface de API que expõe a funcionalidade 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 para criar limites operacionais e de governança em torno de abstrações de serviços e cargas de trabalho. Em seguida, use esses atributos para organizar e localizar aplicativos e os serviços e cargas de trabalho associados enquanto executa 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 destes valores:

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

Projetos host

Um projeto host hospeda recursos do App Hub (aplicativos, serviços e cargas de trabalho). Os serviços e as cargas de trabalho 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, com os aplicativos fazendo parte desse limite. É possível criar limites separados com vários projetos host e aplicativos que atendem a necessidades 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 um projeto host para diferenciar os recursos de infraestrutura subjacentes dos conceitos de modelo de dados do App Hub. Se você precisar de vários projetos host, por exemplo, um 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 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. Anexe um projeto de serviço ao projeto host para disponibilizar os recursos de infraestrutura nele 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.

As 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 e atualizadas com o recurso subjacente. Exemplos incluem 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 compatíveis do App Hub incluem:

  • 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 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 que as expectativas dos usuários sejam atendidas.
  • A importância de um aplicativo, serviço ou carga de trabalho indica a importância dele para os negócios. Os valores aceitos são os seguintes:

    • Essencial
    • Alto
    • Média
    • Baixo
  • 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 compatíveis são os seguintes:

    • Produção
    • Teste
    • Teste
    • Desenvolvimento

API e referência gcloud

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

A seguir