浓情中科白癜风欢度新年 http://pf.39.net/bdfyy/bdfyw/171020/5777859.html自从工业4.0将信息物理融合系统(CPS)的概念引入工业生产系统,我们就经常看到图1所示这张图。
图1:工业生产多层递阶系统的扁平化趋势
图示左面揭示了生产系统的多层递阶逻辑结构,右面则反映了随着工业4.0和智能制造的发展,这些不同功能的软件之间的通信关系以及数据流动的关系,不再遵循多级递阶的方式而扁平化,可快速协同直接交换数据。于是构成基于CPS的工业生产自动化系统。
信息物理融合系统(CPS)在第四次工业革命中起着巨大的作用,而包含在CPS中的物理部件毫无例外地内嵌着控制、监控和协调的软件。
与传统自动化系统相比,运行于实际的物理部件中的软件更为复杂,而这些部件之间的相互连接也随之大大增加。
当控制软件的重要性和复杂性增加的时候,其升级的频率也必然增加。大规模客制化要求制造厂商在生产过程中按照客户的专门要求进行改变(例如在数控机床中加入更新更好的路径规划算法)。现在已经有可能运用监控和机器学习工具来预测软件升级变化带来的加工过程的改善。但是如果每一次软件升级都要完全停机,无疑在软件升级的同时造成了相当大的损失。这就提出了一个无法绕开的问题:在软件升级时应尽可能地局部停机,甚至完全不停机。
生产系统通常服从如图1所示的多级递阶结构。系统的底层直接与硬件通信,并将相关的数据向上层发送报告。传统的递阶系统不仅用作各层部件的逻辑结构,实际上也同样表现为多层递阶的部署。所有层级的部件通常都按制造厂预置的IT结构部署,网络的基础架构里实施的数据流动也按金字塔的定义进行。
随着出现大量的云计算和信息物理融合系统,这种严格的多层递阶系统已经软化。各个组成部分可以仍然按金字塔的层级分类,但他们的部署变得更灵活,例如部署在云上。这些组成部分之间的互动和相互作用也变得不那么紧密了,以至于数据可以根据要求来进行流动和传送。
实时应用正在登场
然而,实时的组成部件,通常并没有被纳入这类方式,它们依然由专用的平台来开发。一方面希望将这些部件转移至云基架构的同时,依旧保持传统控制系统因安全需求所必须具备的可靠性;另一方面既要创建为高级应用场合增加灵活性和易于部署的环境,又要填平与传统的大量实时控制软件之间的鸿沟。这就提出了在实时控制中如何满足上述要求的需求。
对于运行在云上的各类应用软件,只要将庞大的应用软件拆分为更小的服务,且各自独立运行,就可以获得灵活性。在这种情况下,容器技术登场。
在没有显著过载的前提下,运用容器化的操作系统可以将这些服务相互隔离开来。对于非实时的应用软件,容器化已经成熟地进入广泛运用的状态。那么对于实时的应用软件如何运用基于容器化的结构呢?
其实在云端运行工业应用软件已经有几种架构存在。早在年Gievhchi等人提出了一种PLC软件的云基架构的多租赁支持(multi-tenancysupport)方案,其在水平方向是可扩可缩的。他们将实时软件分为软实时、严格实时和硬实时,所谓的实时是指不使整个系统失效的最大时限。
显然云基系统是绝不能满足硬实时要求的。在一个有30个用户租赁的系统中,这一架构产生的往返时间低于ms的占99.72%。该架构以及其他的几种架构还是侧重于仿真运行传统的软件,结论是目前在云端运行工业软件的工作具有几百毫秒的时延。上述的工作只不过表明这一方法的可行性,但远没有解决实际的问题。
容器化简史
在年,当像SunMicrosystems这样的公司在建立超大规模的UNIX服务器时,人们就开始开发容器技术了。从运行和管理的角度看,容器技术易于在大型计算机内将应用软件划分成若干个小的模块,而不是让一个大的应用软件全部捆绑在一起运行。原始的容器概念就是在许多应用软件之间运用划分的方法,使管理大型的服务器更简单方便。容器技术的缺点是实现起来必须具有UNIX系统管理的
高度技巧,这对当时的大公司SunMicrosystems、Oracle、SAP等来说并不是问题,但却限制了将容器技术应用于相对小的公司。当容器技术逐渐变成可在Linux中应用以后,情况就大相径庭了,其应用变得非常普及。
这归功于一个风险投资推动的软件工具,大大简化了容器技术在Linux中创建、部署和运行的过程,这个软件就是Docker。年Docker正式宣布为开源软件社群,此后的5年时间内容器软件受到云计算和企业计算两方面的青睐。更令人高兴的是,前两年许多工业自动化产品已经将Docker配备到系统集成的软件工具中,使得最终用户能够方便地将自己的应用程序集成到他们的产品中。
电信行业正在进行全数字化,其中一个重要的工作就是把所有的模拟信号处理转移到网络前沿的边缘设备,所有从无线基站通过中心局交换机来完成的其它服务将完全由软件来完成。这一结果将带来高度灵活的基础设施,在增加新的服务时不必改动硬件。多年来电信网络的运营商一直在设想开发具有实时要求的大规模的软件定义的基础设施,其关键技术支撑就是容器化。
非常值得强调的一点是,可以缩小容器的规模使其运用到很小的系统中。Docker运行时软件已经可装到像树莓派这样的具有ARM核的单板计算机终端中,用来支持工业IoT的应用和服务,这给工业自动化带来许多新的可能性。
容器化技术的时代
自Docker在年成为普遍采用的容器化技术以来,这一云计算技术成了数字化业务转型的一种关键手段。诸如优良的移植性、系统资源的高效共享、以及具有广泛的支持等特性,使它受欢迎的程度不断在增长。在年3月发表的Forrester研究公司的报告中就指出,66%的机构都有采用容器技术加速了开发效率的经验和体会,75%的公司在应用部署的速度上取得了中等程度乃至显著的提高。
这些正面的影响在SolarWinds新近发布的“IT趋势报告”中也给出了如下积极的印证:有44%的被调查者将容器技术列为最重要的首选技术,38%认为容器技术将是今后5年内最重要的优先技术。这些统计数字证实,对容器技术的兴趣和采用必将与日俱增。
容器化双剑客
要成功地部署容器,必须了解影响这一技术的方方面面,特别是编排对管理容器技术的生命周期有很大帮助,容器化技术采用的越多,容器的编排将变得越来越重要。这是由于IT管理人员广泛采用流水线的管理方式,并要求对节点集群运行容器软件来实施调度、服务发现和监控检查,容器编排正是针对这些日常必须