Gestión de la configuración: 4 conceptos clave

La gestión de configuración (‘CM’ en adelante) significa muchas cosas diferentes para diferentes personas. Se han escrito tomos pesados ​​que describen los objetivos, políticas, procedimientos, beneficios, dificultades y una variedad de definiciones de CM. Un plan reciente de CM en el que trabajé es un documento de página de 20 y tantos años que intenta detallar esta información y cómo se relaciona con los proyectos del cliente.

La mayoría de la información disponible se puede reducir en 4 conceptos clave, o lo que se puede llamar Las 4 piedras angulares de Great CM. Estos conceptos representan ideales. El desafío está en la implementación, de modo que las políticas, procedimientos y utilidades desarrollados admiten estos ideales, o al menos la intención detrás de ellos.

Control de versiones <// u>: todo se mantiene en una herramienta de control de versiones como la ofrecida por Serena (software comercial) o subversión (código abierto). Algunos elementos acordados (elementos de configuración o CIS para corto) almacenados dentro de la herramienta representan líneas de base. En otras palabras, son el conjunto de revisiones actualmente en producción. No son necesariamente las revisiones más recientes. Las construcciones destinadas a la implementación en cualquier entorno posterior al desarrollo (QA, Test, Prod, lo que sea) siempre se extraen del control de versiones, y nunca se copian directamente de un entorno de desarrollo.

Separación de Deberes y menos privilegios – En realidad, estos son dos principios agrupados porque el menor privilegio no es posible sin la separación de los deberes y la separación de los deberes no tiene sentido sin menos privilegio. El primero simplemente significa que ninguna persona tiene una responsabilidad independiente sobre más de un área de un sistema. Por ejemplo, los desarrolladores cambian el código, realizan pruebas unitarias, etc., pero no implementan ni promueven dicho código a ningún entorno de no desarrollo. Las personas CM promueven el código, pero no desarrollan aplicaciones, ni aprueban los cambios de código realizados por los desarrolladores (aunque pueden participar en revisiones de código). Los DBA tienen privilegios de base de datos, pero no desarrollen código de aplicación ni actúen como administradores del sistema. Etcétera. El principio de menor privilegio simplemente establece que ninguna persona o proceso de ejecución tiene más acceso o privilegio del sistema de lo que necesita para realizar sus deberes o funciones normales en cualquier momento. El acceso o el privilegio para personas o procesos se pueden aumentar temporalmente durante el rendimiento de alguna actividad según sea necesario, luego se restringe inmediatamente nuevamente. Las políticas que implementan estos controles tienen en cuenta ambos principios para situaciones de emergencia.

READ  Guía para comprar un amplificador de viviendas

Auditar – CM El personal realiza auditorías periódicamente de aplicaciones, sistemas y procedimientos. Cualquier software de aplicación actualizado o elemento configurable debe ser rastreable para una solicitud de cambio aprobada, así como a través de todo el conjunto de controles de calidad, revisión tecnológica y control de cambios existentes. Esto incluye no solo ejecutables de aplicaciones sino también configuraciones de bases de datos. Todos los elementos se comparan con sus contrapartes de referencia en el repositorio de control de versiones (es decir, las revisiones marcadas como ‘producción’). Las discrepancias se informan como problemas de incumplimiento e investigados, y generalmente conducirán a cambios de procedimiento diseñados para eliminar el incumplimiento futuro.

automatizar, automatizar, automatizar <// U>: este es un tema excesivo de cómo logramos todo esto con recursos limitados. Verificar los elementos de y en el control de versiones debe ser rápida e indolora, e integrarse en IDES de desarrollo (entornos de desarrollo interactivos) si es posible. Las promociones de código están escritas. Los cambios en la base de datos están escritos. Los servicios públicos de auditoría están escritos. Estos scripts mismos están sujetos a revisión y mantenido en el control de versiones. Unirlo todo juntos nos brinda sistemas confiables y seguros construidos con procesos verificables, repetibles y eficientes.