O registo dos seus serviços e cargas de trabalho existentes numa aplicação permite-lhe simplificar a gestão organizando os recursos com base na respetiva finalidade empresarial. Esta abordagem oferece visibilidade, monitorização, governação e controlo operacional unificados.
Este guia mostra como agrupar serviços e cargas de trabalho existentes em Google Cloud que ainda não estão formalmente definidos como uma aplicação.
Antes de começar
Tem de concluir a configuração inicial da gestão de aplicações antes de organizar recursos em aplicações. Normalmente, este processo envolve as seguintes funções e passos:
- Para administradores: - Configure a gestão de aplicações. Configure uma pasta com apps ou um projeto anfitrião para atuar como o limite administrativo das suas aplicações.
- Ative as APIs necessárias. Ative as APIs para todos os recursos que pretende usar.
- Conceda acesso aos utilizadores. Atribua funções de IAM adequadas com base nas responsabilidades do utilizador no ciclo de vida da aplicação.
 
- Para programadores e operadores: - Confirme com o seu administrador que a configuração inicial está finalizada.
- Certifique-se de que tem as funções de IAM necessárias para as tarefas que quer realizar.
- Abra a pasta ou o projeto anfitrião com apps ativadas, consoante o seu modelo de configuração.
 
Crie uma aplicação
Crie uma aplicação no App Hub para atuar como um contentor lógico para os seus serviços e cargas de trabalho existentes:
Consola
- Na Google Cloud consola, use o seletor de projetos para selecionar o projeto de anfitrião ou o projeto de gestão da pasta com apps ativadas, consoante o seu modelo de configuração.
- Navegue para a página Aplicações a partir do App Hub: 
- Clique em Criar candidatura. 
- No painel Escolha a região e o nome da aplicação, selecione a melhor localização para a sua aplicação com base nos requisitos de distribuição geográfica: - Selecione Regional para criar uma aplicação regional. Em seguida, selecione a região específica da sua aplicação com base nas regiões suportadas pelo App Hub.
- Selecione Global para criar uma aplicação global.
 - Para mais informações sobre a melhor localização para a sua aplicação, consulte o artigo Aplicações globais e regionais. 
- Introduza o Nome da aplicação e clique em Continuar. 
- Opcional: defina os atributos de nível superior da aplicação para suportar a capacidade de deteção e a administração: - Na secção Adicionar atributos, introduza o Nome a apresentar.
- Na lista Criticidade, selecione um valor para indicar a importância da aplicação.
- Na lista Ambiente, selecione um valor para indicar a fase do ciclo de vida do software.
- Adicione detalhes das informações de contacto dos proprietários, incluindo o nome a apresentar e o endereço de email. Tenha em atenção que os endereços de email têm de ter o formato username@yourdomain, por exemplo,jane-doe@gmail.com.
 
- Clique em Criar. 
gcloud
- Use a CLI do Google Cloud para criar uma aplicação a partir do terminal ou do Cloud Shell: - gcloud apphub applications create APPLICATION_NAME \ --project=PROJECT_ID \ --scope-type=LOCATION \ --location=REGION \ --display-name=DISPLAY_NAME \ --criticality-type=CRITICALITY \ --environment-type=ENVIRONMENT \ --developer-owners=display-name=DEV_NAME,email=DEV_EMAIL \ --operator-owners=display-name=OPERATOR_NAME,email=OPERATOR_EMAIL \ --business-owners=display-name=BUSINESS_NAME,email=BUSINESS_EMAIL- Substitua - APPLICATION_NAMEpelo nome da sua aplicação. O nome só pode incluir carateres alfanuméricos em minúsculas sem espaços.- Use flags opcionais, como - --criticality-type, para definir os atributos de nível superior da aplicação e suportar a capacidade de descoberta e a governação.- Para as flags obrigatórias e opcionais, substitua o seguinte: - Obrigatório: PROJECT_ID: o ID do projeto anfitrião ou do projeto de gestão, consoante o seu modelo de configuração.
- Obrigatório: - LOCATION: a localização da sua aplicação com base nos requisitos de distribuição geográfica. Use um dos seguintes valores:- REGIONALpara candidaturas regionais.
- GLOBALpara aplicações globais.
 - Para mais informações sobre a melhor localização para a sua aplicação, consulte o artigo Aplicações globais e regionais. 
