跳到主要内容

保存的帖子

新的力量

Dave Nicolette |龙头
戴夫尼科尔特 高级顾问
读: 新的力量

其中一个人试图建立进入他们的软件是可维护性的。只要我能记住,这一直是这样的(尽管随着年龄的增长,但我的记忆越短)。

随着改变的步伐继续增加,IT组织能够按需提供的必要性也会增加。We’re on the look-out for anything that can enable this: continuous integration, heavy test automation, Behavior-Driven Development, DevOps, automated deployment, resilient infrastructures that can adjust dynamically to changing workloads or server outages, reactive architectures that flex under user demand.

可维护的申请可能无法达到这些挑战。“可维护性”的想法意味着申请是一个长期的伪影;大教堂或大金字塔。但是跟上改变的需求可能会要求一些不同的东西:可以丢弃并迅速更换的应用,对客户没有负面影响,低风险和低成本。

情况要求新的:替换性。

你的第一次反应可能是“我们不能这样做。”你是对的。今天你不能这样做。询问我们想做我们今天无法做的事情的适当问题是:

现在才能实现什么是真的,以便启用新事物?

战略和战术资产

我可以看到的第一个先决条件是我们必须明确决定哪些申请是战术的,这是战略性的。我认为可替换性的想法涉及战术资产,而不是战略性的概念。

如果您有一个设计精心设计的SOA环境,可以通过假设“核心”中的大多数应用程序来开始是战略性的,并且通过服务层与核心资产交互的大多数应用程序都是战术的。

大多数组织没有精心设计的SOA环境。如果我们没有那种优势,我们怎样才能开始?我认为我们可以考虑什么类型的IT资产是我们业务运营的核心。亚博vip9通道

这是一个建议的分类法,用于讨论目的。

  1. 以数据为中心的操作
  2. 以交易为中心的操作

数据是运营核心的组织是以数据为中心的。我会建议这些类型的企业,为初学者:亚博vip9通道

  • 投资者的咨询公司
  • 收集有关车辆历史信息的公司

一个大容量快速交易处理的组织是运营的核心是以交易为中心的。我会建议这些类型的业务:亚博vip9通道

  • 社交媒体服务
  • 大众营销公司

这一分类系统出现明显的反对意见:所有这些类型的企业以一种方式以数据为中心。亚博vip9通道显然,投资咨询公司收集和分析有关股票的数据,车辆历史公司收集有关车辆生活中的事件的数据。但社会媒体公司和大众营销公司也在数据业务中。亚博vip9通道前者销售有关用户及其偏好的信息,大众营销公司取决于擦洗邮件列表或电话列表,以最大限度地提高大规模营销活动的响应率。他们不是所有数据为中心的企业吗?亚博vip9通道

当我看到的关键是从IT操作的角度来看问题。在前两个案例中,数据的集合至关重要。它必须清洁,一致,准确,易于访问。战术应用程序就像Windows进入数据,以及对数据感的算法的客户端。数据和算法是这种情况下的战略资产。

在社交媒体服务和大众营销公司的情况下,数据中可能存在大量的噪音,而不会产生负面影响。亚博vip9通道更为重要的是他们可以快速处理大量交易。它们甚至不需要酸数据库。肮脏的读数没关系。追赶“最终”的更新是好的。但交易处理必须绝对岩石固体。

另一个差异涉及数据的“粘性”。投资顾问和车辆历史记者需要保持长期历史数据完整。历史越长,他们可以向客户报告的信息越好。

社交媒体服务和大众营销人员无需长期保留有关客户偏好或客户地址和电话号码的信息。这些信息类别往往是短暂的。当人们经历不同阶段的生活阶段时,人们的口味随着时间的推移而变化。人们不时搬迁和更改电话号码。它很容易重新开始;肯定没有对投资工具的性能历史相同的影响。

战略资产的考虑因素

一旦我们确定其资产是战略性的,我们可以对每个类型的选择和支持应用适当的考虑。

在我看来,以下考虑适用于战略资产:

  • 供应商关系:合作伙伴
  • 关键产品选择标准:特定产品的独特功能
  • 支撑预算:高
  • 替代成本:高

新的,可换剂,不适用于战略资产。我们会故意将自己锁定为特定产品,因为它提供了有助于支持我们的业务需求的特殊功能。亚博vip9通道我们不会与卖方视为客户,而是我们将与他们建立伙伴关系安排。我们需要对任何与我们的战略资产相关的任何内容和一切都很紧密和立即支持。为了得到它,我们将更多地支撑这些资产,而不是我们将支持战术的资产。我们还会接受这一事实,即需要替代战略资产,这样做会涉及重大努力和成本。我们不打算经常更改战略资产。

一边:敏捷开发的含义是什么?战略资产的变化将倾向于以低不确定性,低位较低的压力的特征为特征,以及对显着的前期分析和规划的需求。这不是传统敏捷方法的甜蜜点。

