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:
| 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.
| 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.
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.