Gerir aplicações numa pasta

Este documento descreve como configurar uma pasta com apps ativadas para criar, operar e gerir aplicações do App Hub noGoogle Cloud. Destina-se a pessoas que configuram e gerem aplicações do App Hub.

Vista geral

OGoogle Cloud oferece uma abordagem centrada na aplicação para implementar e gerir os seus recursos. Em vez de se focar nos componentes individuais da infraestrutura, pode gerir as suas aplicações como um todo. Para mais informações acerca deste modelo centrado na aplicação e da respetiva organização de recursos, consulte o artigo Google Cloud centrado na aplicação.

A aplicação App Hub é fundamental para a experiência centrada na aplicação. Uma aplicação é um agrupamento lógico de recursos que funcionam em conjunto para fornecer uma função empresarial específica. Estes recursos incluem o seguinte:

  • Serviços: uma interface de rede ou API que expõe funcionalidades aos clientes, como a regra de encaminhamento de um balanceador de carga.
  • Cargas de trabalho: um recurso de computação que executa uma implementação binária que desempenha uma função empresarial distinta, como um grupo de instâncias geridas (GIG) ou uma implementação do Google Kubernetes Engine (GKE).

O que é uma pasta com apps ativadas?

Uma pasta ativada para apps é uma pasta na Google Cloud hierarquia de recursos que foi especialmente configurada para a gestão de aplicações. Esta pasta serve como o limite de gestão de aplicações para as suas aplicações e inclui um projeto de gestão para armazenar os metadados e a configuração da aplicação. Pode conceber, configurar, testar, validar e implementar aplicações do App Hub num ou em vários projetos na pasta.

As pastas com apps ativadas simplificam a gestão de aplicações das seguintes formas:

  • Organizar componentes: agrupam serviços e cargas de trabalho relacionados, definidos no App Hub, numa única aplicação.
  • Oferecer monitorização e gestão centralizadas: em vez de monitorizar componentes individuais em diferentes projetos ou produtos, pode monitorizar e gerir o estado geral e o desempenho das suas aplicações ao nível da pasta.
  • Simplifique a administração: ao designar uma pasta como ativada para apps, cria um limite ao nível da pasta que simplifica a criação e a gestão de aplicações na sua organização.
  • Oferecem uma vista centrada na aplicação: mudam o foco dos recursos individuais para a própria aplicação, oferecendo uma vista holística do respetivo desempenho.

Para mais informações sobre os limites ao nível da pasta e uma comparação entre projetos e pastas para o limite de gestão de aplicações, consulte o artigo Escolha o modelo de configuração da aplicação.

Vista geral dos projetos de gestão

O projeto de gestão é um Google Cloud projeto na pasta com apps ativadas que funciona como um repositório central para todos os metadados centrados na aplicação. Cada pasta contém apenas um projeto de gestão. O projeto de gestão fornece a infraestrutura para bibliotecas de aplicações e APIs, incluindo faturação, quotas e controlo de acesso. Para mais informações sobre estas APIs, consulte o artigo Ative APIs num projeto de gestão.

O projeto de gestão contém o modelo de aplicação completo, que inclui o seguinte:

  • Dados do App Hub: o modelo lógico das suas aplicações, incluindo as respetivas relações com serviços e cargas de trabalho, bem como metadados, como proprietários e criticidade.
  • Dados do Application Design Center: recursos como modelos, catálogos e espaços usados para conceber e implementar novas aplicações.

O projeto de gestão também pode descobrir recursos na hierarquia de recursos da pasta com apps ativadas. Se o projeto de gestão for eliminado, todos os dados do modelo de aplicação são perdidos permanentemente. Embora a sua infraestrutura subjacente, como clusters do GKE ou equilibradores de carga, permaneça intacta, o respetivo agrupamento lógico no App Hub é eliminado permanentemente.

Configure uma pasta para a gestão de aplicações

Pode ativar a gestão de aplicações em pastas novas e existentes. Recomendamos que teste a gestão de aplicações numa pasta dedicada criada recentemente. Isto permite uma experimentação segura antes de a aplicar a pastas críticas existentes.

Numa pasta com apps ativadas, os utilizadores autorizados podem agregar cargas de trabalho e serviços de qualquer projeto em aplicações diretamente nessa pasta.

Considere uma hierarquia de recursos com a seguinte estrutura:

