Melhores práticas para organizar e gerenciar projetos

Essas práticas recomendadas fornecem a você os componentes básicos para gerenciar projetosUma coleção de artefatos que definem e gerenciam recursos e infraestrutura como implementações de código. bem-sucedidos e seguros em IBM Cloud®. Os projetos são benéficos para empresas regulamentadas como uma maneira de gerenciar melhor as implementações baseadas em código, mantendo a conformidade e colaborando com os membros da equipe nas contas.

Criando uma conta do projeto primário

Um benefício chave dos projetos IBM Cloud é a capacidade de gerenciar e colaborar centralmente suas implementações de Infraestrutura como Código. Se você estiver usando uma empresa, estabelecer uma conta principal ou de casa para armazenar todos os seus projetos ajuda a gerenciar e rastrear seus projetos em um local único.

A utilidade de estabelecer uma conta principal depende da sua estrutura corporativa. Projetos podem ser criados em uma conta e implementar recursos em outras contas. Os usuários podem visualizar apenas os projetos que estão dentro da conta na qual eles estão atualmente conectados no momento.. Além disso, os relatórios para diversos projetos podem ser gerados apenas para projetos dentro da mesma conta. Este é outro benefício útil de estabelecer uma conta doméstica comum para todos os projetos em uma empresa ou todos os projetos com uma linha de negócios semelhante. Mantendo seu projeto em uma conta principal e implementando em contas separadas para cada ambiente (desenvolvimento, teste e produção) para simplificar o gerenciamento corporativo.

Para tornar a conta mais fácil de identificar o propósito e projetos dentro da conta por todos os usuários, dê à conta um nome legível. Por exemplo Front-end UI team e Back-end API team.

Definindo um método de autenticação.

Ao configurar sua arquitetura implementável, é necessário incluir um método de autenticação. O método de autenticação identifica a conta de destino onde os recursos são implementados e autoriza a implementação. É possível optar por autenticar por meio de um perfil confiável ou um segredo existente.

Usando perfis confiáveis

Alguns serviços não podem configurar e implementar arquiteturas totalmente usando perfis confiáveis Para obter mais informações, consulte Problemas conhecidos e limitações para projetos.

É possível implementar uma arquitetura em sua própria conta ou em outra conta usando perfis confiáveis. Dependendo de sua organização, a implementação de uma arquitetura pode requerer acesso a outra conta usando um perfil confiável e coordenando com os administradores em várias contas Se o serviço de Projetos IBM Cloud em outra conta precisar de acesso à sua conta para implementar uma arquitetura, use perfis confiáveis e IDs de serviço para autorizar implementações em sua conta. Para obter mais informações sobre a criação de um perfil confiável para seu projeto, consulte Usando perfis confiáveis para autorizar um projeto a implementar uma arquitetura

Usando IBM Cloud® Secrets Manager

Ao implantar a Infraestrutura como Código ( IaC ), geralmente há segredos que são necessários para configurar a infraestrutura, como chaves de API, chaves SSH e certificados SSL. Nesses casos, é recomendável armazenar esses segredos em uma instância Secrets Manager instância. Os projetos suportam diretamente a referência a chaves de API armazenadas em Secrets Manager como uma entrada para uma arquitetura implementável. Para obter mais informações, consulte Uso de uma chave de API com Secrets Manager para autorizar a implantação de um projeto.

Crie uma instância do serviço Secrets Manager na sua conta de projeto principal que você possa usar para todos os projetos dentro dessa conta antes de criar seu projeto.

Há alguns tipos de segredos diferentes que você pode criar. Use uma instância secreta arbitrária para armazenar chaves API para seu projeto. Para obter mais informações, consulte Criando segredos arbitrários na IU

Geralmente uma única instância do Secrets Manager é usada para todos os projetos em uma conta. Os segredos nessa instância podem ser organizados em grupos de segredos que se alinham com as restrições de acesso Por exemplo, você pode desejar usar um grupo de segredos por projeto ou para um conjunto de projetos relacionados

Controlando implementações usando ambientes

Em um projeto, é possível agrupar configurações relacionadas usando um ambiente. Um ambiente também pode conter propriedades, como valores de entrada e detalhes de autenticação. Essas propriedades são incluídas automaticamente em uma configuração ao selecionar um ambiente, o que ajuda a assegurar implementações precisas em sua conta de destino. Ao editar uma configuração, é possível selecionar um ambiente para a configuração usar na seção Definir detalhes.

Benefícios para o uso de ambientes

Os ambientes facilitam o controle de implementações. Ao especificar um ambiente e incluir propriedades, você sabe que os mesmos valores são compartilhados entre as configurações que estão usando esse ambiente Em uma configuração, você pode substituir quaisquer valores que sejam fornecidos automaticamente por um ambiente.

Ambientes fornecem uma maneira de agrupar configurações relacionadas em um projeto. Digamos que você tenha um conjunto de configurações que deseja implementar na mesma conta de destino que sua conta de desenvolvimento. É possível criar um ambiente de Desenvolvimento e incluir os detalhes de autenticação da conta de destino nesse ambiente. O método de autenticação é incluído em cada configuração que está usando o ambiente de Desenvolvimento

Embora seja possível criar quantos ambientes você desejar, é recomendável manter o número de ambientes em seu projeto baixo. Usar um conjunto padrão de ambientes para suas implementações em contas facilita a configuração e a implementação de arquiteturas.

Para obter mais informações, consulte Criando um ambiente

Organizando suas Configurações

