Aggiunta di opzioni personalizzabili all'architettura distribuibile

Questa esercitazione illustra un modo per estendere un'architettura distribuibile con opzioni personalizzabili per soddisfare le esigenze aziendali. Completate questa esercitazione per imparare a creare una nuova versione di un'architettura distribuibile esistente nel vostro catalogo privato e impilare con essa altre architetture che gli utenti possono scegliere di includere.

Immaginate di essere un professionista dell'ingegneria dell'automazione del cloud per l'azienda fittizia Example Corp. In precedenza è stata personalizzata un'architettura distribuibile chiamata Example Corp's infrastructure e aggiunta a un catalogo privato. Questa architettura distribuibile personalizzata è la base su cui verranno costruite le applicazioni di Example Corp. Ora, si vuole dare agli sviluppatori del software alcune opzioni di database da utilizzare con Example Corp's infrastructure. Dopo aver sfogliato il catalogo di IBM Cloud, si decide di dare agli sviluppatori la possibilità di scegliere tra due architetture distribuibili che creano database diversi:

Automazione in cloud per Databases for Elasticsearch
Questa architettura implementabile crea un'istanza di Elasticsearch, che è un database NoSQL adatto alla ricerca full-text e all'interrogazione di grandi insiemi di dati. Questo database è la scelta giusta per l'applicazione di Example Corp, in quanto è abbastanza flessibile da elaborare dati non strutturati e semi-strutturati come testo, immagini e video. Questa esercitazione è stata creata sulla base della versione 1.32 dell'architettura distribuibile, ma è possibile utilizzare una versione successiva, se lo si desidera.
Automazione in cloud per Databases for PostgreSQL
Questa architettura implementabile crea un'istanza di PostgreSQL, un database SQL per query relazionali e dati strutturati. Questo database è un'altra scelta adatta per Example Corp, in quanto gestisce dati transazionali strutturati per offrire esperienze personalizzate agli utenti. Questa esercitazione è stata creata sulla base della versione 3.22, ma è possibile utilizzare una versione successiva se lo si desidera.

Questa esercitazione utilizza uno scenario fittizio per aiutarvi a capire come creare un'architettura distribuibile più complessa sovrapponendola ad altre architetture. Nel completare l'esercitazione, adattate ogni fase alle esigenze della vostra organizzazione.

Prima di iniziare

  1. Verificare che si stia utilizzando un account Pay-As-You-Go o Subscription andando su Gestione > Account > Impostazioni account nella console IBM Cloud.

  2. Verificare che siano stati assegnati i seguenti ruoli IBM Cloud Identity and Access Management (IAM):

    • Amministratore di tutti i servizi di gestione degli account e di tutti i servizi IAM.
    • Editor sul servizio Gestione catalogo.
    • Ruolo di accesso al servizio Manager per Schematics.
    • Altri ruoli richiesti per risorse specifiche nell'architettura distribuibile. L'automazione del cloud per Code Engine richiede il ruolo di accesso al servizio Writer, che ha lo scopo di accedere a tutte le risorse del servizio Code Engine.

    Per ulteriori informazioni, consultare Assegnazione dell'accesso ai servizi di gestione degli account e Gestione dell'accesso alle risorse.

  3. Creare un'architettura distribuibile personalizzata chiamata Example Corp's infrastructure e inserirla in un catalogo privato chiamato Example Corp catalog. Questa architettura è quella che verrà estesa nel corso di questa esercitazione.

  4. Impostare un metodo di autenticazione. È possibile utilizzare una chiave API memorizzata in Secrets Manager o un profilo attendibile per autorizzare un'installazione client all'account di destinazione.

    Implementare un proof of concept a scopo di test? È possibile creare una chiave API in un secondo momento, quando si modifica una configurazione nel progetto. In questo modo si autorizza il progetto a distribuire all'account attualmente selezionato.

Creare una versione di un'architettura distribuibile