A pasta F1 contém os seguintes três itens:

  • Projetos P10 e P11
  • Pasta F2

A pasta F2 contém os seguintes dois itens:

  • Project P20 e P21

Ative a gestão de aplicações na pasta F1 para criar uma aplicação que inclua recursos de vários níveis de pastas. Por exemplo, uma aplicação pode incluir recursos dos projetos P10 e P20.

Uma aplicação com os projetos P10 e P20, que abrange níveis de pastas

Se ativar a gestão de aplicações apenas na pasta F2, o projeto P10 fica indisponível para a criação de aplicações. Para criar aplicações no projeto P10, mova o projeto P10 para a pasta F2.

Uma aplicação com os projetos P10 e P20, mas o P10 foi movido para a pasta F2

Considere a estrutura organizacional, as responsabilidades da equipa e os recursos ao planear a sua estratégia de gestão de aplicações. A forma como as suas equipas e recursos estão estruturados tem um impacto direto na forma como usa as pastas com apps.

Funções necessárias

Com base nas responsabilidades identificadas durante o ciclo de vida da aplicação, os utilizadores e o programador precisam de várias funções para configurar os vários aspetos do processo de gestão de aplicações.

Para receber as autorizações de que precisa para configurar uma pasta com apps, peça ao seu administrador para lhe conceder as seguintes funções do IAM:

Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.

Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.

Ative a gestão de aplicações

A gestão de aplicações permite-lhe mudar o foco dos componentes de infraestrutura individuais para a sua aplicação como um todo.

Quando ativa a gestão de aplicações numa pasta, esta é denominada pasta com apps ativadas e ocorre o seguinte:

  • Um projeto é definido como o projeto de gestão na pasta.
  • O sistema ativa as APIs necessárias no projeto de gestão.
  • O projeto de gestão armazena dados da aplicação, incluindo APIs ativadas, faturação, quotas e controlos de acesso.

Para ativar a gestão de aplicações numa pasta, faça o seguinte:

Consola

  1. Selecione ou crie a Google Cloud pasta que quer configurar como uma pasta com apps. Para criar uma nova pasta, consulte o artigo Criar pastas.

  2. Na Google Cloud consola, abra a página Gerir recursos.

    Aceda a Gerir recursos

  3. Na lista de projetos e pastas, localize a pasta que quer configurar.

    Se uma pasta tiver o ícone de pasta com a app ativada, a gestão de aplicações já está ativada.

  4. Na linha da pasta, abra o menu Ações e clique em Definições.

    Se a gestão de aplicações não tiver sido ativada na pasta, a definição Gestão de aplicações apresenta Não ativada.

  5. Na área Ativar gestão de aplicações, clique em Criar projeto.

    É aberto o painel Crie um projeto de gestão e ative as APIs necessárias.

  6. Reveja a lista de APIs necessárias. Estas APIs gerem o ciclo de vida da sua aplicação. Para APIs que tenham custos associados, clique no nome da API para saber mais sobre os preços.

  7. Para ativar a gestão de aplicações, clique em Criar projeto e ativar APIs.

    O sistema cria o projeto de gestão na pasta.

  8. Tome nota do nome e do ID do projeto de gestão. Vai usar estes valores para conceder acesso.

    Em alternativa, para obter o ID do projeto de gestão, pode usar o seguinte comando da CLI gcloud:

    gcloud resource-manager folders describe FOLDER_ID
        --format="value(managementProject.split('/').slice(-1))"
    

    Substitua FOLDER_ID pelo ID da pasta com a app ativada.

    Para mais informações, consulte o artigo Encontre o nome, o número e o ID do projeto.

