Dependencies 如何跟踪系统依赖关系?

Dependencies 如何跟踪系统依赖关系?,dependencies,system,Dependencies,System,导言 在我目前的组织中,我们有许多桌面和web应用程序,它们都在某个时刻相互输入。在查看旧的应用程序或创建新的应用程序时,很难尝试并记住哪个系统依赖于其他系统才能工作。我说的不是像DLL和图像这样的软件依赖性,我说的是整个系统,比如依赖于人力资源系统的财务系统等等 我的问题 跟踪一个系统如何依赖另一个系统的最佳方法是什么 答案可以建议执行上述操作的方法、软件包或文档技术 在我的例子中,很多是指超过20个web和桌面应用程序,超过12个服务器。我想在您的架构设计文档中明确指出这一点。这方面有一些很

导言

在我目前的组织中,我们有许多桌面和web应用程序,它们都在某个时刻相互输入。在查看旧的应用程序或创建新的应用程序时,很难尝试并记住哪个系统依赖于其他系统才能工作。我说的不是像DLL和图像这样的软件依赖性,我说的是整个系统,比如依赖于人力资源系统的财务系统等等

我的问题

跟踪一个系统如何依赖另一个系统的最佳方法是什么

答案可以建议执行上述操作的方法、软件包或文档技术


在我的例子中,很多是指超过20个web和桌面应用程序,超过12个服务器。

我想在您的架构设计文档中明确指出这一点。这方面有一些很好的工具。此工具允许您使用UML标准创建图表,以清晰直观的方式描述这些依赖关系。

最佳信息源通常位于配置文件中。这通常包含连接字符串、web服务URL等,这将很好地了解外部依赖关系

另一种技术是通过使用分析或跟踪并应用过滤器,我们可以轻松地跟踪任何外部调用。大多数情况下,依赖关系在数据库层,检查链接服务器并跟踪其依赖关系可以挖掘大量信息


我不确定是否有任何自动方式获取此信息,尤其是当系统位于多个平台上时。记录所有这些都需要大量的手工工作。

听起来像是一项尽可能自动化的企业发现工作。根据组织的规模和环境,有不同的解决方案。对于大型环境,您仍然需要CMDB(配置管理数据库)。像这样的产品可以在大规模环境中发现和跟踪依赖关系

例如,它可以发现SAP系统及其相关数据库与运行分布式系统的主机之间的关系,并向您显示相关性。更重要的是,它可以在对实际环境进行未经授权的更改时向您发出警告

所以答案取决于你所说的“很多”。

< P>这是一个很好的问题——我们似乎每次都在挣扎。

在过去一年左右的时间里,我们试图在两件事上做到“无情”:

  • 自动化——如果您经常对其进行自动化和构建/部署,那么自动化过程在大多数情况下都会趋于正确(配置设置等)

  • 维基,维基,维基——我们努力使团队和项目维基保持最新


  • 很想看到其他回应。

    这是我们在生产的应用程序,许多大型组织正是为了这个目的而使用的。您可以使用该产品来发现您的资产,并使用建模功能来描述您的业务应用程序(通常由多个软件和span服务器组成)

    听起来好像你有资格使用免费社区版基金会,你可以在30个服务器上使用它。那么请让我们知道你的想法


    免责声明:我在运行开发组。这个产品在我看来很酷,尽管我自己没有直接写过:)

    一个接一个地关掉每台机器,看看有什么坏了;p

    严肃地说,这个问题没有简单的答案。通过一组系统,您可以创建一个显示基本依赖关系的图表,但除非您知道依赖关系是什么,否则它就没有多大意义。通常,您的目标是确定在更改另一个系统时需要“重新验证”什么,而不是随机关闭哪些机器。但这类信息需要大量的细节,而且首先很难积累


    所有这些最终都会导致一种情况,即您的系统领先于您的自动化。你永远也找不到一个收缩包装的自动化工具可以跟上。另一方面,由于需要如此多的细节,任何能够处理一半甚至三分之一工作负载的东西都将是有价值的。

    系统依赖关系映射是一回事。 真正的环境设置、uid、密码、模拟设置、数据库名称以及从开发到qa到uat再到生产的其他数据是真正的挑战

    谁存储/记住了它们

    开发人员不知道其应用程序将驻留在哪个生产服务器上。 他只记录开发数据库的名称、uid、pwd,并描述他的数据库表、conn字符串等

    一旦将其签入代码存储库并迁移到QA环境中,谁是用正确值更新这些配置文件所需数据的保管者

    同样,当迁移到QA和UAT时,是谁

    谁有责任通知下一个移民小组需要改变什么

    在我的公司里,这是最让我们头疼的。当它得到内部变更控制流程的批准并创建迁移请求以将应用程序迁移到生产环境中时,只需要一个配置设置就可以忘记破坏整个实现,而且这种情况一直都在发生,因为没有划清责任界限(在我的选项中)

    我认为除了责任之外,还有一个信息的中央存储库

    即,存储所有项目/应用程序的所有配置设置的系统,根据您的“角色”,您可以/无法看到实际值

    开发人员完成构建,并在“系统”中创建迁移请求。 QA人员收到通知t
    digraph g {
     rankdir=LR;
     app1->app2->db1;
     app1->app3;
    }