Considere organizar todas as configurações relacionadas em um único projeto. Desta forma, é possível gerenciar as implementações de um local e ajudar a garantir que elas sejam seguras e compatíveis. Isso pode consistir em uma ou mais arquiteturas implementáveis para criar a infra-estrutura necessária, que então precisa ser replicada para suportar várias regiões e ambientes, como desenvolvimento, teste e produção.

Use uma convenção de nomenclatura para suas configurações, para que os usuários possam entender a função de cada configuração. Por exemplo, em uma implementação que usa uma arquitetura implementável do VPC Base e uma arquitetura implementável do Kubernetes Cluster que depende do VPC Base, é possível nomear suas configurações conforme a seguir:

Exemplos de nomes de configuração
Nome arquitetura implementável Meio ambiente Notas
Dev-VPC-Global Base de VPC. de Desenvolvimento Crie a VPC base para o ambiente de desenvolvimento
Dev-Kub-Rio de Janeiro Cluster do Kubernetes Desenvolvimento Criar o cluster em Dallas para desenvolvimento
Dev-Kub-Rio de Janeiro Cluster do Kubernetes Desenvolvimento Crie o cluster em Londres para desenvolvimento
Prod-VPC-Global Base de VPC. de Produção Crie o VPC base para o ambiente de produção
Prod-Kub-Rio de Janeiro Cluster do Kubernetes Produção Crie o cluster em Dallas para produção
Prod-Kub-Rio de Janeiro Cluster do Kubernetes Produção Criar o cluster em Londres para produção
Prod-Kub-Tóquio Cluster do Kubernetes Produção Crie o cluster em Tóquio para produção
Prod-Kub-Rio de Janeiro Cluster do Kubernetes Produção Crie o cluster em Sydney para produção

É possível duplicar a configuração de desenvolvimento no arquivo project.json e modificá-la conforme necessário para criar rapidamente implementações de produção de suas implementações de desenvolvimento testadas.

Criando grupos de acesso para projetos

O acesso aos projetos é controlado por Identity and Access Management (IAM). É recomendável criar dois ou três grupos de acesso por projeto e designar usuários que trabalham no projeto a um desses grupos de acesso Por exemplo, você pode criar um* Nome do Projeto*-Grupo de acesso de leitor que fornece acesso somente leitura ao projeto para usuários que precisam monitorar custos ou disponibilidade e um* Nome do Projeto*-Grupo de acesso de gravadores para usuários operacionais que precisam fazer alterações em um projeto e implantar recursos. Se necessário, é possível criar dois grupos de acesso de gravador, um para usuários que podem incluir configurações e concluir valores de entrada e um segundo para usuários que podem implementar recursos.

Grupos e funções de acesso ao projeto
Grupo de acesso Funções
Nome do Projeto-Leitor Leitor, Visualizador
Nome do Projeto-Escritor Gerente, Operador.

Para criar novos projetos, os usuários devem ter acesso específico designado. Para obter mais informações, consulte Designando acesso de usuários a projetos.

O monitoramento precisa de itens de atenção

Itens de atenção necessária são melhor usados para monitorar a validação, aprovações, falhas e atualizações de versão. Ao verificar os itens de atenção de necessidades regularmente, é possível assegurar que seu projeto e configuração estejam atualizados e em conformidade com ele.

Incluindo tags em projetos

É possível aplicar tags para organizar, controlar e gerenciar seus projetos.. Pode ser útil adicionar etiquetas a projetos relacionados ou até mesmo uma etiqueta para identificar projetos temporários, como infraestrutura usada para uma demonstração ao cliente ou um protótipo que não é mais necessário. Isto permite que projetos temporários sejam facilmente localizados e gerenciados.

As tags não fazem distinção entre maiúsculas e minúsculas e o comprimento máximo de uma tag é de 128 caracteres. Os caracteres permitidos são A-Z, 0-9, espaços, sublinhados, hífen, ponto e dois pontos.

Os recursos em um projeto recebem automaticamente tags de serviço com o ID do projeto e o ID de configuração com os quais estão associados. Para obter mais informações, consulte Rastreando uso e gastos para projetos.

Cancelando a implantação de recursos criados por projetos

Ao implementar sua configuração, os recursos que são criados podem ser gerenciados como um grupo dentro de seu projeto. Esses recursos são criados com base no plano do Terraform e podem ser gerenciados individualmente em sua área de trabalho do Schematics.

Embora seja possível destruir recursos individuais da área de trabalho Schematics, isso não é recomendado para recursos que são criados usando um projeto, pois isso leva ao desvio. Em vez disso, você pode remover a implantação de todos os recursos associados a uma configuração de uma só vez na UI do projeto com um único clique. Isso remove a implementação de qualquer ambiente de destino no qual sua configuração foi implementada. Cancelar a implantação de recursos sem excluir a configuração pode ser útil se você precisar implantar sua configuração novamente no futuro.

Por padrão, quando você exclui um projeto ou uma configuração, todos os recursos que foram implementados são desimplantados automaticamente. É recomendável manter essa configuração ativada, mas é possível desativá-la abrindo seu projeto e acessando Gerenciar > Configurações Se você desativar essa configuração, os recursos permanecerão implementados ao excluir uma configuração ou um projeto, mas você perderá a capacidade de gerenciar facilmente esses recursos no projeto. Os recursos implementados podem continuar acumulando custos para sua conta de destino se permanecerem disponíveis após um projeto ou configuração ser excluída. Para mais informações, veja Desimplantando recursos.