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

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

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

  3. Crie uma arquitetura implementável personalizada chamada Example Corp's infrastructure e integre-a a um catálogo privado chamado Example Corp catalog. Essa arquitetura é a que você estenderá ao concluir este tutorial.

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

  1. No console IBM Cloud, clique em Manage > Catalogs > Private catalogs e abra o catálogo privado Example Corp catalog.
  2. Selecione a infraestrutura da Example Corp na lista de produtos.
  3. Clique em Versões > Adicionar versão
  4. Selecione Terraform como o método de entrega.
  5. 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.
  6. Selecione Implantar o aplicativo Example Corp AI em IBM Cloud Code Engine como a variação.
  7. Digite 0.0.2 para obter a versão do software.
  8. 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:

  1. Na Etapa 3 - Estender sua arquitetura, clique em Adicionar.

  2. No menu Product (Produto ), pesquise Cloud automation for Databases for Elasticsearch e selecione-o.

  3. 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 para 1.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.

  4. Selecione a variação padrão.

  5. Especifique padrão como a variação padrão, que é a variação selecionada para os usuários por padrão.

  6. Selecione Opcional no menu Relationship (Relacionamento), pois a arquitetura não é necessária para implementar o Example Corp's infrastructure.

  7. (Opcional) forneça uma descrição de exibição para ajudar os usuários a entender como essa arquitetura funciona com Example Corp's infrastructure e quais benefícios ela oferece. Por exemplo, insira NoSQL database for full-text searching and querying large datasets.

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

  1. Na Etapa 3 - Estender sua arquitetura, marque a caixa de seleção Automação da nuvem para Databases for Elasticsearch.
  2. Marque a caixa de seleção da automação da nuvem para Databases for PostgreSQL.
  3. Clique em Group as swappable.
  4. Digite Databases como o nome do grupo e clique em Add (Adicionar ).
  5. 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.

  1. 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 infrastructure para que os usuários possam configurá-las.

  2. Quando o site Example Corp's infrastructure foi 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 que Example Corp's infrastructure, adicione uma referência para conectá-los, executando as etapas a seguir:

    1. Na janela Required inputs for Cloud automation for Databases for Elasticsearch, selecione o ícone Referenciar uma variável Referenciar uma variável ícone for the region input.
    2. Em seguida, selecione region no menu Variable name (Nome da variável ).
    3. Clique em Incluir. Quando um usuário configurar a entrada region em Example Corp's infrastructure, a automação da nuvem para Databases for Elasticsearch usará o valor que o usuário fornecer como entrada.
  3. Como o site Example Corp's infrastructure também contém uma entrada prefix, conclua as mesmas etapas para a entrada prefix na automação da nuvem para Databases for Elasticsearch:

    1. Selecione o ícone Referência a uma variável Referência a um ícone de variável para a entrada prefix.
    2. Em seguida, selecione prefixo no menu Nome da variável.
    3. Clique em Incluir.
  4. Como o site Example Corp's infrastructure contém uma entrada para o site existing_resource_group_name, você pode usar esse mesmo grupo de recursos para a automação da nuvem para o site Databases for Elasticsearch:

    1. Selecione o ícone Referência a uma variável Referência a um ícone de variável para a entrada resource_group_name.
    2. Em seguida, selecione existing_resource_group_name no menu Variable name (Nome da variável ).
    3. Clique em Incluir.
  5. Defina o valor padrão de use_existing_resource_group como true para indicar que seus usuários precisam de um grupo de recursos existente para sua arquitetura.

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

    1. Defina o valor padrão de existing_kms_instance_crn como __NULL__.
    2. Clique em Entradas opcionais.
    3. Defina o valor padrão de use_ibm_owned_encryption_key como true.
    4. Defina o valor padrão de plan como enterprise.
    5. Defina o valor padrão de member_cpu_count como 2.
    6. Defina o valor padrão de member_host_flavor como multitenant.

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:

  1. 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.
  2. Clique em Required inputs e remova o requisito de criptografia de chave definindo o valor padrão de existing_kms_instance_crn como __NULL__.
  3. 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:
    1. Selecione o ícone Referência a uma variável Referência a um ícone de variável para resource_group_name e, em seguida, selecione nome_do_grupo_de_recursos_existente no menu Nome da variável. Clique em Add (Adicionar ) e a entrada resource_group_name na automação da nuvem para Databases for PostgreSQL fará referência ao valor existing_resource_group_name da infraestrutura da Example Corp que o usuário fornecer.
    2. Selecione o ícone Referenciar uma variável  Referenciar uma variável ícone para prefix e selecione prefixo no menu Nome da variável e clique em Adicionar.
    3. Selecione o ícone Referência a uma variável Referência a um ícone de variável para region e selecione região no menu Nome da variável e clique em Adicionar.
  4. Clique em Entradas opcionais.
  5. Defina o valor padrão de use_existing_resource_group como true para indicar que seus usuários precisam de um grupo de recursos existente para sua arquitetura.
  6. Defina o valor padrão de use_ibm_owned_encryption_key como true.
  7. 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:

  1. Na Etapa 6 - Adicionar avisos de alteração, clique em Adicionar novo recurso.
  2. No campo Title (Título ), digite Database options added to Example Corp's infrastructure.
  3. 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.
  4. 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

  1. Acesse o catálogo IBM Cloud e abra o catálogo privado Example Corp catalog.

  2. Selecione a infraestrutura da Example Corp para abrir sua listagem de catálogo.

  3. Certifique-se de que a versão 0.0.2 selecionada seja.

  4. Clique em Criar projeto, nomeie o novo projeto Testing Example Corp infrastructure e clique em Criar.

  5. Clique no ícone Configurações do, altere o nome da configuração para Example Corp infrastructure with Elasticsearch e clique em Salvar.

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

  7. Clique em Configurar e implementar.

  8. Configure a arquitetura concluindo as etapas a seguir:

    1. Na seção Detalhes, revise as informações e clique em Avançar.
    2. 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.
    3. Na seção Entradas, digite test-south como o valor da variável de entrada prefix.
    4. Selecione Default (Padrão ) para a variável de entrada existing_resource_group_name.
    5. Selecione us-south para a variável de entrada region.
    6. Clique em Save para salvar a configuração de Example Corp's infrastructure.
  9. 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.

  10. Após a conclusão da validação, aprove e implemente as alterações:

    1. No projeto Testing Example Corp infrastructure, selecione a guia Configurações.
    2. Clique em Example Corp infrastructure with Elasticsearch > Exibir detalhes para visualizar a última validação e aprovar as alterações.
    3. Adicione um comentário com mais detalhes sobre a aprovação e clique em Aprovar.
  11. 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 infrastructure funciona como Elasticsearch pretendido.

  12. Por fim, cancele a implantação dos recursos criados pelas arquiteturas. Na guia Configurações do projeto, clique no ícone Opções Ícone de 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:

  1. Na guia Configurations (Configurações) do projeto Testing Example Corp infrastructure, clique em Create (Criar ) e abra o catálogo privado Example Corp catalog.

  2. Selecione a infraestrutura da Example Corp para abrir sua listagem de catálogo.

  3. Certifique-se de que a versão 0.0.2 selecionada seja.

  4. Certifique-se de que a infraestrutura do Testing Example Corp esteja selecionada como o projeto.

  5. Clique no ícone Configurações do, altere o nome da configuração para Example Corp infrastructure with PostgreSQL e clique em Salvar.

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

  7. Clique em Configurar e implementar.

  8. Configure a arquitetura. Em seguida, valide, aprove e implemente-o para verificar se o Example Corp's infrastructure funciona com o PostgreSQL conforme pretendido.

    Ao configurar a arquitetura, selecione us-east para a variável de entrada region para confirmar que a arquitetura pode ser implantada nas regiões sul e leste dos EUA. Digite test-east como o prefixo para indicar em qual região os recursos estão implantados.

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