Poiché Example Corp's infrastructure è già disponibile in un catalogo privato, è necessario aggiornarlo con una nuova versione.

  1. Nella console IBM Cloud, fare clic su Gestione > Cataloghi > Cataloghi privati e aprire il catalogo privato Example Corp catalog.
  2. Selezionare l'infrastruttura di Example Corp dall'elenco dei prodotti.
  3. Fare clic su Versioni > Aggiungi versione
  4. Selezionare Terraform come metodo di consegna.
  5. Specificare se il repository è pubblico o privato e fornire il sorgente URL. Per gli scopi di questa esercitazione, si può usare lo stesso sorgente URL che è stato usato per la versione 0.0.1 di Example Corp's infrastructure.
  6. Selezionare Deploy Example Corp AI app su IBM Cloud Code Engine come variante.
  7. Inserire 0.0.2 per la versione del software.
  8. Fare clic su Aggiungi versione

Da qui è possibile configurare i dettagli della versione aggiunta.

Estensione dell'infrastruttura di Example Corp con l'aggiunta di opzioni di database

Mentre si configurano i dettagli della versione, si può estendere Example Corp's infrastructure impilandolo con altre due architetture distribuibili che creano database diversi. Si vuole che gli utenti scelgano IBM Cloud Databases for Elasticsearch o IBM Cloud Databases for PostgreSQL. Completa i seguenti passi:

  1. Al punto 3 - Estensione dell'architettura, fare clic su Aggiungi.

  2. Nel menu Prodotti, cercate Cloud automation for Databases for Elasticsearch e selezionatelo.

  3. User Semantic Versioning Specification ( SemVer ) per elencare le versioni dell'architettura che funzionano con l'infrastruttura di Example Corp.

    In genere, le versioni patch non contengono modifiche sostanziali, quindi è possibile utilizzare SemVer per specificare un intervallo di versioni compatibili con l'infrastruttura di Example Corp, ad esempio ~1.32. In questo modo, se l'automazione Cloud per Databases for Elasticsearch viene aggiornata con una versione patch a 1.32.5, ad esempio, qualsiasi utente che ha implementato Example Corps con Elasticsearch può aggiornare il proprio progetto per utilizzare la nuova versione. Per modifiche significative alla versione Elasticsearch, creare una nuova versione dell'infrastruttura di Example Corp per assicurarsi che la nuova Elasticsearch versione funzioni correttamente con la propria architettura.

  4. Selezionare la variante Standard.

  5. Specificare Standard come variante predefinita, ovvero la variante che viene selezionata per gli utenti per impostazione predefinita.

  6. Selezionare Opzionale dal menu Relazioni, poiché l'architettura non è necessaria per distribuire Example Corp's infrastructure.

  7. (facoltativo) fornire una descrizione del display per aiutare gli utenti a capire come funziona questa architettura con Example Corp's infrastructure e quali vantaggi offre. Ad esempio, inserire NoSQL database for full-text searching and querying large datasets.

  8. Fai clic su Aggiungi.

Ora che è stata aggiunta l'automazione Cloud per Databases for Elasticsearch, ripetere nuovamente i passaggi ma questa volta cercare Cloud automation for Databases for PostgreSQL. Per la descrizione opzionale del display, immettere SQL database for relational queries and structured data.

Rendere i database intercambiabili tra loro

Ora che entrambi i database sono stati aggiunti come opzionali a Example Corp's infrastructure, si può specificare che sono scambiabili tra loro. Gli utenti possono selezionare l'opzione di database che desiderano utilizzare con Example Corp's infrastructure. Completa i seguenti passi:

  1. Al punto 3 - Estensione dell'architettura, selezionare la casella di controllo per l'automazione del cloud per Databases for Elasticsearch.
  2. Selezionare la casella di controllo per l'automazione del cloud per Databases for PostgreSQL.
  3. Fare clic su Raggruppa come intercambiabile.
  4. Inserire Databases come nome del gruppo e fare clic su Aggiungi.
  5. Fai clic su Next.

Definire le variabili per gli utenti