gcloud

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. Certifique-se de que tem instalada a versão mais recente da Google Cloud CLI:

    gcloud components update
    
  3. Para ativar a gestão de aplicações numa pasta específica, use o comando gcloud resource-manager capabilities update com a flag --enable.

    gcloud resource-manager capabilities update folders/FOLDER_ID/capabilities/app-management \
       --enable
    

    Substitua FOLDER_ID pelo ID da pasta.

    Este comando ativa a capacidade de gestão de aplicações na pasta especificada e aprovisiona automaticamente um novo projeto do Google Cloud Platform nessa pasta para servir como projeto de gestão. Google Cloud

  4. Opcionalmente, para ativar as APIs recomendadas no projeto de gestão, siga as instruções para ativar Google Cloud serviços num projeto.

  5. Terraform

    Para ativar a gestão de aplicações numa pasta através do Terraform, use o recurso google_resource_manager_capability, por exemplo:

    resource "google_folder" "folder" {
      display_name     = "my-folder"
      parent           = "organizations/123456789"
      deletion_protection = false
    }
    resource "time_sleep" "wait_60s" {
      depends_on = [google_folder.folder]
      create_duration = "60s"
    }
    resource "google_resource_manager_capability" "capability" {
      value            = true
      parent           = "${google_folder.folder.name}"
      capability_name  = "app-management"
      depends_on = [time_sleep.wait_60s]
    }
    

    Este comando ativa a capacidade de gestão de aplicações na pasta especificada e aprovisiona automaticamente um novo projeto do Google Cloud nessa pasta para servir como projeto de gestão. Para ativar a lista de APIs recomendadas no projeto de gestão, siga as instruções para ativar um serviço de API num Google Cloud projeto.

Depois de criar o projeto de gestão e ativar as APIs necessárias, pode começar a usar o App Hub para agrupar serviços e cargas de trabalho existentes em aplicações. No entanto, recomendamos vivamente que associe uma conta de faturação ao projeto de gestão e conceda funções centradas na aplicação aos seus utilizadores para desbloquear funcionalidades avançadas de outros produtos do Google Cloud centrados na aplicação. Estas ações permitem que os seus utilizadores geram vários aspetos do processo de implementação e das operações da aplicação, o que pode exigir funções diferentes.

Opcional: associe uma conta de faturação ao projeto de gestão

Para usar funcionalidades avançadas do Google Cloud centradas na aplicação, tem de associar uma conta de faturação ativa ao projeto de gestão. Por exemplo, uma conta de faturação associada ajuda a fazer o seguinte:

  • Faça a gestão de cargas de trabalho que excedem as quotas de recursos do App Hub.
  • Use o Application Design Center para criar modelos e implementar aplicações.

Para uma vista geral dos potenciais custos associados à gestão de aplicações e às APIs ativadas, consulte o artigo Compreender os custos.

Siga estes passos para associar uma conta de faturação ativa ao seu projeto de gestão:

Consola

  1. Verifique se existe a conta de faturação que quer usar para a gestão de aplicações. Para criar uma conta de faturação, consulte o artigo Crie uma nova conta do Cloud Billing self-service.

  2. Na Google Cloud consola, abra a página Faturação.

    Aceder a Faturação

  3. No separador Os meus projetos, localize o projeto de gestão.

  4. Na linha do projeto, abra o menu Ações, selecione Alterar faturação e, de seguida, escolha a conta do Cloud Billing.

Para mais informações sobre como ativar a faturação de um projeto, consulte o artigo Ativar a faturação de um projeto.

gcloud

gcloud billing projects link PROJECT_ID \
    --billing-account ACCOUNT_ID

Substitua o seguinte:

  • PROJECT_ID: o ID do projeto de gestão.
  • ACCOUNT_ID: o ID da conta de faturação. Os IDs das contas de faturação estão no formato 0X0X0X-0X0X0X-0X0X0X.

Além das APIs ativadas automaticamente no projeto de gestão, pode ativar APIs recomendadas para suportar a criação de aplicações. Reveja as APIs recomendadas para compreender as respetivas vantagens e custos associados.

Conceda funções centradas na aplicação aos seus utilizadores

Pode conceder acesso aos utilizadores consoante as respetivas responsabilidades durante o ciclo de vida da aplicação. Para saber como conceder autorizações para vários níveis de acesso à aplicação, consulte o artigo Conceda autorizações a aplicações.

A tabela seguinte fornece diretrizes gerais e funções do IAM recomendadas para conceder diferentes responsabilidades do utilizador centradas na aplicação ao nível do projeto ou da pasta. A tabela inclui funções para gerir aplicações com o App Hub e o App Design Center, bem como para ver dados no Cloud Hub.

Para mais informações sobre estes e outros papéis específicos do produto, consulte a respetiva documentação.

Responsabilidades do utilizador Funções de IAM Onde conceder funções
Administradores da plataforma

Executar tarefas de administrador para o projeto de gestão.

Administrador do IAM do projeto (roles/resourcemanager.projectIamAdmin) projeto de gestão
Engenheiros de plataformas

Realizar tarefas de administrador para o App Hub e o App Design Center.

  • Administrador do Hub da App (roles/apphub.admin)
  • Administrador do Centro de design de apps (roles/designcenter.admin)