- Obrigatório: - REGION: a região específica da sua aplicação. Use um dos seguintes valores:- Se a --scope-typelocalização da sua aplicação estiver definida comoREGIONAL, especifique um nome de região suportado pelo App Hub.
- Se a localização --scope-typeda sua aplicação estiver definida comoGLOBAL, useglobal.
 
- Se a 
- Opcional: - DISPLAY_NAME: o nome a apresentar da sua aplicação.
- Opcional: - CRITICALITY: o nível de importância da aplicação para as suas operações. Use um dos seguintes valores:- MISSION_CRITICAL
- HIGH
- MEDIUM
- LOW
 
- Opcional: - ENVIRONMENT: a fase do ciclo de vida do software. Use um dos seguintes valores:- PRODUCTION
- STAGING
- DEVELOPMENT
- TEST
 
- Opcional: - DEV_NAMEe- DEV_EMAIL: o nome a apresentar e o endereço de email do proprietário do programador, respetivamente.
- Opcional: - OPERATOR_NAMEe- OPERATOR_EMAIL: o nome a apresentar e o endereço de email do proprietário do operador, respetivamente.
- Opcional: - BUSINESS_NAMEe- BUSINESS_EMAIL: o nome a apresentar e o endereço de email do proprietário da empresa, respetivamente.
 
- Obrigatório: 
- Liste as aplicações no seu projeto: - gcloud apphub applications list \ --project=PROJECT_ID \ --location=REGION- Tem de obter um resultado semelhante ao seguinte: - ID DISPLAY_NAME CREATE_TIME APPLICATION_NAME DISPLAY_NAME 2023-10-31T18:33:48
Terraform
Para criar uma aplicação com o Terraform, use
o recurso google_apphub_application.
Este recurso permite-lhe definir as propriedades da aplicação, incluindo o respetivo nome, localização e atributos.
O exemplo seguinte cria uma aplicação regional em us-central1 com
atributos de criticidade, ambiente e proprietário definidos:
resource "google_apphub_application" "example" {
    project        = "my-project-id"
    location       = "us-central1"
    application_id = "my-application"
    display_name   = "My Application"
    description    = "This application represents our platform."
    scope {
        type = "REGIONAL"
    }
    attributes {
        criticality {
            type = "MISSION_CRITICAL"
        }
        environment {
            type = "PRODUCTION"
        }
        business_owners {
            display_name = "Alice"
            email        = "alice@example.com"
        }
        developer_owners {
            display_name = "Bob"
            email        = "bob@example.com"
        }
        operator_owners {
            display_name = "Charlie"
            email        = "charlie@example.com"
        }
    }
}
Registe serviços e cargas de trabalho
Depois de criar uma aplicação, registe os seus serviços e cargas de trabalho existentes na mesma:
Consola
- Na Google Cloud consola, use o seletor de projetos para selecionar o projeto de anfitrião ou o projeto de gestão da pasta com apps ativadas, consoante o seu modelo de configuração.
- Navegue para a página Aplicações a partir do App Hub: 
- Clique no nome da aplicação para a qual quer registar serviços e cargas de trabalho existentes. 
- Na página de detalhes da aplicação, selecione o separador Serviços e cargas de trabalho. Este separador apresenta a lista de recursos existentes que pode registar na aplicação. O App Hub permite-lhe selecionar recursos suportados localizados na sua hierarquia de recursos como serviços e cargas de trabalho. 
- Para cada serviço ou carga de trabalho que quer registar, faça o seguinte: - No separador Serviços e cargas de trabalho, clique em Registar serviço/carga de trabalho.
- Navegue até ao painel Selecionar recurso e clique em Procurar para encontrar o serviço ou a carga de trabalho que quer registar.
- Escolha o serviço ou a carga de trabalho e clique em Selecionar.
- No painel Selecionar recurso, introduza um nome para o serviço ou a carga de trabalho e clique em Continuar.
- Opcional: no painel Adicionar atributos, defina os atributos de nível superior do recurso para suportar a capacidade de descoberta e a governação. 
- Clique em Continuar. 
- Opcional: na secção Adicionar proprietários, adicione mais detalhes sobre os proprietários do serviço ou da carga de trabalho. 
- Clique em Registar. 
 
