Esta característica está en fase inicial; es posible que algunas partes de la plataforma aún no den soporte completo a distintos temas.
¿Qué son los módulos y las arquitecturas desplegables?
¿Qué son los módulos y las arquitecturas desplegables?
La creación de una infraestructura de aplicaciones segura, compatible y escalable puede ser difícil de configurar y costosa de mantener. En lugar de averiguar cómo ensamblar una arquitectura de infraestructura compatible por su cuenta, puede aprovechar
los módulos y las arquitecturas desplegables. Los módulos y las arquitecturas desplegables pueden ayudarle a crear una infraestructura sobre cómo se despliegan los recursos en las cuentas de su organización. Al trabajar con estas configuraciones
reutilizables, puede definir el estándar para el despliegue una vez y asegurarse de que sea fácilmente repetible para cada miembro de la organización.
Por ejemplo, piense en un arquitecto que está construyendo un complejo de apartamentos. Estos diseños se ejecutan típicamente de una manera modular. Hay patrones para apartamentos estándar de un dormitorio, dos o tres dormitorios. El constructor
puede combinar los apartamentos estándar, cada uno funcional a su manera, en un arreglo de vida más grande, más complejo, pero funcional. IBM ha aplicado esta misma analogía al despliegue de soluciones en la nube. En lugar de que su organización
dedique meses a averiguar cómo conseguir que los servicios y el software funcionen juntos, puede utilizar los patrones bien estructurados de IBM Cloud. Cada patrón se empaqueta como bloques de construcción componibles y automatizados, conocidos
como módulos y arquitecturas desplegables.
¿Qué es un módulo?
Un módulo es una unidad autónoma de código de automatización que los desarrolladores pueden reutilizar y compartir como parte de un sistema más grande. De forma similar a los paquetes Node.js o Python, los módulos son una comodidad para los
desarrolladores que gestionan recursos relacionados. Aunque es posible utilizar módulos solos, son más potentes cuando los combina para crear una arquitectura desplegable. Los módulos creados por IBM Cloud están disponibles en la organización deIBM módulos de Terraform públicos GitHub. Por ejemplo, el clúster de VPC de Red Hat® OpenShift® en el módulo IBM Cloud instala y configura un clúster de Red Hat OpenShift en IBM Cloud.
¿Qué es una arquitectura desplegable?
Una arquitectura desplegable es la automatización de nube para desplegar un patrón de arquitectura común que combina uno o más recursos de nube. Está diseñado para proporcionar un despliegue simplificado por usuarios, escalabilidad y modularidad.
Una arquitectura desplegable incorpora uno o más módulos. Las arquitecturas desplegables se codifican en Terraform, que se configura con variables de entrada para lograr el comportamiento que desee. Para crear una arquitectura desplegable
más compleja, puede apilar arquitecturas desplegables sin necesidad de editar el código de Terraform.
{: caption="que contiene módulos*
Un ejemplo de arquitectura desplegable es la automatización en la nube para Secrets Manager.
Esta arquitectura desplegable suministra una instancia de IBM Cloud Secrets Manager como solución modular. Puede utilizar esta arquitectura para gestionar de forma segura los secretos con su cuenta de IBM Cloud. La automatización en la nube
para Secrets Manager tiene un alcance limitado. Sólo despliega una instancia de Secrets Manager, aunque la arquitectura desplegable también puede crear opcionalmente un llavero IBM Key Protect y una clave para cifrar los datos si no existe.
Las arquitecturas desplegables pueden tener un alcance más amplio, como VPC landing zone. VPC landing zone aprovisiona varias nubes
privadas virtuales en un patrón de red hub-and-spoke conectado por una pasarela de tránsito. Incluye una serie de servicios de soporte que se utilizan para la supervisión y la seguridad de las cargas de trabajo que se ejecutan en las VPC.
Las arquitecturas desplegables creadas y mantenidas por expertos en IBM Cloud se ponen a su disposición en el catálogo de IBM Cloud. Si elige
crear su propia versión de estas arquitecturas desplegables, o crear una desde cero, puede incorporar la arquitectura desplegable a un catálogo privado y compartir la solución lista para desplegar con la organización a través del catálogo.
¿Qué significa apilar arquitecturas desplegables?
Para un caso de uso más complejo, puede apilar arquitecturas para formar una solución completa de extremo a extremo para desplegar una aplicación o infraestructura compleja. A diferencia de los módulos individuales o las arquitecturas desplegables,
que proporcionan funcionalidades específicas, el apilamiento combina múltiples arquitecturas desplegables para formar una solución integral que puede desplegarse y gestionarse fácilmente. Al igual que los módulos pueden combinarse para crear
una arquitectura desplegable, las arquitecturas desplegables pueden apilarse para crear una solución más amplia. El apilamiento incluye la vinculación de las arquitecturas entre sí para crear una arquitectura compleja desplegable. Esta vinculación
se consigue especificando referencias en las entradas de cada arquitectura desplegable mediante el uso de una notación de referencia. No es necesario ser un experto en Terraform, ni tener conocimientos de codificación de Terraform, para
apilar arquitecturas y desplegarlas.
Como ejemplo, considere la automatización de la nube para Secrets Manager. Esa arquitectura desplegable incluye el módulo Secrets Manager,
que crea una instancia de Secrets Manager. Si sólo necesita una instancia de Secrets Manager, esa arquitectura desplegable es una opción adecuada. Sin embargo, la gestión segura de los secretos es sólo una parte del mantenimiento de la seguridad
en la nube. ¿Qué le parece realizar análisis de conformidad para conocer en todo momento la situación de sus recursos? ¿O recibir notificaciones de eventos críticos en su cuenta IBM Cloud? Cloud foundation para la seguridad y la observabilidad aprovecha toda la gama de servicios de seguridad de IBM Cloud. Se creó apilando la automatización de la nube para Secrets Manager junto con arquitecturas
implementables que proporcionan otros IBM Cloud servicios, Event Notifications. Esa arquitectura desplegable proporciona una solución de seguridad más completa que Secrets Manager no puede proporcionar por sí sola.
Apilamiento de arquitecturas desplegables para crear una solución integral
Puede apilar arquitecturas desplegables en un proyecto IBM Cloud y publicarlas juntas en un catálogo sin muchos pasos de validación adicionales. O bien, puede apilar arquitecturas a medida que incorpora una solución a un catálogo privado.
A partir de ahí, puedes compartirlo con otros para ahorrarles el tiempo de reconstruirlo por su cuenta.
Esta compleja solución obtiene gran parte de sus garantías de coste, conformidad, asistencia y calidad de las arquitecturas desplegables que incluye. Sin embargo, esa solución compleja tiene una versión, una descripción y un diagrama de arquitectura
únicos. Si se realiza una actualización en una arquitectura desplegable que está apilada con otras en un catálogo, la solución completa debe ser actualizada por el onboarder para utilizar la última versión de esa arquitectura desplegable
componente. Actualizar toda la solución a una nueva versión ayuda a garantizar que la última actualización de una única arquitectura funciona correctamente dentro de la solución más amplia.
Sin embargo, cada arquitectura desplegable tiene estados de configuración independientes, lo que permite desplegar, actualizar o des-desplegar cada una de ellas de forma independiente. Por ejemplo, ya sabe que la Cloud foundation para la seguridad
y la observabilidad incluye la automatización de la nube para la arquitectura desplegable Secrets Manager, entre otras. Si se actualiza Cloud automation para Secrets Manager, entonces Cloud foundation para la seguridad y la observabilidad
necesita actualizarse para utilizar la última versión de Secrets Manager. Sin embargo, cada arquitectura que se incluye en Cloud foundation para la seguridad y la observabilidad no necesita ser redistribuida por el usuario que consume esa
solución. Cuando el usuario actualiza su proyecto para utilizar la última versión, sólo es necesario volver a desplegar Secrets Manager.
Actualización de una arquitectura desplegable dentro de una solución más amplia
¿Qué incluye una arquitectura desplegable?
Una arquitectura desplegable puede incluir variaciones, tener dependencias o estar apilada para crear soluciones más complejas.
Variaciones
Una variación es un tipo de arquitectura desplegable que aplica prestaciones o complejidad diferentes a una arquitectura desplegable existente. Por ejemplo, puede haber una variación de inicio rápido en la arquitectura desplegable que
tenga prestaciones básicas para un despliegue sencillo y de bajo coste que se pueda probar internamente. Además, es posible que tenga una variación estándar que sea un poco más compleja que esté lista para su uso en producción.
Arquitecturas necesarias
Una arquitectura desplegable puede contener entradas que requieran las salidas de otras arquitecturas desplegables para desplegarse con éxito. Esta relación entre una arquitectura desplegable y otra arquitectura que requiere se denomina
comúnmente dependencia. Puede satisfacer las dependencias de dos formas: apilando arquitecturas desplegables o incorporando una arquitectura desplegable a un catálogo privado y ampliándolo para incluir otras arquitecturas.
con una dependencia de otra desplegable*
Arquitecturas opcionales
Las arquitecturas desplegables están diseñadas para ser flexibles, por lo que se pueden apilar fácilmente para crear una solución más completa. Sin embargo, es posible que una arquitectura desplegable de utilidad general no incluya las
opciones específicas que necesita para satisfacer un caso de uso complejo. Por ejemplo, ¿qué base de datos va con su aplicación Java? ¿Necesitas notificaciones de eventos, una cola de mensajes o algún otro servicio opcional que no esté
incluido por defecto? Las arquitecturas desplegables opcionales pueden apilarse junto con las arquitecturas desplegables obligatorias para resolver este problema de personalización para los usuarios.
Arquitecturas intercambiables
Tanto si una arquitectura es necesaria para satisfacer una dependencia, como si se incluye como extensión opcional de una arquitectura, los usuarios pueden necesitar más flexibilidad. Puede que sepa que su aplicación Java funciona con
una base de datos opcional, pero ¿qué base de datos necesitan sus usuarios? Especificar arquitecturas intercambiables para los usuarios les ayuda a personalizar la solución integral para satisfacer sus necesidades específicas. Después
de apilar las arquitecturas opcionales o necesarias, puede agrupar las arquitecturas como intercambiables entre sí. A continuación, el usuario consumidor puede seleccionar la arquitectura necesaria que desea utilizar para satisfacer
una dependencia, o seleccionar una arquitectura opcional si desea ampliar su caso de uso.
¿Qué son los proyectos y cómo funcionan con arquitecturas desplegables?
Un proyecto IBM Cloud es una herramienta de gestión diseñada para organizar y proporcionar visibilidad en un proyecto del mundo real que existe en su organización. Un proyecto gestiona todas las instancias configuradas de una arquitectura desplegable
y los recursos relacionados con las razones reales por las que se despliegan. Los proyectos almacenan instancias de arquitectura desplegable con versión y organizan las instancias y los recursos en entornos para ayudar a mejorar la visibilidad
en el ciclo de vida de desarrollo. Un entorno es un grupo de instancias de arquitectura desplegables relacionadas que comparten valores para facilitar los despliegues. Por ejemplo, desarrollo, prueba o producción.
Los proyectos son responsables de garantizar que solo se puedan desplegar las arquitecturas desplegables aprobadas. Además, pueden ayudar a garantizar que las arquitecturas y los recursos que han creado estén actualizados, sean compatibles y
que la desviación no se produzca a lo largo del tiempo. Por ejemplo, puede tener un proyecto de aplicación de gestión de cuentas. Este proyecto está diseñado para gestionar todos los recursos que la aplicación de gestión de cuentas necesita
para desplegar en un entorno de desarrollo, prueba o producción. Cada entorno tiene las mismas variables, como una región o un prefijo, pero tiene distintos valores. Cuando se asigna una arquitectura desplegable a un entorno a través de un
proyecto, sus valores de entrada pueden hacer referencia automáticamente a cualquiera de las propiedades del entorno que tengan el mismo nombre. Aunque los proyectos de IBM Cloud son fáciles de crear y actualizar, no se han creado plantillas
ni se han optimizado para la réplica o el uso compartido.
La tabla siguiente proporciona una visión general de alto nivel de por qué es posible que desee crear los distintos componentes.
Comprensión de los casos de uso de las implantaciones automatizadas
Finalidad
Método recomendado
¿Por qué?
Creación de una biblioteca de componentes de automatización compartibles
Crear un módulo
Los módulos proporcionan automatización reutilizable y comisariada para acelerar el proceso para aquellos que están creando y configurando arquitecturas desplegables.
Asegurarse de que el entorno de nube de su organización es seguro y compatible
Crear una arquitectura desplegable
Las arquitecturas desplegables se empaquetan de forma que puede definir un despliegue seguro y compatible una vez y asegurarse de que todos los miembros de la organización repiten el despliegue de la misma forma.
Arquitectura de sus propias soluciones
Apilar arquitecturas desplegables
Al combinar arquitecturas, puede crear una solución global más compleja para su organización.