Prácticas recomendadas para organizar y gestionar proyectos

Estas mejores prácticas le proporcionan los elementos básicos para gestionar proyectosColección de artefactos que definen y gestionan recursos e infraestructura como despliegues de código. con éxito y seguridad en IBM Cloud®. Los proyectos son beneficiosos para las empresas reguladas como una forma de gestionar mejor los despliegues basados en código, manteniendo al mismo tiempo la conformidad y colaborando con los miembros del equipo en todas las cuentas.

Creación de una cuenta de proyecto principal

Una ventaja clave de los proyectos de IBM Cloud es la capacidad de gestionar y colaborar de forma centralizada en la infraestructura como despliegues de código. Si está utilizando una empresa, el establecimiento de una cuenta principal o de inicio para almacenar todos los proyectos ayuda a gestionar y realizar el seguimiento de los proyectos en una ubicación.

La utilidad de establecer una cuenta primaria depende de la estructura de la empresa. Los proyectos se pueden crear en una cuenta y desplegar recursos en otras cuentas. Los usuarios solo pueden ver los proyectos que están dentro de la cuenta en la que están conectados actualmente. Además, los informes para varios proyectos sólo se pueden generar para proyectos dentro de la misma cuenta. Esta es otra ventaja útil de establecer una cuenta doméstica común para todos los proyectos en una empresa o todos los proyectos con una línea de negocio similar. Manteniendo el proyecto en una cuenta primaria y desplegando en cuentas separadas para cada entorno (desarrollo, prueba y producción) para simplificar la gestión empresarial.

Para que la cuenta sea más fácil de identificar el propósito y los proyectos dentro de la cuenta por parte de todos los usuarios, asigne a la cuenta un nombre legible. Por ejemplo, Front-end UI team y Back-end API team.

Definición de un método de autenticación

Al configurar la arquitectura desplegable, es necesario añadir un método de autenticación. El método de autenticación identifica la cuenta de destino en la que se despliegan los recursos y autoriza el despliegue. Puede optar por autenticarse a través de un perfil de confianza o un secreto existente.

Utilización de perfiles de confianza

Algunos servicios no pueden configurar completamente y desplegar arquitecturas utilizando perfiles de confianza. Para obtener más información, consulte Problemas conocidos y limitaciones para proyectos.

Puede desplegar una arquitectura en su propia cuenta o en otra cuenta utilizando perfiles de confianza. En función de la organización, el despliegue de una arquitectura puede requerir acceso a otra cuenta utilizando un perfil de confianza y coordinando con los administradores en varias cuentas. Si el servicio de proyectos IBM Cloud de otra cuenta necesita acceso a su cuenta para desplegar una arquitectura, utilice perfiles de confianza e ID de servicio para autorizar los despliegues en su cuenta. Para obtener más información sobre la creación de un perfil de confianza para el proyecto, consulte Utilización de perfiles de confianza para autorizar a un proyecto a desplegar una arquitectura.

Utilización de IBM Cloud® Secrets Manager

Al desplegar la Infraestructura como Código ( IaC ), a menudo se necesitan secretos para configurar la infraestructura, como claves API, claves SSH y certificados SSL. En estos casos, se recomienda almacenar estos secretos dentro de una Secrets Manager instancia. Los proyectos admiten directamente la referencia a claves API almacenadas en Secrets Manager como entrada a una arquitectura desplegable. Para obtener más información, consulte Uso de una clave API con Secrets Manager para autorizar el despliegue de un proyecto.

Cree una instancia del servicio Secrets Manager en su cuenta de proyecto principal que pueda utilizar para todos los proyectos dentro de esa cuenta antes de crear su proyecto.

Existen algunos tipos de secretos diferentes que puede crear. Utilice una instancia de secreto arbitrario para almacenar claves de API para el proyecto. Para obtener más información, consulte Creación de secretos arbitrarios en la interfaz de usuario.

Normalmente, se utiliza una única instancia de Secrets Manager para todos los proyectos de una cuenta. Los secretos de esa instancia se pueden organizar en grupos de secretos que se alinean con las restricciones de acceso. Por ejemplo, es posible que desee utilizar un grupo de secretos por proyecto o para un conjunto de proyectos relacionados.

Control de despliegues utilizando entornos

Dentro de un proyecto, puede agrupar configuraciones relacionadas utilizando un entorno. Un entorno también puede contener propiedades como valores de entrada y detalles de autenticación. Estas propiedades se añaden automáticamente a una configuración cuando se selecciona un entorno, lo que ayuda a garantizar despliegues precisos en la cuenta de destino. Al editar una configuración, puede seleccionar un entorno para que la utilice en la sección Definir detalles.

Ventajas de utilizar entornos

Los entornos facilitan el control de los despliegues. Al especificar un entorno y añadir propiedades, sabe que los mismos valores se comparten entre configuraciones que utilizan ese entorno. Dentro de una configuración, puede anular cualquier valor proporcionado automáticamente por un entorno.

Los entornos proporcionan una forma de agrupar configuraciones relacionadas dentro de un proyecto. Supongamos que tiene un conjunto de configuraciones que desea desplegar en la misma cuenta de destino que su cuenta de desarrollo. Puede crear un entorno de desarrollo y añadir los detalles de autenticación para la cuenta de destino a dicho entorno. El método de autenticación se añade a cada configuración que utiliza el entorno de desarrollo.

Aunque puede crear tantos entornos como desee, se recomienda que mantenga bajo el número de entornos del proyecto. El uso de un conjunto estándar de entornos para los despliegues entre cuentas facilita la configuración y el despliegue de arquitecturas.

Para obtener más información, consulte Creación de un entorno.

Organización de las configuraciones