取代战术资产是什么意思?对于投资咨询公司,数据和分析算法是战略资产。基于Web的或移动客户端只是“Windows”进入这些资产。这些客户端应用程序应以低成本和低风险更换。替换,例如,具有Ruby WebApp的.NET WebApp应该对中央数据存储或执行投资分析的代码影响零影响。

战术资产的考虑因素

在我看来,以下考虑因素适用于战术资产:

  • 供应商关系:客户/供应商
  • 关键产品选择标准:遵守供应商中性标准
  • 支撑预算:低至中度
  • 更换成本:低

这是一种互换性成为企业的关键成功因素的地区。

虽然大多数组织缺乏定义明确的SOA基础设施,但每个战术应用程序都会有一些与战略资产互动的方式。在一个既定的组织中,几乎总是一系列不同的方法:点对点接口,文件共享,SOAP服务,RESTful Services,RPC,交叉内存服务......您将其命名为。该模型不依赖于任何特定的技术实现。旧技术与较新的方式适合模型。

关键点是我们不希望任何烘焙依赖性对上面的产品特定功能和超越“普通香草”支持供应商中性标准。我们希望不时替换这些应用程序,当我们这样做时,我们不想遇到技术问题的墙。Web服务器是Web服务器;规则引擎是一个规则引擎;SQL数据库是SQL数据库。我们不想以一种方式配置战术资产,这将增加成本或延迟的替代品。

一边:敏捷开发的含义是什么?(或更换)战术资产的变化将倾向于以高时间的压力为特征高意味着不确定性,即使不是高端不确定性。这是敏捷开发等自适应方法的甜蜜点。

取代战术资产是什么意思?假设社交媒体服务从1亿用户增长到10亿用户,并且他们使用的文档数据库不再提供他们所需的交易时间。他们希望切换到图形数据库或关系数据库。他们需要能够用最少的麻烦来做这件事。他们将不得不重新格式化数据;希望能够用脚本完成。但总有“托克斯”。我们的目标是使一切都像在战术层面上一样简单,以尽量减少不可避免的“GOTCHA”的数量和难度。

启动器1:按示例/行为驱动的开发规范

您可能会争辩说我们在过去替换了应用程序,并且总是一个麻烦。我们住在了多少“这只是一个重写”项目?我迷失了数量。我猜你也有。

当我们更换战术应用时,我们需要一种实用的方法来确保我们没有忽略一些重要的功能。据我所知,没有神奇的方式来做这件事。但是,有一种技术提供了一个非常好的部分解决方案:被称为的文本的“语言”嫩香

Gherkin是旨在支持的格式文本的规范按示例规范或者行为驱动的发展。关于更换战术应用的目的,对Gherkin的有趣事情是它是技术无关的。从一个平台移动到另一个平台时,您唯一必须更改的是,如果您正在搬到Microsoft Windows,则是线路结局。任何平台上的任何Gherkin解释器都可以处理标准的gherkin文本文件。

如果我们用另一个数据库管理系统替换一个数据库管理系统,但在那种替换中,我们没有帮助我们对忽略功能要求的担忧。Gherkin可以帮助更换访问战略资产的“窗口”应用程序。应用程序的用户可观察行为可以以gherkin场景的形式捕获,然后可以用于确保新应用程序支持与旧的应用程序相同的功能。

通过例如示例或行为驱动的开发,使用规范没有涉及的真正成本。这些技术仅仅是技术专业人员的自律问题。Gherkin Interpering at the关于任何平台和任何编程语言都是免费下载的。这些实践的价值不仅可以清楚地扩展到要求,自动功能检查和可靠文件,而且有助于支持战术应用的可替换性的想法。

因此,帮助为分离战略和战术资产进行分离的地面的一种方法是回到丛林金中现有应用的功能规范。这可以随着时间的推移逐渐完成。

推动器2:对顾虑的分离

在使用遗产申请时,我们需要注意对关切的分离。特别是,在战略和战术世界之间的“边界”之间通信的代码必须与其余应用程序代码松散地耦合。这适用于战略应用和战术。

考虑社交媒体服务想要替换数据库管理系统的情况。战略交易处理代码不应受到此变更的影响。该代码的唯一部分应该受到影响的是直接与数据库交互的图层或组件。战略功能必须不知道数据库实施的任何更改。

因此,帮助为分离战略和战术资产进行准备的一种方法是重构遗留申请,以确保清洁关注的分离。这可以随着时间的推移逐渐完成。

概括

为了满足新兴的快速变革需求,IT组织需要考虑如何能够非常快速地更换有可能受到市场变化或业务方向的影响的技术资产。亚博vip9通道通过将战略和战术IT资产分开,我们可以采取措施,以确保更容易,快捷,更便宜地取代战术资产,同时仍然享有与支持我们业务运营的战略产品的特殊功能紧密集成的好处。亚博vip9通道以这种方式思考IT资产有助于我们了解在何处集中预算和努力,以实现最大值,最小的开销。

下一个>团队应该在短跑中完成 - 采访JJ Sutherland

发表评论

您的电子邮件地址不会被公开。必需的地方已做标记*