Ora che sono state aggiunte alcune opzioni del database all'architettura, è necessario definire le variabili per gli utenti. In questo modo si collegano insieme gli ingressi delle architetture, facilitando agli utenti la configurazione di Example Corp's infrastructure per la distribuzione.

  1. Dal Passo 4 - Configurazione dei dettagli dell'installazione client, fare clic su Definisci variabili.

    La finestra Definisci variabili viene visualizzata con Automazione cloud per Databases for Elasticsearch selezionata per te, in modo da poter accedere agli input e agli output di tale architettura. Da qui è possibile aggiungere riferimenti o spostare gli ingressi in Example Corp's infrastructure, in modo che gli utenti possano configurarli.

  2. Quando è stato creato Example Corp's infrastructure, la regione era limitata agli Stati Uniti. Per assicurarsi che l'automazione Cloud per Databases for Elasticsearch utilizzi la stessa regione di Example Corp's infrastructure, aggiungere un riferimento per collegarli insieme completando i seguenti passaggi:

    1. Nella finestra Ingressi richiesti per l'automazione Cloud per Databases for Elasticsearch, selezionare l'icona Riferimento a una variabile Icona Riferimento a una variabile per l'ingresso region.
    2. Quindi, selezionare regione nel menu Nome variabile.
    3. Fai clic su Aggiungi. Quando un utente configura l'ingresso region in Example Corp's infrastructure, l'automazione Cloud per Databases for Elasticsearch utilizzerà il valore fornito dall'utente come ingresso.
  3. Poiché Example Corp's infrastructure contiene anche un ingresso prefix, completare gli stessi passaggi per l'ingresso prefix nell'automazione Cloud per Databases for Elasticsearch:

    1. Selezionare l'icona Riferimento a una variabile Icona Riferimento a una variabile per l'ingresso prefix.
    2. Quindi, selezionare prefisso nel menu Nome variabile.
    3. Fai clic su Aggiungi.
  4. Poiché Example Corp's infrastructure contiene un input per existing_resource_group_name, è possibile utilizzare lo stesso gruppo di risorse per l'automazione Cloud per Databases for Elasticsearch:

    1. Selezionare l'icona Riferimento a una variabile Icona Riferimento a una variabile per l'ingresso resource_group_name.
    2. Quindi, selezionare nome_gruppo_risorse_esistente nel menu Nome variabile.
    3. Fai clic su Aggiungi.
  5. Impostate il valore predefinito di use_existing_resource_group su true per indicare che gli utenti hanno bisogno di un gruppo di risorse esistente per la vostra architettura.

  6. Per semplificare la configurazione e ridurre i costi di un ambiente di sviluppo, è possibile rimuovere il requisito di crittografia della chiave completando i seguenti passaggi:

    1. Impostare il valore predefinito per existing_kms_instance_crn su __NULL__.
    2. Fare clic su Ingressi facoltativi.
    3. Impostare il valore predefinito per use_ibm_owned_encryption_key su true.
    4. Impostare il valore predefinito per plan su enterprise.
    5. Impostare il valore predefinito per member_cpu_count su 2.
    6. Impostare il valore predefinito per member_host_flavor su multitenant.

Ora che sono state definite le variabili per la Cloud automation per Databases for Elasticsearch, è necessario definire le variabili per l'altra opzione di database inclusa: Cloud automation per Databases for PostgreSQL. Completa i seguenti passi:

  1. Nella finestra Definizione delle variabili, utilizzare il menu Architettura per passare da Automazione cloud per Databases for Elasticsearch a Automazione cloud per Databases for PostgreSQL.
  2. Fare clic su Input richiesti e rimuovere il requisito di crittografia della chiave impostando il valore predefinito per existing_kms_instance_crn su __NULL__.
  3. Gli altri tre ingressi richiesti in questa architettura possono tutti fare riferimento a ingressi già disponibili in Example Corp's infrastructure. Completate i passaggi seguenti per aggiungere i riferimenti a questi ingressi:
    1. Selezionare l'icona Riferimento a una variabile Icona Riferimento a una variabile per resource_group_name, quindi selezionare nome_gruppo_risorse_esistente dal menu Nome variabile. Fare clic su Aggiungi e l'input resource_group_name all'interno dell'automazione Cloud per Databases for PostgreSQL farà riferimento al valore existing_resource_group_name dell'infrastruttura di Example Corp fornito dall'utente.
    2. Selezionare l'icona Riferimento a una variabile Icona Riferimento a una variabile per prefix e selezionare prefisso dal menu Nome variabile e fare clic su Aggiungi.
    3. Selezionare l'icona Riferimento a una variabile Icona Riferimento a una variabile per region e selezionare Regione dal menu Nome variabile e fare clic su Aggiungi.
  4. Fare clic su Ingressi facoltativi.
  5. Impostate il valore predefinito di use_existing_resource_group su true per indicare che gli utenti hanno bisogno di un gruppo di risorse esistente per la vostra architettura.
  6. Impostare il valore predefinito per use_ibm_owned_encryption_key su true.
  7. Fare clic su Salva.