Considere la posibilidad de organizar todas las configuraciones relacionadas en un único proyecto. De esta forma, puede gestionar los despliegues desde una ubicación y asegurarse de que son seguros y compatibles. Esto puede consistir en una o más arquitecturas desplegables para crear la infraestructura necesaria, que luego se debe replicar para dar soporte a varias regiones y entornos como, por ejemplo, desarrollo, prueba y producción.

Utilice un convenio de denominación para las configuraciones para que los usuarios puedan comprender la función de cada configuración. Por ejemplo, en un despliegue que utiliza una arquitectura desplegable de base de VPC y una arquitectura desplegable de clúster de Kubernetes que se basa en la base de VPC, puede nombrar las configuraciones de la forma siguiente:

Ejemplos de nombres de configuración
Nombre arquitectura desplegable Entorno Notas
Dev-VPC-Global Base de VPC Desarrollo Crear la VPC base para el entorno de desarrollo
Desarrollo-Kub-Dallas Clúster de Kubernetes Desarrollo Crear el clúster en Dallas para el desarrollo
Dev-Kub-Londres Clúster de Kubernetes Desarrollo Crear el clúster en Londres para el desarrollo
Prod-VPC-Global Base de VPC Producción Crear la VPC base para el entorno de producción
Prod-Kub-Dallas Clúster de Kubernetes Producción Crear el clúster en Dallas para producción
Prod-Kub-Londres Clúster de Kubernetes Producción Crear el clúster en Londres para producción
Prod-Kub-Tokio Clúster de Kubernetes Producción Crear el clúster en Tokio para producción
Prod-Kub-Sídney Clúster de Kubernetes Producción Crear el clúster en Sídney para producción

Puede duplicar la configuración de desarrollo en el archivo project.json y modificarla según sea necesario para crear rápidamente despliegues de producción a partir de sus despliegues de desarrollo probados.

Creación de grupos de acceso para proyectos

El acceso a los proyectos se controla a través de Identity and Access Management (IAM). Se recomienda crear dos o tres grupos de acceso por proyecto y asignar usuarios que trabajen en el proyecto a uno de estos grupos de acceso. Por ejemplo, podría crear un* Nombre del proyecto*-Grupo de acceso de lector que proporciona acceso de solo lectura al proyecto para los usuarios que necesitan monitorear los costos o la disponibilidad y un* Nombre del proyecto*-Grupo de acceso de escritor para usuarios de operaciones que necesitan realizar cambios en un proyecto e implementar recursos. Si es necesario, puede crear dos grupos de acceso de escritor, uno para los usuarios que pueden añadir configuraciones y completar valores de entrada y otro para los usuarios que pueden desplegar recursos.

Grupos y funciones de acceso al proyecto
Grupo de acceso Roles
Nombre del proyecto-Lector Lector, Visor
Nombre del proyecto-Escritor Gestor, Operador

Para crear nuevos proyectos, los usuarios deben tener asignado un acceso específico. Para obtener más información, consulte Asignación de acceso de usuarios a proyectos.

La supervisión necesita elementos de atención

Los elementos de atención de necesidades se utilizan mejor para supervisar la validación, las aprobaciones, las anomalías y las actualizaciones de versión. Al comprobar los elementos de atención de necesidad con regularidad, puede asegurarse de que el proyecto y la configuración están actualizados y son compatibles.

Adición de etiquetas a proyectos

Puede aplicar etiquetas para organizar, realizar un seguimiento y gestionar los proyectos. Puede resultar útil añadir etiquetas a proyectos relacionados, o incluso una etiqueta para identificar proyectos temporales, como la infraestructura utilizada para una demostración a un cliente o un prototipo que ya no se necesita. Esto permite que los proyectos temporales sean fácilmente localizados y gestionados.

Las etiquetas no son sensibles a las mayúsculas y minúsculas y la longitud máxima de una etiqueta es de 128 caracteres. Los caracteres permitidos son de la A a la Z, del 0 al 9, los espacios, el signo de subrayado, el guión, el punto y el signo de dos puntos.

A los recursos de un proyecto se les asignan automáticamente etiquetas de servicio con el ID de proyecto y el ID de configuración con los que están asociados. Para obtener más información, consulte Seguimiento del uso y el gasto para proyectos.

Anular la implementación de recursos creados por proyectos

Al desplegar la configuración, los recursos que se crean se pueden gestionar como un grupo dentro del proyecto. Estos recursos se crean basándose en el plan de Terraform y se pueden gestionar individualmente en el espacio de trabajo Schematics.

Aunque puede destruir recursos individuales del espacio de trabajo Schematics, no se recomienda hacerlo para los recursos que se crean utilizando un proyecto, ya que conduce a la desviación. En su lugar, puede cancelar la implementación de todos los recursos asociados con una configuración a la vez desde la interfaz de usuario del proyecto con un solo clic. Al hacerlo, se elimina el despliegue del entorno de destino en el que se ha desplegado la configuración. Anular la implementación de recursos sin eliminar la configuración puede resultar útil si necesita implementar su configuración nuevamente en el futuro.

De forma predeterminada, cuando elimina un proyecto o una configuración, todos los recursos que se implementaron se anulan automáticamente. Se recomienda mantener este valor habilitado, pero puede inhabilitarlo abriendo el proyecto y yendo a Gestionar > Valores. Si inhabilita este valor, los recursos permanecerán desplegados cuando suprima una configuración o un proyecto, pero perderá la capacidad de gestionar fácilmente estos recursos dentro del proyecto. Los recursos desplegados pueden seguir acumulando costes en su cuenta de destino si permanecen disponibles después de que se suprima un proyecto o configuración. Para más información, ver Despliegue de recursos.