GE曾经在各业务部门分别开发了提高工业机械生产效率的应用程序。由于各业务部门的软件开发力量不同,所以品质也良莠不齐。为了改变这个状态,GE决定由GE数字集中开发Predix的基本应用程序,各业务部门在基本应用程序的基础上进行功能扩展,开发适用于各种工业机械和客户需求的软件。
在基础应用程序上进行扩展的方法,IT行业称之为“Customize(定制化)”。
APM、运营优化、卓越制造都是具备这种基本功能的应用程序。GE数字为了使各业务部门更容易扩展Predix应用程序,在开发Predix应用程序时使用了微服务的架构。微服务的“服务”是指应用程序具备的各种功能在其他的软件也能使用。
我们平时在计算机上使用的应用程序不具备可以同时使用其他软件的功能。比如,使用微软的Word时,不能在Word的画面内导入Adobe Systems公司的Photoshop软件来进行画面编辑。这是因为Photoshop软件的功能并没有作为“服务”公开。
与此相反,GE数字开发的Predix的应用程序,各应用程序的功能作为“服务”向外部程序公布。具体而言,操作Predix各应用程序的外部程序“API(Application Program-ming Interface,应用程序编程接口)”是可以接入的。软件开发工程师用API进行编程时,可以利用APM等外部程序的各种功能。软件开发工程师通过开发这种程序,能够实现Predix应用程序的扩展。(www.daowen.com)
接下来,笔者解释一下微服务中“微”的意思。一般的应用程序是拥有各种功能的独立程序。相反,Predix的应用程序中,各种功能按照类别安装在各个独立的小程序中。向外部程序公开的服务因为安装在独立的小程序中,所以被称为“微服务”。
Predix应用程序之所以安装微服务,是为了提高软件各个功能的独立性。由于各个功能彼此独立,所以各个功能可以分别自主地更新,这是微服务设计上的优势。各个小程序中没有分割的软件被称为“monolithic(单体)”。使用单体架构设计软件时,由于各个功能间紧密结合,在一个功能上追加变更的话,大多情况会对其他功能产生不好影响。所以,功能更新不是那么容易实现的。
但是正如第4章介绍的那样,GE在软件开发时采用了频繁更新各种功能的精益创业的方法论。导入微服务的原因是为了使精益创业方法论推行变得容易。GE数字按照微服务的类别分别设立不同的开发团队,各个功能的微服务根据各个开发团队的判断,以数周到一个季度为单位不断更新功能。这种频繁更新软件内容的开发方式在IT行业被称为“continuous delivery(持续交付)”。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。