云计算自从概念提出后, 经过了不断的发展,近些年已经逐步走入了实用阶段。有许许多多的企业从云计算中获得成功,有些是在提高运营效率方面、有些是在实现业务目标方面、有些是在节省基础架构费用方面。
在这里想简要探讨的是卡车企业是如何在进行云平台部署和应用的一些尝试性工作。卡车业务本身就是一个很复杂业务领域。特别是国际化卡车企业的设计、制造、销售、售后,都包含着极为复杂的业务流程与大量的数据处理。而且卡车企业的业务系统都是经过了若干年的发展与更新,其所使用的平台与技术非常广泛。在基础架构方面,为了支持负责的应用场景与业务需求,卡车企业一般都会有完备和成熟的管理体系(包括流程与系统)来负责从硬件设备的采购到系统部署的一系列业务场景。那么这样的企业还需要云平台吗?是什么在驱动着这样的企业进行云平台应用的尝试呢?是大势所趋还是盲目跟风呢?
在云平台发展的同时我们也看到,软件开发方法也在有着日新月异的变化。从敏捷思想的提出到 DevOps 的日益成熟,我们可以看出软件系统从开发迭代到应用部署需要更为快速和灵活地适应业务的变化。随之而来地是,我们如何在技术、流程、系统上进行变革来更快速地实现业务变化地需求。云计算因为其灵活部署、可扩展等特性,很自然地受到了关注。
我们希望云平台可以带来什么
在云计算的应用过程中,我们通常会需要决定使用那个层次的云服务,IaaS, PaaS, SaaS。在实际使用过程中,情况通常是复杂的,根据不同部门,不同的业务场景,对云服务的需要也不尽相同。对于企业内部的云计算来说,云计算的应用更加着重与如何更加灵活和快速地进行应用地部署以及开发部门如何高效地搭建开发及测试环境。那么 PaaS 服务则是在这中类型的场景下得到了广泛的应用。
与此同时,对于卡车企业,在销售和售后环节不仅有自营品牌的经销商还有大量的第三方经销商需要使用其相应系统展开业务。目前在对第三方经销商的系统应用管理上流程处理相对复杂而且日常维护也会耗费大量的人力和资源。因此如何成功地部署基于 SaaS 的服务应用不仅在第三方经销商的系统管理中获得巨大的便利而且对自营品牌经销商的应用部署也有很多益处。但是如何将现有的应用迁移至 SaaS 应用,需要大量的设计开发工作。这需要较长的时间才能看到其带来的实际效果。从另一个角度讲,目前在公有云上已经可以找到很多的 SaaS 应用。那么我们是否应该直接订阅这些应用呢?
我们要订阅公有云服务吗
是否需要订阅公有云服务,在企业内部意见并不像应用云计算那样容易获得一致的支持。公有云服务厂商如 Google, Amazon, Microsoft 等,均提供了其相应的 IaaS, PaaS, SaaS 服务。
如果我们从卡车企业的需求特点来看, IaaS 虽然是基础架构的根基部分但据其实际使用场景还有一定的距离。如果服务是在 IaaS 层面,还不能完全符合卡车行业的需求即快速灵活的应用部署以及适应软件开发的快速迭代。因此如何搭建 PaaS 的平台更加符合这类企业的实际需求。但是要不要采购相应的公有云服务一直是一个有较多争论的话题。与此同时 SaaS 带来益处是很多企业都非常认可的,特别是在新兴技术如:语音识别、图像识别、人工智能算法等方面的服务。这是因为卡车作为一个传统型行业正在积极的寻求产业升级的突破口。不仅实在工业 4.0 方面对企业自身进行现代化改造,同时卡车企业也在研究如何提供对客户更有价值的增值服务。SaaS 为卡车企业带来很多便利,节省开发投入,生产系统成本最小化等。从另一个角度看,公有云的安全性方面尚需时间来验证。这是大型企业在大量采购公有云服务时一个很大的顾虑。特别是敏感数据,在使用公有云时更是慎之又慎。
DevOps 来了
DevOps 是近些年开始广泛应用的概念。针对于快速相应业务的需求,DevOps 的理念的确十分吸引开发者与系统用户。例如 GDPR 的颁布则需要在许多企业系统做相应的处理,而且对时效性要求比较高。通过这个例子,卡车企业更加深刻地认识到能够快速部署系统更新是应对业务变化的重要步骤。那么在众多企业内部应用和各种技术交织的复杂环境下,我们如何能够使 DevOps 理念能够更加快速地得以实现呢?
容器云借助其更为高效得虚拟化,更为快速地部署过程,以及其便捷地可扩展性和可迁移性获得了很多开发团队地青睐。针对于卡车企业内部已经拥有了大量地硬件资源,那么如何在企业部分方面地搭建私有地容器云就自然而然地成为了企业的首选项。
Openshift 的应用
谈到 Openshift 的应用,就需要从Service Catalog 说起。在使用Service Catalog之前,对基础架构资源申请和分配的流程可以简单的描述为下面这张图。
从这张图上很容易看出来,在服务的使用过程中存在着需要人工干预的步骤。而这些人工干预的步骤极大的影响了服务的使用效率。Service Catalog和Service Broker概念的实现,对整个服务使用过程有了根本性的转变。
在实际使用过程中,开发部门会根据对开发、测试环境的需求在Service Catalog中选择相应的内容进而完成对环境的快速搭建。同时生产系统的部署效率也获得了很大的提升。
从开发过程角度来看,我们可以使用Openshift 中提供的持续集成(Continuous Integration)和持续交付(Continuous Delivery)平台、管理工具来支持对业务变化的快速响应。从软件架构的角度看,卡车企业也正在不断地将系统架构迁移至微服务(Micro Services)以提升其系统的整体可维护性。基于Openshif的容器云也是部署微服务的一个非常有效的途径。这是因为Openshift是运行在 Kubernetes cluster之上提供了低耦合单元(decoupled units)的协同工作机制。
上面这张图从架构层面简要地描述了,开发人员、运维人员是如何通过Openshift来进行CI/CD的团队合作。Openshift容器平台(container platform)具有:
为开发人员提供的代码管理、编译、部署能力
软件系统的镜像管理能力
系统扩展能力
对于大型开发组织的团队及成员跟踪能力
网络架构支持集群的能力
因此,在应用Openshift的过程中,从开始试点性应用到大规模部署,从简单系统到复杂系统,企业内部的管理流程和管理工具都可以保持相对的一致性。这也是企业决定部署容器云的必要步骤和考量标准。
后续研究
从业务角度讲,由于业务变化而带来的软件系统的功能变化是业务部门对IT部门最基本的需求。与此同时,软件开发理论和方法也在不断地成长变化。从当下比较流行的 DevOps 方法论来看,软件开发维护的过程是一直趋向于如何更好地实现变化方面发展地。这也是非常符合业务部门对IT部门地需求。而容器云正是当前能够从基础架构方面满足IT部门的技术。Openshift 是目前容器云的试点和开端,卡车企业的基础架构部门正在积极地研究如何提供更为高效和灵活的私有云服务来满足更为复杂的技术和业务需求。
在另一个方面,如果构建混合云。特别是能够方便地使用公有云的SaaS服务的混合云一定是卡车企业的下一个发展方向。