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
-
Verificare che si stia utilizzando un account Pay-As-You-Go o Subscription andando su Gestione > Account > Impostazioni account nella console IBM Cloud.
-
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.
-
Creare un'architettura distribuibile personalizzata chiamata
Example Corp's infrastructuree inserirla in un catalogo privato chiamatoExample Corp catalog. Questa architettura è quella che verrà estesa nel corso di questa esercitazione. -
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.
- Nella console IBM Cloud, fare clic su Gestione > Cataloghi > Cataloghi privati e aprire il catalogo privato
Example Corp catalog. - Selezionare l'infrastruttura di Example Corp dall'elenco dei prodotti.
- Fare clic su Versioni > Aggiungi versione
- Selezionare Terraform come metodo di consegna.
- 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. - Selezionare Deploy Example Corp AI app su IBM Cloud Code Engine come variante.
- Inserire
0.0.2per la versione del software. - 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:
-
Al punto 3 - Estensione dell'architettura, fare clic su Aggiungi.
-
Nel menu Prodotti, cercate
Cloud automation for Databases for Elasticsearche selezionatelo. -
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 a1.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. -
Selezionare la variante Standard.
-
Specificare Standard come variante predefinita, ovvero la variante che viene selezionata per gli utenti per impostazione predefinita.
-
Selezionare Opzionale dal menu Relazioni, poiché l'architettura non è necessaria per distribuire
Example Corp's infrastructure. -
(facoltativo) fornire una descrizione del display per aiutare gli utenti a capire come funziona questa architettura con
Example Corp's infrastructuree quali vantaggi offre. Ad esempio, inserireNoSQL database for full-text searching and querying large datasets. -
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:
- Al punto 3 - Estensione dell'architettura, selezionare la casella di controllo per l'automazione del cloud per Databases for Elasticsearch.
- Selezionare la casella di controllo per l'automazione del cloud per Databases for PostgreSQL.
- Fare clic su Raggruppa come intercambiabile.
- Inserire
Databasescome nome del gruppo e fare clic su Aggiungi. - 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.
-
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. -
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 diExample Corp's infrastructure, aggiungere un riferimento per collegarli insieme completando i seguenti passaggi:- Nella finestra Ingressi richiesti per l'automazione Cloud per Databases for Elasticsearch, selezionare l'icona Riferimento a una variabile
per l'ingresso
region. - Quindi, selezionare regione nel menu Nome variabile.
- Fai clic su Aggiungi. Quando un utente configura l'ingresso
regioninExample Corp's infrastructure, l'automazione Cloud per Databases for Elasticsearch utilizzerà il valore fornito dall'utente come ingresso.
- Nella finestra Ingressi richiesti per l'automazione Cloud per Databases for Elasticsearch, selezionare l'icona Riferimento a una variabile
-
Poiché
Example Corp's infrastructurecontiene anche un ingressoprefix, completare gli stessi passaggi per l'ingressoprefixnell'automazione Cloud per Databases for Elasticsearch:- Selezionare l'icona Riferimento a una variabile
per l'ingresso
prefix. - Quindi, selezionare prefisso nel menu Nome variabile.
- Fai clic su Aggiungi.
- Selezionare l'icona Riferimento a una variabile
-
Poiché
Example Corp's infrastructurecontiene un input perexisting_resource_group_name, è possibile utilizzare lo stesso gruppo di risorse per l'automazione Cloud per Databases for Elasticsearch:- Selezionare l'icona Riferimento a una variabile
per l'ingresso
resource_group_name. - Quindi, selezionare nome_gruppo_risorse_esistente nel menu Nome variabile.
- Fai clic su Aggiungi.
- Selezionare l'icona Riferimento a una variabile
-
Impostate il valore predefinito di
use_existing_resource_groupsu true per indicare che gli utenti hanno bisogno di un gruppo di risorse esistente per la vostra architettura. -
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:
- Impostare il valore predefinito per
existing_kms_instance_crnsu__NULL__. - Fare clic su Ingressi facoltativi.
- Impostare il valore predefinito per
use_ibm_owned_encryption_keysu true. - Impostare il valore predefinito per
plansuenterprise. - Impostare il valore predefinito per
member_cpu_countsu2. - Impostare il valore predefinito per
member_host_flavorsumultitenant.
- Impostare il valore predefinito per
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:
- 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.
- Fare clic su Input richiesti e rimuovere il requisito di crittografia della chiave impostando il valore predefinito per
existing_kms_instance_crnsu__NULL__. - 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:- Selezionare l'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'inputresource_group_nameall'interno dell'automazione Cloud per Databases for PostgreSQL farà riferimento al valoreexisting_resource_group_namedell'infrastruttura di Example Corp fornito dall'utente. - Selezionare l'icona Riferimento a una variabile
per
prefixe selezionare prefisso dal menu Nome variabile e fare clic su Aggiungi. - Selezionare l'icona Riferimento a una variabile
per
regione selezionare Regione dal menu Nome variabile e fare clic su Aggiungi.
- Selezionare l'icona Riferimento a una variabile
- Fare clic su Ingressi facoltativi.
- Impostate il valore predefinito di
use_existing_resource_groupsu true per indicare che gli utenti hanno bisogno di un gruppo di risorse esistente per la vostra architettura. - Impostare il valore predefinito per
use_ibm_owned_encryption_keysu true. - 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:
- Al punto 6 - Aggiungi avvisi di modifica, fare clic su Aggiungi nuova funzione.
- Nel campo Titolo, inserire
Database options added to Example Corp's infrastructure. - 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. - 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
-
Accedere al catalogo IBM Cloud e aprire il catalogo privato
Example Corp catalog. -
Selezionate l'infrastruttura di Example Corp per aprire il suo catalogo.
-
Assicurati che 0.0.2 sia selezionato come versione.
-
Fai clic su Crea progetto, assegna un nome al nuovo progetto
Testing Example Corp infrastructuree fai clic su Crea. -
Fare clic sull'icona Impostazioni
, modificare il nome della configurazione in
Example Corp infrastructure with Elasticsearche fare clic su Salva. -
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.
-
Fare clic su Configura e distribuisci.
-
Configurare l'architettura completando i seguenti passaggi:
- Nella sezione Dettagli, verificare le informazioni e fare clic su Avanti.
- 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.
- Nella sezione Ingressi, inserire
test-southcome valore della variabile di inputprefix. - Selezionare Default per la variabile di input
existing_resource_group_name. - Selezionare us-south per la variabile di input
region. - Fare clic su Salva per salvare la configurazione di
Example Corp's infrastructure.
-
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.
-
Al termine della convalida, approvare e distribuire le modifiche:
- Dal progetto
Testing Example Corp infrastructure, selezionare la scheda Configurazioni. - Fare clic su
Example Corp infrastructure with Elasticsearch> Visualizza dettagli per visualizzare l'ultima convalida e approvare le modifiche. - Aggiungere un commento con ulteriori dettagli sull'approvazione e fare clic su Approva.
- Dal progetto
-
Fare clic su Deploy e attendere il completamento della distribuzione.
Se l'implementazione ha avuto esito positivo, allora sai che
Example Corp's infrastructurefunziona con Elasticsearch come previsto. -
Infine, si possono disinstallare le risorse create dalle architetture. Nella scheda Configurazioni del progetto, fare clic sull'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:
-
Nella scheda Configurazioni del progetto
Testing Example Corp infrastructure, fare clic su Crea e aprire il catalogo privatoExample Corp catalog. -
Selezionate l'infrastruttura di Example Corp per aprire il suo catalogo.
-
Assicurati che 0.0.2 sia selezionato come versione.
-
Assicurarsi che l'infrastruttura Testing Example Corp sia selezionata come progetto.
-
Fare clic sull'icona Impostazioni
, modificare il nome della configurazione in
Example Corp infrastructure with PostgreSQLe fare clic su Salva. -
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.
-
Fare clic su Configura e distribuisci.
-
Configurare l'architettura. Quindi, convalidare, approvare e distribuire per verificare che
Example Corp's infrastructurefunzioni con PostgreSQL come previsto.Durante la configurazione dell'architettura, selezionare us-east per la variabile di input
regionper confermare che l'architettura può essere distribuita sia nelle regioni del sud che dell'est degli Stati Uniti. Inseriretest-eastcome prefisso per indicare la regione in cui sono distribuite le risorse. -
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.