Trabajando para una gran empresa con más de 500 empleados de TI y más de 1,000 servidores, con cada servidor ejecutando sus propias aplicaciones comerciales, tenemos un enorme desafío de información y coordinación para saber con qué miembro del personal de TI contactar con cada servidor. El problema de la coordinación se agrava con la responsabilidad del personal de TI diferente por las diferentes capas de la pila de TI. Por ejemplo, hay diferentes equipos responsables del hardware, la virtualización, los sistemas operativos, los servidores de aplicaciones y las propias aplicaciones.
Teniendo en cuenta este desafío, dentro de DevOps existe el requisito de definir y documentar todos los componentes que constituyen las diversas pilas de tecnología dentro de un entorno de TI. Tradicionalmente, esto podría haberse logrado con una solución CMDB propia.
He investigado soluciones típicas de CMDB como BMC Atrium y otras para este propósito, sin embargo, el problema es que se detienen al nivel de documentar los activos de TI, a un alto nivel, según el marco ITIL, pero no abordan la documentación de la pila de tecnología de TI en detalle. También he investigado herramientas como Puppet , Ansible y Salt , pero estas herramientas se centran más en la implementación y configuración de software, y no en la coordinación de personas en torno al software.
Una solución viable, por ejemplo, definiría los diversos conceptos, junto con los atributos clave importantes para estos conceptos:
- Hardware
- Virtualización
- Sistemas operativos
- Servidores de aplicaciones
- Aplicaciones
Estos conceptos se asociarían entre sí en términos de sus relaciones para formar soluciones. Por ejemplo, una aplicación dependería de un servidor de aplicaciones, que dependería de un sistema operativo, etc. En conjunto, esta solución se definiría en el "Sistema de Finanzas". Una vez definido un sistema, todos los metadatos asociados con estos sistemas se capturarían para facilitar la coordinación de cada capa en la pila. Es decir, la coordinación del personal de soporte técnico para cada capa.
El propósito de tal solución sería hacer varias consultas contra las pilas de tecnología, tales como:
- Para determinar quién apoya qué componentes
- Qué componentes están desactualizados
- Qué componentes necesitan ser parcheados
Con esto en mente, ¿qué herramientas de código abierto existen para definir todos los componentes de una pila de tecnología de TI, incluida su relación entre sí, en una base de datos gráfica como Neo4J?