O separador Serviços e cargas de trabalho apresenta o serviço ou a carga de trabalho registada.
gcloud
O App Hub permite-lhe selecionar recursos suportados localizados na sua hierarquia de recursos como serviços e cargas de trabalho. Use a CLI do Google Cloud para listar os serviços ou as cargas de trabalho que pode registar na aplicação a partir do terminal ou do Cloud Shell. Os comandos são ligeiramente diferentes para serviços e cargas de trabalho:
Serviços de registo
- Indique os serviços disponíveis que pode registar numa aplicação: - gcloud apphub discovered-services list \ --project=PROJECT_ID \ --location=REGION \ --filter=FILTER_EXPRESSION- Para as flags obrigatórias e opcionais, substitua o seguinte: - Obrigatório: PROJECT_ID: o ID do projeto anfitrião ou do projeto de gestão, consoante o seu modelo de configuração.
- Obrigatório: - REGION: a região específica do seu serviço com base na sua distribuição geográfica. Use um dos seguintes valores:- Se o serviço for regional, especifique o nome da região suportada pelo App Hub.
- Se o serviço for global, use global.
 
- Opcional: - FILTER_EXPRESSION: a expressão de filtro para a flag- --filterpara apresentar apenas serviços de um projeto especificado ou com uma propriedade específica, por exemplo:- service_properties.gcp_project=projects/PROJECT_ID
- service_properties.gcp_project=projects/PROJECT_ID AND service_reference.uri~"forwardingRules"
 
 - O resultado é semelhante ao seguinte exemplo: - ID SERVICE_REFERENCE SERVICE_PROPERTIES SERVICE_ID {'uri': '//compute.googleapis.com/projects/PROJECT_NUMBER/regions/REGION/forwardingRules/forwarding-rule'} {'gcpProject': 'projects/PROJECT_ID', 'location': 'REGION'}
- Obrigatório: 
- Copie o ID do serviço, - SERVICE_ID, a partir do resultado.
- Registe o serviço na sua aplicação: - gcloud apphub applications services create SERVICE_NAME \ --project=PROJECT_ID \ --location=REGION \ --application=APPLICATION_NAME \ --discovered-service=projects/PROJECT_ID/locations/REGION/discoveredServices/SERVICE_ID \ --display-name=SERVICE_DISPLAY_NAME \ --criticality-type=CRITICALITY \ --environment-type=ENVIRONMENT \ --developer-owners=display-name=DEV_NAME,email=DEV_EMAIL \ --operator-owners=display-name=OPERATOR_NAME,email=OPERATOR_EMAIL \ --business-owners=display-name=BUSINESS_NAME,email=BUSINESS_EMAIL- Substitua - SERVICE_NAMEpelo nome que quer usar para registar o serviço na aplicação.- Use flags opcionais, como - --criticality-type, para definir os atributos de nível superior do serviço e suportar a capacidade de deteção e a governação.- Para as flags obrigatórias e opcionais, substitua o seguinte: - Obrigatório: PROJECT_ID: o ID do projeto anfitrião ou do projeto de gestão, consoante o seu modelo de configuração.
- Obrigatório: - REGION: a região específica do seu serviço com base na sua distribuição geográfica. Use um dos seguintes valores:- Se o serviço for regional, especifique o nome da região suportada pelo App Hub.
- Se o serviço for global, use global.
 
- Obrigatório: - APPLICATION_NAME: o nome da aplicação para a qual quer registar o serviço.
- Obrigatório: - SERVICE_ID: o ID do serviço que copiou do resultado anterior.
- Opcional: - SERVICE_DISPLAY_NAME: o nome a apresentar do seu serviço.
- Opcional: - CRITICALITY: o nível de importância do serviço para as suas operações. Use um dos seguintes valores:- MISSION_CRITICAL
- HIGH
- MEDIUM
- LOW
 
- Opcional: - ENVIRONMENT: a fase do ciclo de vida do software. Use um dos seguintes valores:- PRODUCTION
- STAGING
- DEVELOPMENT
- TEST
 