Comunicare le modifiche agli utenti

L'ultima versione di Example Corp's infrastructure non contiene cambiamenti radicali, ma include nuove funzionalità che gli utenti devono conoscere. Per informare gli utenti delle nuove opzioni di database che possono utilizzare con Example Corp's infrastructure, aggiungete un avviso di modifica. Completa i seguenti passi:

  1. Al punto 6 - Aggiungi avvisi di modifica, fare clic su Aggiungi nuova funzione.
  2. Nel campo Titolo, inserire Database options added to Example Corp's infrastructure.
  3. Per la Descrizione, inserire 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. Fare clic su Salva.

Dal menu Azioni, selezionare Genera manifesto per scaricare le ultime modifiche. È buona norma scaricare i file e aggiungerli al proprio repository di codice sorgente, in modo che le modifiche vengano riportate nella prossima release.

Convalidare le architetture distribuendole da un progetto

Ora la versione 0.0.2 di Example Corp's infrastructure è disponibile come bozza nel vostro catalogo privato. Qualsiasi utente con accesso al catalogo privato può distribuirlo. Per assicurarsi che le opzioni del database funzionino con Example Corp's infrastructure, distribuirlo due volte dal progetto. Per una distribuzione, includere Elasticsearch. E, per l'altra distribuzione, includere PostgreSQL. Distribuendo l'architettura due volte, si verifica che entrambe le opzioni di database funzionino con Example Corp's infrastructure come previsto.

Prima di poter condividere Example Corp's infrastructure con la vostra azienda, dovete convalidare la versione mentre la inserite nel vostro catalogo privato. Attualmente, la convalida della versione nel catalogo non convalida le architetture impilate con la propria. Distribuire le architetture da un progetto mentre Example Corp's infrastructure è in uno stato di bozza nel catalogo privato aiuta a garantire che le architetture incluse funzionino correttamente con Example Corp's infrastructure.

