我们最小的孩子九岁半了! 别忘了一半!)他目前对机器人非常着迷。 不只是和它们一起玩,还要对它们进行编程。 由于父母都拥有计算机科学的高级学位,你可以想象我们对这一特殊趋势感到兴奋和鼓舞。
因此,提供易于学习的编程模型的机器人当然现在在我们家里已经成为一种流行事物。 今年夏天的玩具之一是Wonder Workshop生产的,其机器人可以通过类似“块”的语言进行编程。
这是当今孩子的常态。 这个孩子在各种设备上玩了很多“游戏”,所有游戏都使用相同的“块”状模型来构建程序。 甚至他的Lego Mindstorms Ev3机器人也使用了类似的机制,其中编程结构是您连接在一起的块。 变量和条件是通过选择来设置的,并且屏幕上没有显示实际的“代码”。
但你知道它就在那里。
当我评估 BPM(业务流程管理)解决方案时,他们使用了类似的范例来让业务利益相关者定义流程。 它的界面反映了流程的本质,也就是说,您可以使用拖放模型构建流程图,但编排的大部分构建都是通过更易于学习的界面完成的。 就像我最小的孩子今天使用的一样,只是更像 Visio。 现在我想起来,它更像 Visio。
忘记孩子们。 这就是IT自动化需要走的方向。 当今 IT 自动化固有的复杂性没有任何原因,只是没有人认识到,如果我们想鼓励更多的 IT 自动化(并且由非天生的程序员来执行),我们需要找到一种更好的方式来构建代表用于部署、管理和配置 IT 基础设施的 IT 流程的工作流。
我们首先需要达成共识的是,程序化并不一定意味着“你可以用代码做任何你想做的事情”。 从最自由的意义上来说,这是真的,但它也意味着以编程方式改变或定义行为的能力。 在 IT 中执行工作流需要执行有限的操作,目前大多数操作都是通过(其他)API 经济实现的。 通过提供一个封装这些有限操作集的接口,并提供清晰易懂的逻辑结构(if/then、while、迭代函数),我们可以表面上消除非结构化脚本机制的趋势,这种趋势给 IT 运营带来比过去企业开发的大多数软件更多的技术债务。 这种程度的约束抽象还可以使非本地编码人员(网络和存储工程师和架构师)生成结构良好且可维护性强的工作流程(标准化的重要驱动因素)。 当与无服务器主干结合执行工作流时,该模型减少了创建、维护和执行适合 IT 运营的工作流所需的投资。
这很重要,因为我们需要以可持续性的眼光来对待 IT 自动化。 今天的脚本运行良好,但它将来能否随着人员和流程的扩展而扩展?
现在,也许我们不需要这么简单(或丰富多彩)的解决方案,但我认为,界面设计的前提很重要,以便适应我们展望 IT 自动化的未来以及我们如何构建(和维护)最终使IT 运行的代码。 遗憾的是,我们倾向于将底层系统的复杂性转移到与它们交互并控制它们的系统(以及界面)的设计上。 我们希望尽可能地暴露每一个旋钮和按钮。 至少,API 代理可以提供一种方法来将 CLI 的自然复杂性转化为更易于理解的操作任务,这对于负责自动化 IT 网络和应用服务的人来说是一种福音。 登录可能是一个复杂的过程,包含每次重复的多个步骤。 将它们组合成单一的“服务”使得它们除了一致性之外,还具有可重复性和无限的可审计性。 结合(更)直观的界面,我们就成为了 IT 自动化的赢家。
如今,儿童“编码”应用程序的界面证明,你可以做到这一点,而不会让用户感觉他们正盯着一台没有手册指导的 ENIAC。 我们可以做得更好,如果我们要扩大内部数字化转型以跟上业务发展,我们就需要这样做。