- Opcional: - DEV_NAMEe- DEV_EMAIL: o nome a apresentar e o endereço de email do proprietário do programador, respetivamente.
- Opcional: - OPERATOR_NAMEe- OPERATOR_EMAIL: o nome a apresentar e o endereço de email do proprietário do operador, respetivamente.
- Opcional: - BUSINESS_NAMEe- BUSINESS_EMAIL: o nome a apresentar e o endereço de email do proprietário da empresa, respetivamente.
 
- Obrigatório: 
- Indique os serviços registados na sua aplicação: - gcloud apphub applications services list \ --application=APPLICATION_NAME --project=PROJECT_ID \ --location=REGION- Tem de obter um resultado semelhante ao seguinte para cada serviço registado: - ID DISPLAY_NAME SERVICE_REFERENCE CREATE_TIME SERVICE_NAME SERVICE_DISPLAY_NAME {'uri': '//compute.googleapis.com/projects/PROJECT_NUMBER/regions/REGION/forwardingRules/forwarding-rule'} 2023-11-01T21:38:08
Registe cargas de trabalho
- Indicar as cargas de trabalho disponíveis que pode registar numa aplicação: - gcloud apphub discovered-workloads list \ --project=PROJECT_ID \ --location=REGION \ --filter=FILTER_EXPRESSION- Para as flags obrigatórias e opcionais, substitua o seguinte: - Obrigatório: PROJECT_ID: o ID do projeto anfitrião ou do projeto de gestão, consoante o seu modelo de configuração.
- Obrigatório: - REGION: a região específica da sua carga de trabalho com base na sua distribuição geográfica. Use um dos seguintes valores:- Se a carga de trabalho for regional, especifique o nome da região suportada pelo App Hub.
- Se a carga de trabalho for global, use global.
 
- Opcional: - FILTER_EXPRESSION: a expressão de filtro para a flag- --filterpara apresentar apenas cargas de trabalho de um projeto especificado ou com uma propriedade específica, por exemplo,- workload_properties.gcp_project=projects/PROJECT_ID.
 - O resultado é semelhante ao seguinte exemplo: - ID WORKLOAD_REFERENCE WORKLOAD_PROPERTIES WORKLOAD_ID {'uri': '//compute.googleapis.com/projects/PROJECT_NUMBER/regions/REGION/instanceGroups/mig-name'} {'gcpProject': 'projects/PROJECT_ID', 'location': 'REGION'}
- Obrigatório: 
- Copie o ID da carga de trabalho, - WORKLOAD_ID, a partir do resultado.
- Registe a carga de trabalho na sua aplicação: - gcloud apphub applications workloads create WORKLOAD_NAME \ --project=PROJECT_ID \ --location=REGION \ --application=APPLICATION_NAME \ --discovered-workload=projects/PROJECT_ID/locations/REGION/discoveredWorkloads/WORKLOAD_ID \ --display-name=WORKLOAD_DISPLAY_NAME \ --criticality-type=CRITICALITY \ --environment-type=ENVIRONMENT \ --developer-owners=display-name=DEV_NAME,email=DEV_EMAIL \ --operator-owners=display-name=OPERATOR_NAME,email=OPERATOR_EMAIL \ --business-owners=display-name=BUSINESS_NAME,email=BUSINESS_EMAIL- Substitua - WORKLOAD_NAMEpelo nome que quer usar para registar a carga de trabalho na aplicação.- Use flags opcionais, como - --criticality-type, para definir os atributos de nível superior da carga de trabalho e suportar a capacidade de deteção e a governação.- Para as flags obrigatórias e opcionais, substitua o seguinte: - Obrigatório: PROJECT_ID: o ID do projeto anfitrião ou do projeto de gestão, consoante o seu modelo de configuração.
- Obrigatório: - REGION: a região específica da sua carga de trabalho com base na sua distribuição geográfica. Use um dos seguintes valores:- Se a carga de trabalho for regional, especifique o nome da região suportada pelo App Hub.
- Se a carga de trabalho for global, use global.
 