Implementare l'infrastruttura di Example Corp con Elasticsearch

  1. Accedere al catalogo IBM Cloud e aprire il catalogo privato Example Corp catalog.

  2. Selezionate l'infrastruttura di Example Corp per aprire il suo catalogo.

  3. Assicurati che 0.0.2 sia selezionato come versione.

  4. Fai clic su Crea progetto, assegna un nome al nuovo progetto Testing Example Corp infrastructure e fai clic su Crea.

  5. Fare clic sull'icona Impostazioni progetto Impostazioni, modificare il nome della configurazione in Example Corp infrastructure with Elasticsearch e fare clic su Salva.

  6. Nella sezione Panoramica dell'architettura distribuibile, fai clic su Personalizza, assicurati che Automazione cloud per Databases for Elasticsearch sia selezionato, quindi fai clic su Salva.

  7. Fare clic su Configura e distribuisci.

  8. Configurare l'architettura completando i seguenti passaggi:

    1. Nella sezione Dettagli, verificare le informazioni e fare clic su Avanti.
    2. Nella sezione Sicurezza, fornire un metodo di autenticazione da distribuire all'account di destinazione e fare clic su Avanti. Utilizzare un profilo affidabile o una chiave API.
    3. Nella sezione Ingressi, inserire test-south come valore della variabile di input prefix.
    4. Selezionare Default per la variabile di input existing_resource_group_name.
    5. Selezionare us-south per la variabile di input region.
    6. Fare clic su Salva per salvare la configurazione di Example Corp's infrastructure.
  9. Fare clic su Convalida. La finestra di dialogo visualizzata fornisce ulteriori dettagli sulla convalida in corso.

    Se la convalida non riesce, è possibile risolvere il problema. In alternativa, un amministratore del servizio IBM Cloud Progetti può esaminare i risultati attraverso il servizio Schematics, annullare il fallimento e approvare la configurazione da distribuire comunque. Tuttavia, assicuratevi che la pipeline sia fallita a causa della scansione di Code Risk Analyzer e non a causa di un errore di convalida o di piano. Non è consigliabile sovrascrivere un errore segnalato a causa di un errore di convalida o di pianificazione, poiché la configurazione non può essere distribuita con successo. Per ulteriori informazioni sulla sicurezza e la conformità nei progetti, vedere Raggiungere la conformità continua come impresa.

  10. Al termine della convalida, approvare e distribuire le modifiche:

    1. Dal progetto Testing Example Corp infrastructure, selezionare la scheda Configurazioni.
    2. Fare clic su Example Corp infrastructure with Elasticsearch > Visualizza dettagli per visualizzare l'ultima convalida e approvare le modifiche.
    3. Aggiungere un commento con ulteriori dettagli sull'approvazione e fare clic su Approva.
  11. Fare clic su Deploy e attendere il completamento della distribuzione.

    Se l'implementazione ha avuto esito positivo, allora sai che Example Corp's infrastructure funziona con Elasticsearch come previsto.

  12. Infine, si possono disinstallare le risorse create dalle architetture. Nella scheda Configurazioni del progetto, fare clic sull'icona Opzioni Icona Opzioni per Example Corp infrastructure with Elasticsearch > Undeploy.

Implementare l'infrastruttura di Example Corp con PostgreSQL

Completate gli stessi passi per verificare che Example Corp's infrastructure funzioni con PostgreSQL:

  1. Nella scheda Configurazioni del progetto Testing Example Corp infrastructure, fare clic su Crea e aprire il catalogo privato Example Corp catalog.

  2. Selezionate l'infrastruttura di Example Corp per aprire il suo catalogo.

  3. Assicurati che 0.0.2 sia selezionato come versione.

  4. Assicurarsi che l'infrastruttura Testing Example Corp sia selezionata come progetto.

  5. Fare clic sull'icona Impostazioni progetto Impostazioni, modificare il nome della configurazione in Example Corp infrastructure with PostgreSQL e fare clic su Salva.

  6. Nella sezione Panoramica dell'architettura implementabile, fare clic su Personalizza, assicurarsi che sia selezionata l'opzione Databases for PostgreSQL Automazione cloud per e fare clic su Salva.

  7. Fare clic su Configura e distribuisci.

  8. Configurare l'architettura. Quindi, convalidare, approvare e distribuire per verificare che Example Corp's infrastructure funzioni con PostgreSQL come previsto.

    Durante la configurazione dell'architettura, selezionare us-east per la variabile di input region per confermare che l'architettura può essere distribuita sia nelle regioni del sud che dell'est degli Stati Uniti. Inserire test-east come prefisso per indicare la regione in cui sono distribuite le risorse.

  9. Dispiegare le configurazioni dal progetto per dispiegare le risorse.

Passi successivi

Continuare l'onboarding dell'ultima versione di Example Corp's infrastructure. Al termine, una nuova versione dell'architettura distribuibile è disponibile per gli utenti. Quando aggiungono la nuova versione a un progetto, possono personalizzarla includendo l'automazione Cloud per Databases for Elasticsearch o l'automazione Cloud per Databases for PostgreSQL.

Se un utente ha già distribuito la versione precedente di Example Corp's infrastructure, nel suo progetto gli viene richiesto di aggiornare l'architettura alla versione più recente con il widget Attenzione alle esigenze.