Añadir opciones personalizables a su arquitectura desplegable
Este tutorial le guiará a través de una forma de ampliar una arquitectura desplegable con opciones personalizables que se adapten a sus necesidades empresariales. Complete este tutorial para aprender a crear una nueva versión de una arquitectura desplegable existente en su catálogo privado y apilar con ella otras arquitecturas que los usuarios puedan elegir incluir.
Imagina que eres un profesional de la ingeniería de automatización de la nube para la empresa ficticia Example Corp. Previamente ha personalizado una arquitectura desplegable que se llama Example Corp's infrastructure y la ha añadido a un catálogo privado. Esa arquitectura desplegable personalizada es la base sobre la que se construirán las aplicaciones de Example Corp. Ahora, usted quiere dar a sus
desarrolladores de software algunas opciones de base de datos para utilizar con Example Corp's infrastructure. Después de examinar el catálogo IBM Cloud, decide dar a sus desarrolladores la posibilidad de elegir entre dos arquitecturas
desplegables que crean bases de datos diferentes:
- Automatización en la nube para Databases for Elasticsearch
- Esta arquitectura desplegable crea una instancia de Elasticsearch, que es una base de datos NoSQL adecuada para la búsqueda de texto completo y la consulta de grandes conjuntos de datos. Esta base de datos es una opción adecuada para la aplicación de Example Corp, ya que es lo suficientemente flexible como para procesar datos no estructurados y semiestructurados como texto, imágenes y vídeo. Este tutorial se creó basándose en la versión 1.32 de la arquitectura desplegable, pero puede utilizar una versión posterior si lo desea.
- Automatización en la nube para Databases for PostgreSQL
- Esta arquitectura desplegable crea una instancia de PostgreSQL, que es una base de datos SQL para consultas relacionales y datos estructurados. Esta base de datos es otra opción adecuada para Example Corp, ya que gestiona datos transaccionales estructurados para ofrecer experiencias de aplicación personalizadas a los usuarios. Este tutorial se creó basándose en la versión 3.22, pero puede utilizar una versión posterior si lo desea.
Este tutorial utiliza un escenario ficticio para ayudarle a entender cómo crear una arquitectura desplegable más compleja apilándola con otras arquitecturas. A medida que completes el tutorial, adapta cada paso a las necesidades de tu organización.
Antes de empezar
-
Verifique que está utilizando una cuenta de Pago según uso o Suscripción yendo a Gestionar > Cuenta > Valores de la cuenta en la consola de IBM Cloud.
-
Compruebe que tiene asignadas las siguientes funciones de IBM Cloud Identity and Access Management (IAM):
- Administrador en todos los servicios de gestión de cuentas y todos los servicios IAM.
- Editor en el servicio de Gestión de Catálogos.
- Función de acceso al servicio de administrador para Schematics.
- Otros roles que se requieren para recursos específicos en su arquitectura desplegable. La automatización en la nube para Code Engine requiere la función de acceso al servicio Writer, que se aplica a todos los recursos del servicio Code Engine.
Para más información, consulte Asignación de acceso a los servicios de gestión de cuentas y Gestión del acceso a los recursos.
-
Cree una arquitectura desplegable personalizada denominada
Example Corp's infrastructuree incorpórela a un catálogo privado denominadoExample Corp catalog. Esta arquitectura es la que irás ampliando a medida que completes este tutorial. -
Configure un método de autenticación. Puede utilizar una clave API almacenada en Secrets Manager o un perfil de confianza para autorizar una implantación en su cuenta de destino.
¿Despliegue de una prueba de concepto con fines de prueba? Puede crear una clave API más adelante, al editar una configuración en su proyecto. Al hacerlo, se autoriza el despliegue del proyecto en la cuenta seleccionada en ese momento.
Creación de una versión de una arquitectura desplegable
Dado que Example Corp's infrastructure ya está disponible en un catálogo privado, es necesario actualizarlo con una nueva versión.
- En la consola IBM Cloud, haga clic en Gestionar > Catálogos > Catálogos privados y abra el catálogo privado
Example Corp catalog. - Seleccione la infraestructura de Example Corp de la lista de productos.
- Haga clic en Versiones > Añadir versión
- Seleccione Terraform como método de entrega.
- Especifique si su repositorio es público o privado y proporcione la fuente URL. A efectos de este tutorial, puede utilizar la misma fuente URL que utilizó para incorporar la versión 0.0.1 de
Example Corp's infrastructure. - Seleccione Deploy Example Corp AI app en IBM Cloud Code Engine como la variación.
- Introduzca
0.0.2para la versión del software. - Haga clic en Añadir versión
Desde aquí, puede configurar los detalles de la versión que ha añadido.
Ampliación de la infraestructura de Example Corp añadiendo opciones de bases de datos
A medida que configure los detalles de la versión, amplíe Example Corp's infrastructure apilándola con otras dos arquitecturas desplegables que creen bases de datos diferentes. Quiere que sus usuarios elijan IBM Cloud Databases
for Elasticsearch o IBM Cloud Databases for PostgreSQL. Complete los pasossiguientes:
-
En el Paso 3 - Amplíe su arquitectura, haga clic en Añadir.
-
En el menú Producto, busque
Cloud automation for Databases for Elasticsearchy selecciónelo. -
User Semantic Versioning Specification ( SemVer ) para listar las versiones de la arquitectura que funcionan con la infraestructura de Example Corp.
Por lo general, las versiones de parche no contienen cambios importantes, por lo que puede utilizar SemVer para especificar un rango de versiones que sean compatibles con la infraestructura de Example Corp, por ejemplo
~1.32. De esta manera, si la automatización de Cloud para Databases for Elasticsearch se actualiza con una versión de parche a1.32.5, por ejemplo, cualquier usuario que haya implementado Example Corps con Elasticsearch puede actualizar su proyecto para utilizar la nueva versión. Para cambios importantes en la versión Elasticsearch, cree una nueva versión de la infraestructura de Example Corp para asegurarse de que la nueva Elasticsearch versión funcione correctamente con su arquitectura. -
Seleccione la variación Estándar.
-
Especifique Estándar como variación por defecto, que es la que se selecciona por defecto para los usuarios.
-
Seleccione Opcional en el menú Relación, ya que la arquitectura no es necesaria para desplegar
Example Corp's infrastructure. -
(Opcional) proporcione una descripción de la pantalla para ayudar a los usuarios a entender cómo funciona esta arquitectura con
Example Corp's infrastructurey qué ventajas ofrece. Por ejemplo, escribaNoSQL database for full-text searching and querying large datasets. -
Pulse Añadir.
Ahora que ha añadido Cloud automation para Databases for Elasticsearch, repita los pasos de nuevo pero esta vez, busque Cloud automation for Databases for PostgreSQL. Para la descripción opcional de la pantalla, introduzca SQL database for relational queries and structured data.
Hacer que las bases de datos sean intercambiables entre sí
Ahora que ha añadido ambas bases de datos como opcionales a Example Corp's infrastructure, puede especificar que sean intercambiables entre sí. Sus usuarios pueden seleccionar la opción de base de datos que desean utilizar con Example Corp's infrastructure.
Complete los pasossiguientes:
- En el Paso 3 - Amplíe su arquitectura, marque la casilla de automatización de la nube para Databases for Elasticsearch.
- Seleccione la casilla de verificación de Automatización en la nube para Databases for PostgreSQL.
- Haga clic en Agrupar como intercambiable.
- Introduzca
Databasescomo nombre del grupo y haga clic en Añadir. - Pulse Siguiente.
Defina variables para sus usuarios
Ahora que ha añadido algunas opciones de base de datos a su arquitectura, necesita definir variables para sus usuarios. Al hacerlo, las entradas de las arquitecturas se conectan entre sí, lo que facilita a sus usuarios la configuración de Example Corp's infrastructure para su despliegue.
-
En el Paso 4 - Configurar los detalles de despliegue, haga clic en Definir variables.
Aparecerá la ventana Definir variables con Automatización en la nube para Databases for Elasticsearch seleccionada para usted, de modo que pueda acceder a las entradas y salidas de esa arquitectura. Desde aquí, puede añadir referencias o mover entradas a
Example Corp's infrastructurepara que los usuarios puedan configurarlas. -
Cuando se creó
Example Corp's infrastructure, la región se limitaba a Estados Unidos. Para asegurarse de que Cloud automation para Databases for Elasticsearch utiliza la misma región queExample Corp's infrastructure, añada una referencia para conectarlos completando los siguientes pasos:- En la ventana Entradas necesarias para la automatización de la nube para Databases for Elasticsearch, seleccione el icono Referencia a una variable
para la entrada
region. - A continuación, seleccione región en el menú Nombre de la variable.
- Pulse Añadir. Cuando un usuario configura la entrada
regionenExample Corp's infrastructure, la automatización de Nube para Databases for Elasticsearch utilizará ese valor que el usuario proporciona como entrada.
- En la ventana Entradas necesarias para la automatización de la nube para Databases for Elasticsearch, seleccione el icono Referencia a una variable
-
Dado que
Example Corp's infrastructuretambién contiene una entradaprefix, complete los mismos pasos para la entradaprefixen Cloud automation para Databases for Elasticsearch:- Seleccione el Referenciar a una variable icono
para la
prefixaporte. - A continuación, seleccione prefijo en el menú Nombre de la variable.
- Pulse Añadir.
- Seleccione el Referenciar a una variable icono
-
Dado que
Example Corp's infrastructurecontiene una entrada paraexisting_resource_group_name, puede utilizar ese mismo grupo de recursos para la automatización de Nube para Databases for Elasticsearch:- Seleccione el Referenciar a una variable icono
para la
resource_group_nameaporte. - A continuación, seleccione existing_resource_group_name en el menú Variable name.
- Pulse Añadir.
- Seleccione el Referenciar a una variable icono
-
Establezca el valor predeterminado de
use_existing_resource_groupen true para indicar que sus usuarios necesitan un grupo de recursos existente para su arquitectura. -
Para simplificar la configuración y reducir los costes de un entorno de desarrollo, elimine el requisito de cifrado de claves completando los siguientes pasos:
- Establezca el valor por defecto de
existing_kms_instance_crnen__NULL__. - Haga clic en Entradas opcionales.
- Establezca el valor predeterminado de
use_ibm_owned_encryption_keyen true. - Establezca el valor por defecto de
planenenterprise. - Establezca el valor por defecto de
member_cpu_counten2. - Establezca el valor por defecto de
member_host_flavorenmultitenant.
- Establezca el valor por defecto de
Ahora que ha definido variables para Cloud automation para Databases for Elasticsearch, necesita definir variables para la otra opción de base de datos que ha incluido: Automatización en la nube para Databases for PostgreSQL. Complete los pasossiguientes:
- En la ventana Definir variables, utilice el menú de arquitectura para cambiar de Automatización en la nube para Databases for Elasticsearch a Automatización en la nube para Databases for PostgreSQL.
- Haga clic en Entradas obligatorias y elimine el requisito de cifrado de claves estableciendo el valor predeterminado de
existing_kms_instance_crnen__NULL__. - Las otras tres entradas necesarias en esta arquitectura pueden hacer referencia a entradas ya disponibles en
Example Corp's infrastructure. Complete los siguientes pasos para añadir referencias a estas entradas:- Seleccione el Referenciar a una variable icono
para
resource_group_name, luego seleccione existing_resource_group_name del menú Nombre de variable. Haga clic en Añadir, y la entradaresource_group_namedentro de Cloud automation para Databases for PostgreSQL hará referencia al valorexisting_resource_group_namede la infraestructura de Example Corp que su usuario proporcione. - Seleccione el Referenciar a una variable icono
para
prefixy seleccione el prefijo del menú Nombre de variable y haga clic en Agregar. - Seleccione el icono Referencia a una variable
para
regiony seleccione región en el menú Nombre de la variable y haga clic en Añadir.
- Seleccione el Referenciar a una variable icono
- Haga clic en Entradas opcionales.
- Establezca el valor predeterminado de
use_existing_resource_groupen true para indicar que sus usuarios necesitan un grupo de recursos existente para su arquitectura. - Establezca el valor predeterminado de
use_ibm_owned_encryption_keyen true. - Pulse Guardar.
Comunique los cambios a sus usuarios
La última versión de Example Corp's infrastructure no contiene cambios de última hora, pero sí incluye nuevas funciones que sus usuarios deben conocer. Informe a sus usuarios de las nuevas opciones de base de datos que pueden utilizar
con Example Corp's infrastructure añadiendo un aviso de cambio. Complete los pasossiguientes:
- En el Paso 6 - Añadir avisos de cambio, haga clic en Añadir nueva función.
- En el campo Título, introduzca
Database options added to Example Corp's infrastructure. - Para la Descripción, introduzca
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. - Pulse Guardar.
En el menú Acciones, seleccione Generar manifiesto para descargar los últimos cambios. Es una buena práctica descargar los archivos y añadirlos al repositorio de código fuente para que los cambios se apliquen en la próxima versión.
Validar las arquitecturas desplegándolas desde un proyecto
Ahora, la versión 0.0.2 de Example Corp's infrastructure está disponible como borrador en su catálogo privado. Cualquier usuario con acceso a su catálogo privado puede desplegarlo. Para asegurarse de que las opciones de la base
de datos funcionan con Example Corp's infrastructure, despliéguela dos veces desde su proyecto. Para un despliegue, incluya Elasticsearch. Y, para el otro despliegue, incluya PostgreSQL. Al desplegar la arquitectura dos veces,
se verifica que ambas opciones de base de datos funcionan con Example Corp's infrastructure según lo previsto.
Antes de poder compartir Example Corp's infrastructure con su empresa, debe validar la versión al incorporarla a su catálogo privado. Actualmente,
la validación de la versión en el catálogo no valida ninguna arquitectura que haya apilado con la suya. El despliegue de las arquitecturas de un proyecto
mientras Example Corp's infrastructure se encuentra en estado borrador en el catálogo privado ayuda a garantizar que las arquitecturas incluidas funcionen correctamente con Example Corp's infrastructure.
Despliegue de la infraestructura de Example Corp con Elasticsearch
-
Vaya al catálogo IBM Cloud y abra el catálogo privado
Example Corp catalog. -
Seleccione la infraestructura de Example Corp para abrir su catálogo.
-
Asegúrate de que 0.0.2 está seleccionado como versión.
-
Haga clic en Crear proyecto, asigne un nombre al nuevo proyecto
Testing Example Corp infrastructurey haga clic en Crear. -
Haga clic en el
Configuración del proyecto. Cambie el nombre de la configuración a
Example Corp infrastructure with Elasticsearchy haga clic en Guardar. -
En la sección Descripción general de la arquitectura desplegable, haga clic en Personalizar, asegúrese de que la automatización en la nube para Databases for Elasticsearch esté seleccionada y haga clic en Guardar.
-
Haga clic en Configurar e implantar.
-
Configure la arquitectura completando los siguientes pasos:
- En la sección Detalles, revise la información y haga clic en Siguiente.
- En la sección Seguridad, proporcione un método de autenticación para implementar en su cuenta de destino y haga clic en Siguiente. Utilice un perfil de confianza o una clave API.
- En la sección Entradas, introduzca
test-southcomo valor de la variable de entradaprefix. - Seleccione Predeterminado para la variable de entrada
existing_resource_group_name. - Seleccione us-south para la variable de entrada
region. - Haga clic en Guardar para guardar la configuración de
Example Corp's infrastructure.
-
Pulse Validar. El modal que se muestra proporciona más detalles sobre su validación en curso.
Si la validación falla, puede solucionar el problema. O bien, un administrador del servicio IBM Cloud Proyectos puede revisar los resultados a través del servicio Schematics y anular el fallo y aprobar la configuración para desplegarla de todos modos. Sin embargo, asegúrese de que la canalización falló debido al análisis del Analizador de Riesgos de Código y no debido a un fallo de validación o del plan. No se recomienda anular un fallo marcado debido a un fallo de validación o del plan, ya que la configuración no puede desplegarse correctamente. Para más información sobre seguridad y conformidad en los proyectos, consulte Lograr la conformidad continua en la empresa.
-
Una vez completada la validación, apruebe e implante los cambios:
- En el proyecto
Testing Example Corp infrastructure, seleccione la pestaña Configuraciones. - Haga clic en
Example Corp infrastructure with Elasticsearch> Ver detalles para ver la última validación y aprobar los cambios. - Añada un comentario con más detalles sobre la aprobación y haga clic en Aprobar.
- En el proyecto
-
Haga clic en Desplegar y espere a que finalice el despliegue.
Si la implementación se ha realizado correctamente, entonces sabes que
Example Corp's infrastructurefunciona con Elasticsearch como estaba previsto. -
Por último, desinstale los recursos creados por las arquitecturas. En la pestaña Configuraciones del proyecto, haga clic en el icono Opciones
para
Example Corp infrastructure with Elasticsearch> Despliegue.
Despliegue de la infraestructura de Example Corp con PostgreSQL
Realice los mismos pasos para comprobar que Example Corp's infrastructure funciona con PostgreSQL:
-
En la pestaña Configuraciones del proyecto
Testing Example Corp infrastructure, haga clic en Crear y abra el catálogo privadoExample Corp catalog. -
Seleccione la infraestructura de Example Corp para abrir su catálogo.
-
Asegúrate de que 0.0.2 está seleccionado como versión.
-
Asegúrese de que la infraestructura Testing Example Corp está seleccionada como proyecto.
-
Haga clic en el
Configuración del proyecto. Cambie el nombre de la configuración a
Example Corp infrastructure with PostgreSQLy haga clic en Guardar. -
En la sección Descripción general de la arquitectura implementable, haga clic en Personalizar, asegúrese de que la opción Automatización en la nube para Databases for PostgreSQL esté seleccionada y haga clic en Guardar.
-
Haga clic en Configurar e implantar.
-
Configura la arquitectura. A continuación, valídelo, apruébelo y despliéguelo para comprobar que
Example Corp's infrastructurefunciona con PostgreSQL tal y como está previsto.Al configurar la arquitectura, seleccione us-east para la variable de entrada
regionpara confirmar que la arquitectura puede desplegarse tanto en la región sur como en la región este de Estados Unidos. Introduzcatest-eastcomo prefijo para indicar en qué región se despliegan los recursos. -
Despliegue las configuraciones de su proyecto para desplegar recursos.
Próximos pasos
Continúe incorporando la última versión de Example Corp's infrastructure. Cuando haya terminado, una nueva versión de la arquitectura desplegable estará disponible
para los usuarios. Cuando añaden la nueva versión a un proyecto, pueden personalizarlo incluyendo la automatización en la nube para Databases for Elasticsearch o la automatización en la nube para Databases for PostgreSQL.
Si un usuario ya ha desplegado la versión anterior de Example Corp's infrastructure, se le pedirá en su proyecto con el widget de atención a las necesidades que actualice la arquitectura a la última versión.