- Obrigatório: - APPLICATION_NAME: o nome da aplicação para a qual quer registar a carga de trabalho.
- Obrigatório: - WORKLOAD_ID: o ID da carga de trabalho que copiou da saída anterior.
- Opcional: - WORKLOAD_DISPLAY_NAME: o nome a apresentar da sua carga de trabalho.
- Opcional: - CRITICALITY: o nível de importância da carga de trabalho para as suas operações. Use um dos seguintes valores:- MISSION_CRITICAL
- HIGH
- MEDIUM
- LOW
 
- Opcional: - ENVIRONMENT: a fase do ciclo de vida do software. Use um dos seguintes valores:- PRODUCTION
- STAGING
- DEVELOPMENT
- TEST
 
- Opcional: - DEV_NAMEe- DEV_EMAIL: o nome a apresentar e o endereço de email do proprietário do programador, respetivamente.
- Opcional: - OPERATOR_NAMEe- OPERATOR_EMAIL: o nome a apresentar e o endereço de email do proprietário do operador, respetivamente.
- Opcional: - BUSINESS_NAMEe- BUSINESS_EMAIL: o nome a apresentar e o endereço de email do proprietário da empresa, respetivamente.
 
- Obrigatório: 
- Liste as cargas de trabalho registadas na sua aplicação: - gcloud apphub applications workloads list \ --application=APPLICATION_NAME --project=PROJECT_ID \ --location=REGION- Tem de obter um resultado semelhante ao seguinte para cada carga de trabalho registada: - ID DISPLAY_NAME WORKLOAD_REFERENCE CREATE_TIME WORKLOAD_NAME WORKLOAD_DISPLAY_NAME {'uri': '//compute.googleapis.com/projects/PROJECT_NUMBER/regions/REGION/instanceGroups/mig-name'} 2023-11-01T21:38:08
Terraform
Para registar serviços ou cargas de trabalho numa aplicação através do Terraform, use as origens de dados
google_apphub_discovered_service
e
google_apphub_discovered_workload
para obter dinamicamente informações sobre os recursos que
quer registar.
Em seguida, use os recursos
google_apphub_service
ou
google_apphub_workload
para registar serviços ou cargas de trabalho, respetivamente.
Serviços de registo
- Obtenha informações sobre um serviço através do respetivo URI: - data "google_apphub_discovered_service" "my-service" { location = "REGION" service_uri = "SERVICE_URI" }
- Registe o serviço descoberto na sua aplicação, por exemplo: - resource "google_apphub_service" "example" { project = "my-project-id" location = "us-central1" application_id = google_apphub_application.example.application_id service_id = "frontend-load-balancer" discovered_service = data.google_apphub_discovered_service.my-forwarding-rule.name display_name = "Frontend Load Balancer" description = "The primary load balancer for the frontend." }
Registe cargas de trabalho
- Obtenha informações sobre uma carga de trabalho através do respetivo URI: - data "google_apphub_discovered_workload" "my-workload" { location = "REGION" workload_uri = "WORKLOAD_URI" }
- Registe a carga de trabalho descoberta na sua aplicação, por exemplo: - resource "google_apphub_workload" "example" { project = "my-project-id" location = "us-central1" application_id = google_apphub_application.example.application_id workload_id = "frontend-instance-group" discovered_workload = data.google_apphub_discovered_workload.my-mig.name display_name = "Frontend Instance Group" description = "The managed instance group for the frontend." }
O estado de registo dos serviços e das cargas de trabalho registados numa aplicação pode mudar para desassociado se modificar a estrutura organizacional dos seus recursos ou eliminar o recurso subjacente.Google Cloud Os serviços e as cargas de trabalho separados permanecem na aplicação até anular o registo dos mesmos. Para mais informações, consulte o artigo Estado de registo de serviços e cargas de trabalho.
Conceda autorizações e inicie as operações
Depois de criar uma aplicação e registar os seus recursos no App Hub, concede acesso aos utilizadores com base nas responsabilidades e gere este agrupamento lógico como uma única unidade:
- Consoante as suas necessidades de acesso, pode conceder autorizações à sua aplicação. Para ver uma lista de funções recomendadas, consulte o artigo Conceda funções centradas na aplicação aos seus utilizadores.
- Navegue para o Cloud Hub para ver um painel de controlo operacional unificado para a sua aplicação definida, incluindo o respetivo estado, desempenho e dados de custos.