Planejando o uso de áreas de trabalho
Planeje e projete suas áreas de trabalho usando as seguintes questões como prompts:
- Como relacionar áreas de trabalho a repositórios Git ?
- Quantas áreas de trabalho meu ambiente de aplicativos precisa?
- Como faço para reutilizar os arquivos de configuração do Terraform entre ambientes e espaços de trabalho?
- Como faço para controlar o acesso e gerenciar meus espaços de trabalho?
Áreas de trabalho e repositórios Git
Os espaços de trabalho usam modelos do Terraform de repositórios Git privados ou públicos, como GitHub, GitLab, Bitbucket e Azure DevOps. A tabela fornece o formato da origem de repositórios.
| Repositórios Git | URL |
|---|---|
GitHub |
https://github.com/<your_user_name>/<repo_name>/tree/<branch_name>/<folder_name> |
GitLab |
https://gitlab.com/<your_user_name>/<project_name>/tree/<branch_name>/<folder_name> |
Bitbucket |
https://bitbucket.org/<your_user_name>/<repo_name>/src/<branch_name>/<folder_name>https://<username>@bitbucket.org/<workspace_name>/tf_cloudless_sleepy/src/master |
Azure DevOps |
https://azure.com/<your_user_name>/<repo_name>/src/<branch_name>/<folder_name>https://visualstudio.com/<your_user_name>/<repo_name>/src/<branch_name>/<folder_name> |
Quantas áreas de trabalho meu ambiente de aplicativos precisa?
O número de áreas de trabalho necessárias no IBM Cloud Schematics é determinado pela estrutura de seu aplicativo e pelos ambientes necessários para desenvolver, testar e publicar seu aplicativo ou microsserviço.
Como regra geral, considere espaços de trabalho separados para cada microsserviço e para os ambientes que você usa. Por exemplo, se você tiver um aplicativo de produto que consiste em componentes de microsserviço de pesquisa, pagamento e avaliação, considere a possibilidade de criar espaços de trabalho separados para cada componente de microsserviço e seus ambientes de desenvolvimento, preparação e produção. Com espaços de trabalho separados para cada componente e ambiente, você pode desenvolver, implementar e atualizar seus arquivos de configuração do Terraform e os recursos associados da nuvem sem afetar outros componentes.
Revise a imagem a seguir, observando a estrutura da área de trabalho IBM Cloud Schematics para um app que consiste em três microsserviços.
estrutura do espaço de trabalho
Nas organizações em que as responsabilidades de infraestrutura são distribuídas por várias equipes, não é recomendado usar uma área de trabalho para gerenciar ambientes de preparação ou de produção inteiros Quando você implementa todos os seus recursos de nuvem usando um único espaço de trabalho, pode ser difícil para várias equipes coordenar as atualizações e gerenciar o acesso a esses recursos. Áreas de trabalho separadas, compartilhando definições de infraestrutura usando origens de dados de estado remoto, fornece um mecanismo para criar áreas de responsabilidade separadas.
Como posso estruturar meus repositórios Git para mapear meus espaços de trabalho?
Estruture seu repositório Git de modo que você tenha um repositório para todos os arquivos de configuração do Terraform que criam seu microsserviço e use variáveis de entrada em Schematics, ou GitHub ramificações ou diretórios para diferenciar entre seus ambientes de desenvolvimento, preparação e produção.
Revise a tabela a seguir para localizar uma lista de opções de como estruturar seu repositório Git para mapear os diferentes ambientes da área de trabalho.
| Opção | Descrição |
|---|---|
| Um repositório Git; use variáveis para distinguir entre os ambientes | Crie um repositório Git no qual você armazena os arquivos de configuração do Terraform que compõem o seu componente de microsserviço. Torne seus arquivos de configuração do Terraform tão gerais quanto possível para reutilizar a mesma configuração em seus ambientes. Para configurar as especificidades de seu ambiente de desenvolvimento, preparação e produção, use Variáveis de entrada do Terraform em seus arquivos de configuração. As variáveis de entrada são carregadas automaticamente no IBM Cloud Schematics ao criar sua área de trabalho. Para customizar sua área de trabalho, insira os valores específicos do ambiente para suas variáveis. Essa configuração será útil se você tiver uma equipe que gerencia o ciclo de vida do componente de microsserviço e onde a configuração de seus ambientes não diferir drasticamente. |
| Um repositório Git; use ramificações para distinguir entre os ambientes | Crie um repositório Git para o seu componente de microsserviço e use diferentes ramificações do Git para armazenar os arquivos de configuração do Terraform para cada um de seus ambientes. Com esta configuração, você tem uma distinção clara entre seus ambientes e mais controle sobre quem pode acessar e mudar uma configuração específica. Certifique-se de configurar como as mudanças em um arquivo de configuração são preenchidas entre ramificações para evitar que você tenha configurações diferentes em cada ambiente. |
| Um repositório Git; use diretórios para distinguir entre os ambientes | Para organizações que preferem ramificações de curta duração e nas quais as configurações diferem drasticamente nos ambientes, considere a criação de diretórios que representem as diferentes configurações de seus ambientes. Com esta
configuração, todos os diretórios atendem as mudanças confirmadas para a ramificação master. Certifique-se de configurar como as mudanças em um arquivo de configuração são preenchidas entre os diretórios para evitar ter
configurações diferentes em cada ambiente. |
| Use um repositório Git por ambiente | Use um repositório Git para cada um de seus ambientes. Com esta configuração, você tem um relacionamento 1:1 entre a sua área de trabalho e o repositório Git e é possível aplicar permissões separadas para cada um de seus repositórios Git. Certifique-se de que a sua equipe possa gerenciar vários repositórios Git e mantê-los em sincronia. |
Como posso reutilizar arquivos de configuração em ambientes e áreas de trabalho?
Tente minimizar o número de arquivos de configuração do Terraform que você precisa gerenciar, criando modelos padronizados do Terraform e usando variáveis para personalizar o uso de um modelo de acordo com suas necessidades.
Agora, é possível usar módulos do Terraform do registro de módulo do Terraform para a IBM Cloud.
Com modelos do Terraform ou módulos do Terraform padronizados, é possível assegurar que as melhores práticas de desenvolvimento sejam seguidas dentro de sua organização e que todos os arquivos de configuração do Terraform tenham a mesma estrutura. Conhecer a estrutura de um arquivo de configuração do Terraform facilita o entendimento de um arquivo, a declaração de variáveis, a contribuição com o código e a resolução de erros para seus desenvolvedores.
Como controlo o acesso às minhas áreas de trabalho?
O IBM Cloud Schematics é totalmente integrado ao IBM Cloud® Identity and Access Management. Para controlar o acesso a uma área de trabalho e quem pode executar seu código de infraestrutura com o IBM Cloud Schematics, consulte Gerenciando o acesso de usuário.
O que eu preciso estar ciente quando tenho um repositório que foi usado anteriormente com o Terraform independente?
Como o IBM Cloud Schematics oferece o Terraform como serviço, você pode reutilizar os modelos existentes do Terraform com espaços de trabalho. Dependendo de como seus modelos do Terraform são gravados e repositórios Git estruturados, pode ser necessário fazer mudanças para usar com sucesso o IBM Cloud Schematics.
- Declaração de bloco do provedor: porque o IBM Cloud Schematics é integrado ao IBM Cloud® Identity and Access Management, a sua chave API do IBM Cloud é recuperada automaticamente para todos os recursos ativados para o IAM
e não é necessário fornecer essas informações no bloco
provider. No entanto, a chave de API não é recuperada para recursos de infraestrutura clássicos. Para obter mais informações, consulte Configurando o blocoprovider. - Linha de linha de comandos do Terraform e plug-in do provedor do IBM Cloud: para usar o IBM Cloud Schematics, não é necessário instalar a linha de comandos do Terraform ou o IBM Cloud Provider Plug-in for Terraform. Se você desejar automatizar o fornecimento de recursos, experimente o Plug-in da linha de comandos do IBM Cloud Schematics em vez disso.
Configurando uma cadeia de ferramentas de entrega contínua para sua área de trabalho
Conecte seu repositório de origem a um pipeline de entrega contínua no IBM Cloud para gerar automaticamente um plano de execução do Terraform e execute seu código do Terraform no IBM Cloud sempre que atualizar seus arquivos de configuração do Terraform.
- Se você ainda não tiver uma instância de serviço do Continuous Delivery em sua conta, crie uma.
- No catálogo do IBM Cloud, abra o serviço do Continuous Delivery.
- Selecione a região do IBM Cloud na qual você deseja criar o serviço.
- Selecione um plano de precificação.
- Insira um nome para sua instância de serviço, selecione um grupo de recursos e insira quaisquer tags que desejar associar à sua instância de serviço.
- Clique em Criar para criar a instância de serviço em sua conta.
- No painel do espaço de trabalho, selecione um espaço de trabalho.
- Selecione a guia Configurações.
- Na seção Resumo, clique em Ativar entrega contínua.
- Configure sua cadeia de ferramentas.
- Insira um nome para sua cadeia de ferramentas e selecione a região e o grupo de recursos no qual você deseja implementar essa cadeia de ferramentas. A região e o grupo de recursos podem ser diferentes da região e do grupo de recursos que você usou para sua área de trabalho do Schematics.
- Selecione o tipo de repositório de origem no qual seus arquivos de configuração do Terraform são armazenados. Por exemplo, GitHub.
- Revise as informações para seu repositório de origem. Por exemplo, se seus arquivos do Terraform estiverem armazenados no GitHub, revise o servidor GitHub e o repositório para o qual você deseja criar uma cadeia de ferramentas de entrega contínua. Esses campos são pré-preenchidos com base na configuração da sua área de trabalho.
- Opcional: escolha se você deseja ativar o rastreamento de problemas e de mudança de código do Git para a sua cadeia de ferramentas.
- Selecione o ícone Delivery Pipeline para configurar seu Delivery Pipeline.
- Verifique se o ID da área de trabalho que é exibido para você está correto.
- Insira uma chave de API do IBM Cloud. Se você não possui uma chave de API, clique em Nova + para criar uma.
- Clique em Criar para finalizar a configuração de sua cadeia de ferramentas. Você verá uma visão geral das ferramentas que foram configuradas para sua cadeia de ferramentas.
- Abra o Delivery Pipeline. O Delivery Pipeline inclui estágios para recuperar atualizações de seu repositório de origem, criar um plano de execução do Terraform, aplicar esse plano e executar uma verificação de funcionamento com relação à sua área de trabalho.
- Atualize o arquivo do Terraform em seu repositório de origem e revise como essa mudança é processada em seu Delivery Pipeline. Se um dos estágios falhar, clique em Visualizar logs e histórico para iniciar a resolução dos erros. Para obter mais informações sobre a visualização de registros e histórico, consulte Revisão dos detalhes do trabalho Schematics.