其他见解

跨越开源采用障碍的5个步骤

尽管开源有很多优点,但它也有自己的挑战。读我的博客“了解采用开源的障碍”深入了解这些挑战,包括难以识别正确的开源技术、人才匮乏和高成本以及管理合作伙伴生态系统(特别是在大型转型项目中)以获得最佳的品种解决方案。

组织必须主要关注五个领域来应对无缝采用的挑战。

  • 遵循体系结构优先的方法
  • 避免技术扩散
  • 从试点实施开始
  • 在初始设计阶段加入全栈架构师
  • 尽可能选择捆绑服务

遵循体系结构优先的方法

我们应该总是从架构开始,并理解架构的需求。产品的选择在后面。举个例子,在最近的一次接触中,我们决定使用社区DROOLs而不是企业产品,因为需求是拥有最小和简单的规则。不需要决策建模符号或案例管理。在另一个项目中,我们决定不使用商业业务流程管理产品,因为业务需求可以很容易地通过开源编排解决方案得到满足和管理。在另一个例子中,我们决定使用Redis,因为需求是会话管理。

避免技术扩散

无共享的分布式架构允许我们在应用程序的每一层都掌握多种语言。这为开发人员提供了自由,并有助于加速开发。但我们也应该意识到技术扩散的后果。它将导致支持方面的挑战,并需要在组织中维护多语言技能集。在大多数情况下,应用程序的每一层都有两种选择。

从试点实施开始

试验是证明体系结构的弹性、可伸缩性和性能的最好方法。需要选择试点,以便它涵盖复杂应用程序需求的一个良好示例。使用开源的好处是,我们总是可以免费从社区软件开始。这不仅有助于快速失败,也有助于减少失败的成本。

总之,为了利用开源产品和解决方案,在组织级别制定一个开源战略是非常重要的。在批准新产品和解决方案大规模实施之前,必须有强有力的治理来孵化新产品和解决方案。

在初始设计阶段加入全栈架构师

大多数现代化项目由于不正确的设计而遇到问题。每个组件都是独立查看的。很少考虑组件如何相互集成。有时也不考虑组件之间的兼容性。全栈架构师可以在这里发挥重要作用,从一开始就确保设计关注整体,而不是某些部分。例如,如果它是一个分布式架构,那么设计应该通过重试框架的实现来保证弹性。可观测性需要成为一个关键的设计考虑因素,因为分发降低了端到端流程的可见性。持久性层的选择需要与应用程序数据检索和访问模式保持一致。在Infosys,我们创造了产品评估框架、NoSQL数据建模器等工具来加速设计决策。

选择捆绑服务

为了减轻与多家供应商协调的负担,印孚瑟斯已经与领先的开源产品供应商合作,以便能够为我们的客户提供“软件+服务”解决方案。产品订阅是预先商定的,价格具有竞争力。