Fecha de publicación: 18 de enero de 2024
Colaboradores: Keith O'Brien, Michael Goodwin
La asignación de dependencias es el proceso de identificar, comprender y visualizar las relaciones que existen entre aplicaciones, sistemas y procesos dentro de las operaciones de TI de una organización.
Los entornos de TI modernos incluyen muchos tipos diferentes de software, hardware, dispositivos de red y tecnologías de virtualización, y utilizan una combinación de infraestructura local y entornos de nube. Identificar todos estos sistemas y comprender las dependencias que existen entre ellos es un proceso importante pero desafiante que ayuda a las organizaciones a optimizar y agilizar su ecosistema de TI .
Este proceso ayuda a la organización a descubrir las vulnerabilidades que necesitan corrección inmediata e ineficiencias donde los procesos independientes serían más ventajosos. Permite que la organización mejore la toma de decisiones y tenga una mejor comprensión de cómo una falla o problema en cualquier componente afectará al resto del ecosistema de TI. La asignación de dependencias suele incluir una representación visual de los activos de TI en todo el entorno de TI mediante visualizaciones como los diagramas de Gantt.
Las dependencias pueden ser verticales, que son las dependencias que existen entre diferentes tipos de componentes de TI, por ejemplo entre servicios y aplicaciones, u horizontales, que son las dependencias que existen entre componentes similares, por ejemplo de aplicación a aplicación.
En un ecosistema dependiente, un incidente o problema con un componente, como una unidad de software con un error o fallo del código, puede poner en riesgo toda la cadena de dependencias y provocar interrupciones en todo el sistema. Esto se conoce comúnmente como “infierno de dependencias”. Las organizaciones buscan minimizar estos escenarios entendiendo cómo funcionan sus dependencias y eliminando las que no son necesarias.
Identificar las dependencias a través de un proceso ad hoc o manual puede ser un proceso largo y que requiere mucho tiempo, sin la garantía de que los miembros del equipo de TI obtengan una comprensión completa de la complejidad de un sistema. Por este motivo, las organizaciones a menudo utilizan herramientas de asignación de dependencias y automatización para ayudar a visualizar las relaciones que existen entre aplicaciones, datos y tareas.
La asignación de dependencias, un componente central de las prácticas de observabilidad, es cada vez más importante dada la interdependencia de los servicios de TI empresariales modernos. La observabilidad ayuda a las organizaciones a visualizar aplicaciones distribuidas para optimizar el rendimiento e identificar y resolver problemas de forma más rápida y automatizada.
La asignación de dependencias es un componente crítico de la gestión de proyectos de TI y la gestión del cambio, ya que una organización debe saber cómo interactúan sus sistemas y cómo dependen unos de otros para gestionar los proyectos en curso y el cambio organizacional de forma eficaz.
Descubra cómo la automatización inteligente puede hacer que sus operaciones comerciales sean una ventaja competitiva.
Existen diferentes tipos de dependencias y de asignación de dependencias que influyen en la estrategia integral de una organización. Desglosar las dependencias por tipo puede ayudar a una organización a comprender mejor las dependencias más importantes en sus sistemas de TI y cómo mejorarlas.
La asignación de dependencias de aplicaciones, también conocida como descubrimiento de aplicaciones y asignación de dependencias, se ocupa específicamente de las dependencias entre aplicaciones. La asignación de dependencias de aplicaciones ayuda a una organización a resolver los cuellos de botella en el rendimiento de las aplicaciones y a identificar formas de hacer que sus aplicaciones se ejecuten de manera más confiable y eficiente.
Esto implica comprender las dependencias entre servidores, redes, bases de datos y sistemas de almacenamiento. Por ejemplo, la asignación de dependencias de infraestructura identificará cómo la falla de un servidor afectará a otros servidores, o cómo la falla de una base de datos afectará el almacenamiento general de datos de la organización. Es especialmente útil para comprender el tiempo de actividad y la recuperación ante desastres.
Esta disciplina identifica los componentes internos de un sistema y las dependencias existentes, así como las dependencias entre sistemas específicos dentro de la empresa. También puede incluir dependencias externas dentro de la industria de una organización. La industria o el enfoque de la organización determinará qué sistemas se incluyen en la asignación de dependencias.
Por ejemplo, podría involucrar sistemas financieros para bancos, sistemas de redes inteligentes para productores de energía o sistemas de información de atención médica para organizaciones de ese sector.
Este método simple hace ping a las direcciones IP para saber, a partir de las respuestas, a qué tipo de dispositivo se hizo ping. Esto puede ayudar a las organizaciones con auditorías de red simples, pero no proporciona información en tiempo real sobre las dependencias, especialmente en entornos ágiles.
Este tipo de asignación de dependencia se refiere a la disposición física y lógica de los nodos y conexiones de una red.
Los entornos de TI modernos generalmente incluyen una combinación de SaaS internos, de terceros y soluciones de código abierto . Una comprensión completa de las dependencias internas y externas, y cómo interactúan las soluciones, ayuda a las organizaciones a ofrecer un mayor valor a las partes interesadas.
Son dependencias que existen dentro de la infraestructura de TI interna de una organización, por ejemplo, entre software, servidores y otras herramientas en centros de datos locales y nubes privadas.
Son dependencias que existen dentro de aplicaciones, procesos y sistemas que una organización controla, donde la organización puede intervenir para resolver un problema o eliminar o fortalecer las dependencias.
Son dependencias que existen entre aplicaciones y sistemas que no se encuentran bajo el control total de una organización, como las alojadas en servicios de nube pública o las que dependen de API externas o software de código abierto. En estos escenarios, es posible que una organización no pueda controlar directamente las interrupciones, lo que puede generar problemas como degradación del rendimiento, interrupciones, filtraciones de datos y exposición de credenciales.
Las dependencias entre el desarrollo de software y la infraestructura de red en los entornos informáticos actuales obedecen a varias razones. Por ejemplo:
Es más probable que las organizaciones modernas empleen software de código abierto, lo que requiere que haya comunicación entre sus aplicaciones propias y un tercero que gestione las actualizaciones y otros cambios del software de código abierto.
Las organizaciones deben moverse rápidamente para tener éxito. En ese sentido, han adoptado la agilidad empresarial, o la capacidad de reconfigurar los servicios rápidamente y lanzar nuevas soluciones para responder a los cambios en la demanda o los hábitos de los clientes.
Para ser más ágiles, las organizaciones han recurrido a la arquitectura de microservicios para crear aplicaciones divididas en servicios independientes que se comunican a través de API. Este enfoque permite que diferentes equipos trabajen en distintos servicios dentro de la aplicación, lo que en última instancia acelera el proceso de desarrollo de software.
Si bien los componentes de microservicios operan de forma independiente, e idealmente cada solución de microservicios es completamente autónoma, las soluciones de microservicios a menudo tienen servicios de componentes que se comunican con otros microservicios a través de la red mediante API. Esto puede crear dependencias.
Las organizaciones que emplean nubes públicas tienen datos, servicios y aplicaciones alojados externamente. Para gestionar las operaciones con eficacia y aprovechar los beneficios de escalar la computación en la nube, es imprescindible que las organizaciones comprendan cuáles son las dependencias entre los servicios alojados en la nube y en entornos locales, y a la inversa. Muchos proveedores de la nube incluyen herramientas para asignar estas dependencias.
La asignación de dependencias y la observabilidad mejorada que proporciona la disciplina pueden ayudar a las organizaciones a:
Las organizaciones que tienen una visibilidad completa de sus dependencias de TI y entienden que un problema podría generar un efecto de cascada y causar otro problema (por ejemplo, un problema de la biblioteca SSL podría crear vulnerabilidades de seguridad en toda la red o un cambio en la configuración de una API externa podría desconectar una aplicación), están en mejores condiciones para evitar que ocurra una catástrofe en primer lugar.
Saber cómo afectará cada cambio de dependencia al sistema en general puede ayudar a las organizaciones a estar mejor preparadas para futuros ataques o problemas.
Las organizaciones con una práctica sólida de asignación de dependencias están mejor posicionadas para priorizar y optimizar sus protocolos de respuesta a incidentes para garantizar el mayor tiempo de actividad posible.
La asignación de dependencias ayuda a las organizaciones a rastrear un problema detectado hasta el problema o error inicial. Esto ayuda a identificar la causa principal y fortalecer todo el sistema.
Las dependencias no son intrínsecamente malas; de hecho, pueden ser beneficiosas. Por ejemplo, las dependencias pueden proporcionar la capacidad de aprovechar el código existente para reutilizarlo en otros componentes, lo que minimiza las nuevas necesidades de desarrollo. Pero no todas las dependencias son necesarias.
Una visibilidad integral de las dependencias puede ayudar a las organizaciones a decidir qué dependencias son obligatorias o valiosas y cuáles se deben eliminar.
Comprender las dependencias críticas puede ayudar a las organizaciones a asignar recursos de manera más eficaz. Al garantizar que los componentes de los que dependen otras partes de un sistema cuenten con los recursos y la supervisión adecuados, las organizaciones pueden tomar medidas para reducir la posibilidad de un deterioro o falla generalizada del rendimiento.
IBM Instana democratiza la observabilidad al proporcionar una solución que cualquier persona que trabaja en DevOps, SRE, plataforma, ITOps y desarrollo puede usar para obtener los datos que desea con el contexto que necesita. Diseñada especialmente para aplicaciones nativas de la nube, pero independiente de la tecnología, la plataforma proporciona datos de alta fidelidad (con granularidad de 1 segundo y rastreo de extremo a extremo) de manera automática y continua con el contexto de dependencias lógicas y físicas en dispositivos móviles, aplicaciones e infraestructura.
Creada para la nube, IBM Instana le ofrece la siguiente ola en inteligencia de APM: observabilidad empresarial completa que le brinda una visibilidad rápida, automatizada y contextualizada del estado y la disponibilidad de todo su entorno de aplicaciones. Permite a sus equipos ejecutar diagnósticos, reducir el tiempo de respuesta, optimizar el rendimiento de las aplicaciones y acelerar las canalizaciones de integración y entrega continuas (CI/CD).
Explore esta guía para principiantes para comprender qué es la observabilidad y cómo puede iniciar su experiencia de observabilidad empresarial en tres sencillos pasos.
Descubra cómo la plataforma de observabilidad en tiempo real totalmente automatizada de IBM Instana pone los datos de rendimiento en contexto para ofrecer una rápida prevención y corrección de problemas.
Para Rebendo, un desarrollador de soluciones de gestión del rendimiento, la integración con Instana permitió a los clientes supervisar en tiempo real los procesos de la aplicación para hacer más fluidas las operaciones.
Conozca el significado de la observabilidad empresarial, lo que se necesita para lograrla y cómo IBM Instana Observability ofrece el conjunto completo de soluciones de supervisión y observabilidad que los equipos necesitan para prosperar en un mundo orientado a los microservicios y que se mueve rápidamente.
El seguimiento y la observabilidad son dos formas de identificar la causa subyacente de los problemas: ¿en qué se parecen y en qué se diferencian?
Al adoptar las herramientas y prácticas adecuadas, las organizaciones pueden gestionar de manera eficaz entornos complejos de microservicios mientras optimizan la entrega de aplicaciones.