依赖关系映射是指识别、了解和可视化组织的 IT 运营内的应用程序、系统和流程之间关系的过程。
现代 IT 环境包括许多不同类型的软件、硬件、网络设备和虚拟化技术,并混合使用本地基础设施和云环境。识别所有这些系统并了解它们的依赖关系是一个非常重要但具有挑战性的过程,可以帮助组织简化和优化他们的 IT 生态系统。
这一过程可帮助组织发现需要立即修复的漏洞以及独立流程更能发挥优势的低效方面。借助这一过程,组织可以改进他们的决策,并更好地了解任何组件在出现故障或问题时会对 IT 生态系统的其余部分产生什么样的影响。依赖关系映射经常通过甘特图等可视化方式直观地呈现整个 IT 环境中的 IT 资产。
依赖关系既可以是垂直的,即不同类型的 IT 组件(例如服务与应用程序)之间的依赖关系,也可以是水平的,即类似组件(例如应用程序与应用程序)之间的依赖关系。
在存在依赖关系的生态系统中,一个组件(例如一个发生错误或代码故障的软件)发生的事件或问题可能会使整个依赖关系链面临风险,并导致整个系统中断。这通常被称为“依赖关系地狱”。组织希望了解依赖关系的工作方式并消除不必要的依赖关系,以尽量减少上述情况。
通过一个临时或手动流程识别依赖关系可能既漫长、又耗时,而且无法保证 IT 团队成员能够全面了解系统的复杂性。因此,组织通常利用依赖关系映射工具和自动化来帮助将应用程序、数据和任务之间的关系可视化。
鉴于现代企业 IT 服务的相互依赖性,作为可观测性实践的一个核心组成部分,依赖关系映射变得越来越重要。可观测性可帮助各个组织将分布式应用程序可视化,以优化性能以及更快地自动发现和解决问题。
依赖关系映射是 IT 项目管理和变革管理工作的一个关键组成部分,因为组织必须了解自己的系统如何交互和相互依赖,才能有效地管理正在进行的项目和组织变更。
依赖关系和依赖关系映射分为几种不同的类型,它们会影响组织的综合战略。通过按类型对依赖关系进行细分,可以帮助组织更好地了解他们的 IT 系统中最具影响力的依赖关系以及如何改进这些依赖关系。
应用程序依赖关系映射(也称为应用程序发现和依赖关系映射)专门关注应用程序之间的依赖关系。应用程序依赖关系映射可以帮助组织解决应用程序性能瓶颈,并确定如何让他们的应用程序更可靠、更高效地运行。
这涉及了解服务器、网络、数据库和存储系统之间的依赖关系。例如,基础设施依赖关系映射将确定一台服务器崩溃会对其他服务器产生什么样的影响,或者数据库故障如何影响组织的整体数据存储。这对于了解正常运行时间和灾难恢复特别有用。
这一学科将识别系统的内部组件和现有的依赖关系,以及企业内的各个系统之间的依赖关系。它还可能包括组织所从事的行业内的外部依赖关系。组织所涉及的行业或侧重点将决定此依赖关系映射中包含哪些系统。
例如,它可能涉及银行的金融系统、能源生产商的智能电网系统或者医疗保健组织的医疗保健信息系统。
这种简单的方法对 IP 地址执行 ping 操作,以便从响应中了解被 ping 的设备的类型。这样可以帮助组织执行简单的网络审计,但无法实时了解依赖关系,尤其是在敏捷的环境中。
这种依赖关系映射会对网络中的节点和连接进行物理排列和逻辑排列。
这些是组织内部 IT 基础设施中的依赖关系,例如本地数据中心和私有云中的软件、服务器和其他工具之间存在的依赖关系。
这些是组织控制的应用程序、流程和系统内的依赖关系,组织可以通过这些依赖关系进行干预,以解决问题或者消除或增强依赖关系。
在当今的 IT 环境中,软件开发和网络基础设施中的依赖关系是由几个原因造成的。这些功能包括:
现代组织更有可能使用开源软件,因此需要在自己拥有的应用程序之间进行通信,并通过第三方来管理开源软件的更新和其他更改。
组织需要迅速行动才能取得成功。因此,他们采用了业务敏捷性,即快速重新配置服务和推出新解决方案以应对需求变化或客户习惯变化的能力。
为了提高敏捷性,组织转而使用微服务架构以构建应用程序,这些应用程序被拆分为一些通过 API 进行通信的独立服务。采用这种方法,不同的团队可以处理应用程序内的不同服务,最终加速软件开发过程。
虽然微服务的组件独立运行,而且理想情况下的每种微服务解决方案都是完全自主的,但微服务解决方案的一些组件服务通常通过 API 与网络中的其他微服务进行通信。这可能会产生依赖关系。
使用公有云的组织在外部托管数据、服务和应用程序。为了有效地管理运营并利用云计算的扩展优势,组织必须了解他们的云服务如何依赖他们的本地服务,反之亦然。很多云供应商都具有用来映射这些依赖关系的工具。
依赖关系映射以及这一学科提供的增强可观察性可以帮助组织:
如果组织能够全面了解自己的 IT 依赖关系,并了解一个问题如何波及另一个问题(例如一个 SSL 库问题如何在网络中产生安全漏洞,或者对外部 API 配置进行的更改如何导致应用程序脱机),则更适合从一开始就防止灾难发生。
通过了解依赖关系的每一次变化如何影响整个系统,可以帮助组织更好地为未来的攻击或问题做好准备。
如果拥有强有力的依赖关系映射实践,组织可以更好地确定事件响应协议的优先级并优化事件响应协议,以确保尽可能延长正常运行时间。
依赖关系映射可以帮助组织将发现的问题追溯到最初的问题或错误。这样有助于确定根本原因并增强整个系统。
依赖关系本质上并不坏;事实上,依赖关系可能是有益的。例如,依赖关系允许在其他组件中重复使用现有的代码,从而最大限度地减少新的开发需求。不过,并非所有依赖关系都是必要的。
通过全面了解依赖关系,可以帮助组织确定哪些依赖关系是强制性或有价值的、哪些依赖关系应当消除。
了解关键依赖关系可以帮助组织更有效地分配资源。通过确保为系统的其他部分所依赖的组件提供适当的资源和监控,组织可以采取措施,以降低大面积性能下降或故障的可能性。
利用 AI 和自动化的强大功能,主动解决应用堆栈中的问题。
不仅能实现简单任务的自动化,还能凭借内置的采用和扩展机制,自动处理备受关注且面向客户的创收流程。
借助可简化各种流程和任务的工作流自动化软件来提高工作效率。