projeto de gestão
Programadores de aplicações

Desenvolver aplicações.

  • Editor do Hub da App (roles/apphub.editor)
  • Utilizador do Centro de design de apps (roles/designcenter.user)
projeto de gestão
SREs, operadores e utilizadores do Cloud Hub

Veja dados ao nível da aplicação e do projeto no Cloud Hub.

Operador do Cloud Hub (roles/cloudhub.operator) pasta com apps

Configure o âmbito da observabilidade

O âmbito de observabilidade determina onde a Google Cloud consola procura dados de telemetria para apresentar. Cada Google Cloud projeto tem um âmbito de observabilidade único, que identifica os âmbitos de registo e rastreio predefinidos. Para dados de métricas, o âmbito das métricas do projeto determina onde a Google Cloud consola procura dados.

Para ver ou analisar todos os dados de telemetria da sua aplicação, configure o âmbito de observabilidade e o âmbito de métricas para o projeto de gestão. Ao configurar estes âmbitos, o Cloud Hub e outros serviços podem encontrar e apresentar os dados de registo, métricas e rastreio da sua aplicação, mesmo quando esses dados estão armazenados em vários projetos.

Esta secção resume a configuração necessária. Para instruções detalhadas, consulte o artigo Configure a monitorização de aplicações. A tabela seguinte mostra os âmbitos de configuração necessários.

Componente de âmbito Cenário de configuração Principais ações e considerações
Âmbito do registo Usa um destino agregado para encaminhar todos os registos na organização para um contentor de registos central.
  1. Crie uma vista de registo que inclua apenas registos de aplicações armazenados no contentor.
  2. Configure o âmbito do registo predefinido no projeto de gestão para incluir a visualização de registos.
Não tem um sink agregado ao nível da organização e a pasta ativada para apps não tem pastas aninhadas.
  1. Configure um sink agregado para encaminhar os registos de aplicações para o contentor de registos _Default do projeto de gestão.
  2. Certifique-se de que o âmbito do registo denominado _Default é o âmbito do registo predefinido.
Não quer usar um destino agregado. Configure o âmbito do registo predefinido no projeto de gestão para listar as localizações de armazenamento dos dados de registo da sua aplicação.
Âmbito das métricas Configurou uma pasta com apps ativadas que contém todos os projetos que armazenam os dados de métricas que quer ver. O Google Cloud Observability tenta sincronizar a lista de projetos na sua pasta com apps ativadas com a lista de projetos no âmbito das métricas.

Desde que o número de projetos na pasta com apps ativadas não exceda a sua quota do âmbito das métricas, o Google Cloud Observability pode manter a lista de projetos no âmbito das métricas atualizada quando adiciona ou remove projetos na pasta com apps ativadas.
Âmbito do rastreio Quiser monitorizar dados de rastreio de aplicações em vários projetos.
  1. Crie um âmbito de rastreio personalizado no projeto de gestão que liste os projetos que armazenam os dados de rastreio da sua aplicação.
  2. Defina o âmbito do rastreio personalizado como o âmbito do rastreio predefinido.

Desative a gestão de aplicações

Se já não quiser que uma Google Cloud pasta seja uma pasta com apps ativadas, siga estes passos para desativar a gestão de aplicações:

  1. Se um ónus estiver a proteger o projeto de gestão na pasta com apps ativadas contra a eliminação do projeto, tem de remover o ónus. Para mais informações, consulte o artigo Proteger projetos com hipotecas.

  2. Selecione a Google Cloud pasta onde quer desativar a gestão de aplicações.

  3. Na Google Cloud consola, abra a página Gerir recursos.

    Aceda a Gerir recursos

  4. Na lista de projetos e pastas, localize a pasta com apps ativadas.

  5. Na linha da pasta, abra o menu Ações e clique em Definições.

    As pastas com o ícone de pasta com a app ativada estão configuradas para a gestão de aplicações.

  6. Clique em Desativar para desativar a gestão de aplicações na pasta.

  7. Na caixa de diálogo de confirmação, introduza Disable no campo Desativar.

  8. Se tiver tudo pronto para desativar a gestão de aplicações, clique em Desativar.

O sistema elimina o projeto de gestão na pasta. O modelo de aplicação completo também é eliminado, incluindo APIs e controlos de acesso.

O que se segue?