Adição de opções personalizáveis à sua arquitetura implementável
Este tutorial o orienta em uma maneira de estender uma arquitetura implementável com opções personalizáveis para atender às suas necessidades comerciais. Conclua este tutorial para saber como criar uma nova versão de uma arquitetura implantável existente em seu catálogo privado e empilhar outras arquiteturas com ela que os usuários podem optar por incluir.
Imagine que você é um profissional de engenharia de automação de nuvem da empresa fictícia Example Corp. Você personalizou anteriormente uma arquitetura implantável chamada Example Corp's infrastructure e adicionou-o a um catálogo privado. Essa arquitetura personalizada e implementável é a base sobre a qual os aplicativos da Example Corp serão desenvolvidos. Agora, você quer dar aos desenvolvedores
de software algumas opções de banco de dados para usar com o Example Corp's infrastructure. Depois de pesquisar o catálogo IBM Cloud, você decide dar aos desenvolvedores a opção de escolher entre duas arquiteturas implementáveis
que criam bancos de dados diferentes:
- Automação de nuvem para Databases for Elasticsearch
- Essa arquitetura implementável cria uma instância do Elasticsearch, que é um banco de dados NoSQL adequado para pesquisa de texto completo e consulta a grandes conjuntos de dados. Esse banco de dados é uma escolha adequada para o aplicativo da Example Corp, pois é flexível o suficiente para processar dados não estruturados e semiestruturados, como texto, imagens e vídeo. Este tutorial foi criado com base na versão 1.32 da arquitetura implantável, mas você pode usar uma versão posterior, se desejar.
- Automação de nuvem para Databases for PostgreSQL
- Essa arquitetura implementável cria uma instância do PostgreSQL, que é um banco de dados SQL para consultas relacionais e dados estruturados. Esse banco de dados é outra opção adequada para a Example Corp, pois gerencia dados transacionais estruturados para oferecer experiências de aplicativos personalizadas aos usuários. Este tutorial foi criado com base na versão 3.22, mas você pode usar uma versão posterior, se desejar.
Este tutorial usa um cenário fictício para ajudá-lo a entender como criar uma arquitetura implantável mais complexa, empilhando-a com outras arquiteturas. Ao concluir o tutorial, adapte cada etapa para atender às necessidades de sua organização.
Antes de Iniciar
-
Verifique se você está usando uma conta pré-paga ou de assinatura indo para Gerenciar > Conta > Configurações da conta no console da IBM Cloud.
-
Verifique se você recebeu as seguintes funções IBM Cloud Identity and Access Management (IAM):
- Administrador de todos os serviços de gerenciamento de contas e de todos os serviços de IAM.
- Editor no serviço Catalog Management.
- Função de acesso ao serviço de gerente para Schematics.
- Outras funções que são necessárias para recursos específicos em sua arquitetura implementável. A automação da nuvem para Code Engine requer a função de acesso ao serviço Writer, que tem o escopo de todos os recursos do serviço Code Engine.
Para obter mais informações, consulte Atribuição de acesso a serviços de gerenciamento de contas e Gerenciamento de acesso a recursos.
-
Crie uma arquitetura implementável personalizada chamada
Example Corp's infrastructuree integre-a a um catálogo privado chamadoExample Corp catalog. Essa arquitetura é a que você estenderá ao concluir este tutorial. -
Configure um método de autenticação. Você pode usar uma chave de API armazenada em Secrets Manager ou um perfil confiável para autorizar uma implementação em sua conta de destino.
Está implementando uma prova de conceito para fins de teste? Você pode criar uma chave de API posteriormente, ao editar uma configuração em seu projeto. Isso autoriza o projeto a ser implementado na conta selecionada no momento.
Criação de uma versão de uma arquitetura implementável
Como o Example Corp's infrastructure já está disponível em um catálogo privado, é necessário atualizá-lo com uma nova versão.
- No console IBM Cloud, clique em Manage > Catalogs > Private catalogs e abra o catálogo privado
Example Corp catalog. - Selecione a infraestrutura da Example Corp na lista de produtos.
- Clique em Versões > Adicionar versão
- Selecione Terraform como o método de entrega.
- Especifique se seu repositório é público ou privado e forneça a fonte URL. Para os fins deste tutorial, você pode usar a mesma fonte URL que usou para integrar a versão 0.0.1 de
Example Corp's infrastructure. - Selecione Implantar o aplicativo Example Corp AI em IBM Cloud Code Engine como a variação.
- Digite
0.0.2para obter a versão do software. - Clique em Adicionar versão
Aqui, você pode configurar os detalhes da versão que adicionou.
Ampliação da infraestrutura da Example Corp com a adição de opções de banco de dados
Ao configurar os detalhes da versão, amplie o site Example Corp's infrastructure empilhando-o com duas outras arquiteturas implementáveis que criam bancos de dados diferentes. Você quer que seus usuários escolham IBM Cloud Databases
for Elasticsearch ou IBM Cloud Databases for PostgreSQL. Conclua as etapas a seguir:
-
Na Etapa 3 - Estender sua arquitetura, clique em Adicionar.
-
No menu Product (Produto ), pesquise
Cloud automation for Databases for Elasticsearche selecione-o. -
User Semantic Versioning Specification ( SemVer ) para listar as versões da arquitetura que funcionam com a infraestrutura da Example Corp.
Normalmente, as versões de patch não contêm alterações significativas, portanto, você pode usar SemVer para especificar um intervalo de versões compatíveis com a infraestrutura da Example Corp, por exemplo
~1.32. Dessa forma, se a automação em nuvem para Databases for Elasticsearch for atualizada com uma versão de patch para1.32.5, por exemplo, qualquer usuário que implantou o Example Corps com Elasticsearch poderá atualizar seu projeto para usar a nova versão. Para alterações significativas na versão Elasticsearch, crie uma nova versão da infraestrutura da Example Corp para garantir que a nova Elasticsearch versão funcione corretamente com sua arquitetura. -
Selecione a variação padrão.
-
Especifique padrão como a variação padrão, que é a variação selecionada para os usuários por padrão.
-
Selecione Opcional no menu Relationship (Relacionamento), pois a arquitetura não é necessária para implementar o
Example Corp's infrastructure. -
(Opcional) forneça uma descrição de exibição para ajudar os usuários a entender como essa arquitetura funciona com
Example Corp's infrastructuree quais benefícios ela oferece. Por exemplo, insiraNoSQL database for full-text searching and querying large datasets. -
Clique em Incluir.
Agora que você adicionou a automação da nuvem para Databases for Elasticsearch, repita as etapas novamente, mas, desta vez, pesquise por Cloud automation for Databases for PostgreSQL. Para a descrição opcional da tela, digite SQL database for relational queries and structured data.
Tornar os bancos de dados intercambiáveis entre si
Agora que você adicionou os dois bancos de dados como opcionais a Example Corp's infrastructure, pode especificar que eles podem ser trocados um pelo outro. Seus usuários podem selecionar a opção de banco de dados que desejam usar
com Example Corp's infrastructure. Conclua as etapas a seguir:
- Na Etapa 3 - Estender sua arquitetura, marque a caixa de seleção Automação da nuvem para Databases for Elasticsearch.
- Marque a caixa de seleção da automação da nuvem para Databases for PostgreSQL.
- Clique em Group as swappable.
- Digite
Databasescomo o nome do grupo e clique em Add (Adicionar ). - Clique em Avançar.
Defina variáveis para seus usuários
Agora que você adicionou algumas opções de banco de dados à sua arquitetura, precisa definir variáveis para seus usuários. Isso conecta as entradas nas arquiteturas, o que facilita para os usuários a configuração do Example Corp's infrastructure para implantação.
-
Na Etapa 4 - Configurar os detalhes da implantação, clique em Definir variáveis.
A janela Definir variáveis é exibida com a automação em nuvem Databases for Elasticsearch selecionada para você, para que possa acessar as entradas e saídas dessa arquitetura. A partir daí, você pode adicionar referências ou mover entradas para
Example Corp's infrastructurepara que os usuários possam configurá-las. -
Quando o site
Example Corp's infrastructurefoi criado, a região era restrita aos EUA. Para garantir que a automação da nuvem para Databases for Elasticsearch use a mesma região queExample Corp's infrastructure, adicione uma referência para conectá-los, executando as etapas a seguir:- Na janela Required inputs for Cloud automation for Databases for Elasticsearch, selecione o ícone Referenciar uma variável
for the
regioninput. - Em seguida, selecione region no menu Variable name (Nome da variável ).
- Clique em Incluir. Quando um usuário configurar a entrada
regionemExample Corp's infrastructure, a automação da nuvem para Databases for Elasticsearch usará o valor que o usuário fornecer como entrada.
- Na janela Required inputs for Cloud automation for Databases for Elasticsearch, selecione o ícone Referenciar uma variável
-
Como o site
Example Corp's infrastructuretambém contém uma entradaprefix, conclua as mesmas etapas para a entradaprefixna automação da nuvem para Databases for Elasticsearch:- Selecione o ícone Referência a uma variável
para a entrada
prefix. - Em seguida, selecione prefixo no menu Nome da variável.
- Clique em Incluir.
- Selecione o ícone Referência a uma variável
-
Como o site
Example Corp's infrastructurecontém uma entrada para o siteexisting_resource_group_name, você pode usar esse mesmo grupo de recursos para a automação da nuvem para o site Databases for Elasticsearch:- Selecione o ícone Referência a uma variável
para a entrada
resource_group_name. - Em seguida, selecione existing_resource_group_name no menu Variable name (Nome da variável ).
- Clique em Incluir.
- Selecione o ícone Referência a uma variável
-
Defina o valor padrão de
use_existing_resource_groupcomo true para indicar que seus usuários precisam de um grupo de recursos existente para sua arquitetura. -
Para simplificar a configuração e reduzir os custos de um ambiente de desenvolvimento, remova o requisito de criptografia de chave ao concluir as etapas a seguir:
- Defina o valor padrão de
existing_kms_instance_crncomo__NULL__. - Clique em Entradas opcionais.
- Defina o valor padrão de
use_ibm_owned_encryption_keycomo true. - Defina o valor padrão de
plancomoenterprise. - Defina o valor padrão de
member_cpu_countcomo2. - Defina o valor padrão de
member_host_flavorcomomultitenant.
- Defina o valor padrão de
Agora que você definiu as variáveis para a automação da nuvem para Databases for Elasticsearch, é necessário definir as variáveis para a outra opção de banco de dados que você incluiu: Automação da nuvem para Databases for PostgreSQL. Conclua as etapas a seguir:
- Na janela Definir variáveis, use o menu arquitetura para alternar de Automação na nuvem para Databases for Elasticsearch para Automação na nuvem para Databases for PostgreSQL.
- Clique em Required inputs e remova o requisito de criptografia de chave definindo o valor padrão de
existing_kms_instance_crncomo__NULL__. - As outras três entradas necessárias nessa arquitetura podem fazer referência a entradas que já estão disponíveis em
Example Corp's infrastructure. Conclua as etapas a seguir para adicionar referências a essas entradas:- Selecione o ícone Referência a uma variável
para
resource_group_namee, em seguida, selecione nome_do_grupo_de_recursos_existente no menu Nome da variável. Clique em Add (Adicionar ) e a entradaresource_group_namena automação da nuvem para Databases for PostgreSQL fará referência ao valorexisting_resource_group_nameda infraestrutura da Example Corp que o usuário fornecer. - Selecione o ícone Referenciar uma variável
para
prefixe selecione prefixo no menu Nome da variável e clique em Adicionar. - Selecione o ícone Referência a uma variável
para
regione selecione região no menu Nome da variável e clique em Adicionar.
- Selecione o ícone Referência a uma variável
- Clique em Entradas opcionais.
- Defina o valor padrão de
use_existing_resource_groupcomo true para indicar que seus usuários precisam de um grupo de recursos existente para sua arquitetura. - Defina o valor padrão de
use_ibm_owned_encryption_keycomo true. - Clique em Salvar.
Comunique as mudanças aos seus usuários
A versão mais recente do Example Corp's infrastructure não contém alterações significativas, mas inclui novos recursos que seus usuários precisam conhecer. Informe seus usuários sobre as novas opções de banco de dados que eles podem
usar com Example Corp's infrastructure adicionando um aviso de alteração. Conclua as etapas a seguir:
- Na Etapa 6 - Adicionar avisos de alteração, clique em Adicionar novo recurso.
- No campo Title (Título ), digite
Database options added to Example Corp's infrastructure. - Para a Descrição, digite
Version 0.0.2 includes two optional databases that you can choose to add. You can either use Cloud automation for Databases for Elasticsearch, or Cloud automation for Databases for PostgreSQL. - Clique em Salvar.
No menu Actions (Ações ), selecione Generate manifest (Gerar manifesto ) para fazer o download das alterações mais recentes. É uma prática recomendada fazer o download dos arquivos e adicioná-los ao seu repositório de código-fonte para que suas alterações sejam transferidas para a próxima versão.
Validar as arquiteturas implantando-as a partir de um projeto
Agora, a versão 0.0.2 do Example Corp's infrastructure está disponível como rascunho em seu catálogo particular. Qualquer usuário com acesso ao seu catálogo privado pode implementá-lo. Para garantir que as opções de banco de dados
funcionem com Example Corp's infrastructure, implemente-o duas vezes a partir do seu projeto. Para uma implantação, inclua Elasticsearch. E, para a outra implantação, inclua PostgreSQL. Ao implantar a arquitetura duas vezes, você
verifica se as duas opções de banco de dados funcionam com o site Example Corp's infrastructure como pretendido.
Antes de compartilhar o Example Corp's infrastructure com sua empresa, você deve validar a versão ao integrá-la ao seu catálogo privado.
Atualmente, a validação da versão no catálogo não valida nenhuma arquitetura que você tenha empilhado com a sua própria. Implementar as arquiteturas
de um projeto enquanto Example Corp's infrastructure está em um estado de rascunho no catálogo privado ajuda a garantir que as arquiteturas que você incluiu funcionem adequadamente com Example Corp's infrastructure.
Implemente a infraestrutura da Example Corp com Elasticsearch
-
Acesse o catálogo IBM Cloud e abra o catálogo privado
Example Corp catalog. -
Selecione a infraestrutura da Example Corp para abrir sua listagem de catálogo.
-
Certifique-se de que a versão 0.0.2 selecionada seja.
-
Clique em Criar projeto, nomeie o novo projeto
Testing Example Corp infrastructuree clique em Criar. -
Clique no ícone Configurações
, altere o nome da configuração para
Example Corp infrastructure with Elasticsearche clique em Salvar. -
Na seção Visão geral da arquitetura implantável, clique em Personalizar, certifique-se de que a opção Automação em nuvem para Databases for Elasticsearch esteja selecionada e clique em Salvar.
-
Clique em Configurar e implementar.
-
Configure a arquitetura concluindo as etapas a seguir:
- Na seção Detalhes, revise as informações e clique em Avançar.
- Na seção Segurança, forneça um método de autenticação para implantar na sua conta de destino e clique em Avançar. Use um perfil confiável ou uma chave de API.
- Na seção Entradas, digite
test-southcomo o valor da variável de entradaprefix. - Selecione Default (Padrão ) para a variável de entrada
existing_resource_group_name. - Selecione us-south para a variável de entrada
region. - Clique em Save para salvar a configuração de
Example Corp's infrastructure.
-
Clique em Validar. O modal que é exibido fornece mais detalhes sobre a validação em andamento.
Se a validação falhar, você poderá solucionar a falha. Ou então, um administrador do serviço IBM Cloud Projetos pode analisar os resultados por meio do serviço Schematics, substituir a falha e aprovar a configuração a ser implantada mesmo assim. No entanto, certifique-se de que o pipeline falhou devido à varredura do Code Risk Analyzer e não devido a uma falha de validação ou de plano. Não é recomendável substituir uma falha sinalizada devido a uma falha de validação ou de plano, pois a configuração não poderá ser implementada com êxito. Para obter mais informações sobre segurança e conformidade em projetos, consulte Obtenção de conformidade contínua como uma empresa.
-
Após a conclusão da validação, aprove e implemente as alterações:
- No projeto
Testing Example Corp infrastructure, selecione a guia Configurações. - Clique em
Example Corp infrastructure with Elasticsearch> Exibir detalhes para visualizar a última validação e aprovar as alterações. - Adicione um comentário com mais detalhes sobre a aprovação e clique em Aprovar.
- No projeto
-
Clique em Deploy e aguarde a conclusão da implantação.
Se a implantação foi bem-sucedida, então você sabe que
Example Corp's infrastructurefunciona como Elasticsearch pretendido. -
Por fim, cancele a implantação dos recursos criados pelas arquiteturas. Na guia Configurações do projeto, clique no ícone Opções
para
Example Corp infrastructure with Elasticsearch> Desimplantação.
Implemente a infraestrutura da Example Corp com PostgreSQL
Execute as mesmas etapas para verificar se Example Corp's infrastructure funciona com PostgreSQL:
-
Na guia Configurations (Configurações) do projeto
Testing Example Corp infrastructure, clique em Create (Criar ) e abra o catálogo privadoExample Corp catalog. -
Selecione a infraestrutura da Example Corp para abrir sua listagem de catálogo.
-
Certifique-se de que a versão 0.0.2 selecionada seja.
-
Certifique-se de que a infraestrutura do Testing Example Corp esteja selecionada como o projeto.
-
Clique no ícone Configurações
, altere o nome da configuração para
Example Corp infrastructure with PostgreSQLe clique em Salvar. -
Na seção Visão geral da arquitetura implantável, clique em Personalizar, certifique-se de que a opção Automação em nuvem para Databases for PostgreSQL esteja selecionada e clique em Salvar.
-
Clique em Configurar e implementar.
-
Configure a arquitetura. Em seguida, valide, aprove e implemente-o para verificar se o
Example Corp's infrastructurefunciona com o PostgreSQL conforme pretendido.Ao configurar a arquitetura, selecione us-east para a variável de entrada
regionpara confirmar que a arquitetura pode ser implantada nas regiões sul e leste dos EUA. Digitetest-eastcomo o prefixo para indicar em qual região os recursos estão implantados. -
Desimplante as configurações de seu projeto para cancelar a implantação de recursos.
Próximas etapas
Continue integrando a versão mais recente do Example Corp's infrastructure. Quando terminar, uma nova versão da arquitetura implementável estará disponível
para os usuários. Quando eles adicionam a nova versão a um projeto, podem personalizá-la incluindo a automação da nuvem para Databases for Elasticsearch ou a automação da nuvem para Databases for PostgreSQL.
Se um usuário já tiver implantado a versão anterior do Example Corp's infrastructure, ele será solicitado a atualizar a arquitetura para a versão mais recente em seu projeto com o widget needs attention.