企业数字化转型的实现,总结起来可分为以下五个步骤,如图1-3所示。
图1-3 企业数字化转型之路
图1-3中的纵坐标为业务敏捷性,企业业务敏捷性方面的转型通常包含以下几步:
第一步:构建PaaS平台。PaaS平台为开发人员提供了构建应用程序的环境,旨在加快应用开发的速度,实现平台即服务,使业务敏捷且具有弹性。近几年容器技术的崛起更是促进了PaaS的发展,红帽OpenShift就是首屈一指的企业级容器PaaS平台。
第二步:基于PaaS实现DevOps。PaaS平台是通过提高基础设施的敏捷而加快业务的敏捷,而DevOps则是在流程交付上加快业务的敏捷。通过DevOps可以实现应用的持续集成、持续交付,加速价值流交付,实现业务的快速迭代。
第三步:借助于轻量级应用服务器,为现有单体应用提速。在开启云原生应用之旅时,企业不能只关注开发新的应用。很多传统应用都是确保企业顺利运营和不断创收的关键所在,不能简单地取而代之。企业需将这类应用与新的云原生应用整合到一起。但是,问题是我们如何加快现有单体式应用的运行速度。正确的方法是:将现有的单体式架构迁移到模块化程度更高且基于服务的架构中,并采用基于API的通信方式,从而实施快速单体式方案。在开始实施将单体式应用重构为微服务的艰巨任务前,企业应该先为单体式架构奠定坚实的基础。虽然单体式应用的敏捷性欠佳,但其受到诟病的主要原因是自身的构建方式。运行快速的单体式应用可以实现微服务所能带来的诸多敏捷性优势,而且不会增加相关的复杂性和成本。
通过对快速单体式方案进行评估,可以确保应用在构建时遵循严苛的设计原则,并且正确定义了域边界。这样,企业就能在需要时以更加循序渐进、风险更低的方式过渡至微服务架构。如能以这种方式实现快速单体式应用的转型,即可为优良的微服务架构打下扎实的基础。借助于Red Hat OpenShift和轻量级的应用服务器Red Hat JBoss EAP、JBoss Web Server,我们可以将传统单体应用迁移到容器中,为现有单体应用提速。此外,随着OpenShift承载的单体应用越来越多,就会涉及通过数据网格为单体应用提速。此外,随着越来越多的业务迁移到OpenShift,这必然会牵扯到不同业务系统之间的协议转换,即分布式集成。
第四步:选择云原生的应用开发和运行框架。随着物联网(IoT)、机器学习、人工智能(AI)、数据挖掘、图像识别、自动驾驶汽车等新兴技术的兴起,应运而生的应用开发框架也越来越多,我们需要根据特定的业务应用需求来选择语言或框架,因此不同的云原生应用会采用不同的应用开发框架。这就要求容器PaaS平台能够支持多种应用开发框架。红帽OpenShift不仅支持传统JavaEE应用和Spring Boot应用,红帽也发布了基于Java的云原生开发框架Quarkus。此外,随着IoT、AI的普及,实时数据流平台显得越来越重要。在IoT平台上,如何实现对数据库的变化数据捕获也是我们需要考虑的。此外,如何在OpenShift上更进一步地运行Serverless也是我们需要关注的。
通过IT自动化管理,避免手动执行IT任务,是加速交付云原生应用的重点。IT自动化管理工具会创建可重复的流程、规则和框架,以替代或减少会导致延迟上市的劳动密集型人工介入。这些工具可以进一步延伸到具体的技术(如容器)、方法(如DevOps),再到更广泛的领域(如云计算、安全性、测试、监控和警报)。因此,自动化是IT优化和数字化转型的关键,可以缩短实现价值所需的总时长。
第五步:实现微服务治理。通过对业务的微服务化改造,将复杂业务分解为小的单元,不同单元之间松耦合,支持独立部署更新,真正从业务层面提升敏捷性。在微服务的实现上,客户可以选择采用Spring Cloud,但我们认为Istio是微服务治理架构的未来方向。
图1-3中的横坐标是业务健壮性的提升,通常分为以下几步:
第一步:建设单数据中心。大多数企业级客户(如金融、电信和能源客户)的业务系统运行在企业数据中心内部的私有云。在数据中心初期建设时,通常是单数据中心。
第二步:建设多数据中心。随着业务规模的扩张和重要性的提升,企业通常会建设灾备或者双活数据中心,这样可以保证当一个数据中心出现整体故障时,业务不会受到影响。
第三步:构建混合云。随着公有云的普及,很多企业级客户,尤其是制造行业的客户,开始将一些前端业务系统向公有云迁移,这样客户的IT基础架构最终成为混合云的模式。
企业的IT基础架构与业务系统是相辅相成的。在我们看到的客户案例中,很多客户都是两者同步建设,实现基于混合云的PaaS、DevOps和微服务,并最终实现基于混合云构建云原生能力。
本书将以本小节列出的企业数字化转型步骤为整体脉络,分析企业如何以OpenShift为核心逐步实现这些能力,共分为四大部分:
·PaaS能力建设。本书的“PaaS五部曲”,包含第2~6章的内容,分别是:OpenShift技术解密及架构设计、基于OpenShift构建企业级PaaS平台、OpenShift在企业中的开发实践、OpenShift在企业中的运维实践、OpenShift在公有云上的实践。即企业数字化转型的第一步。
·DevOps能力建设。本书的“DevOps两部曲”,包含第7~8章的内容,分别是:在OpenShift上实现DevOps、DevOps在企业中的实践。即企业数字化转型的第二步。
·云原生能力建设。本书的第9章,即基于OpenShift构建云原生。这部分介绍如何为单体应用提速以及云原生开发和运行环境的选择,即企业数字化转型的第三步和第四步。需要指出的是,作者在《云原生应用构建:基于OpenShift》一书中全面阐述了构建云原生的方法,重复的内容本书第9章不会进行赘述。
·微服务能力建设。包含第10章的内容,包括微服务介绍及Spring Cloud在OpenShift上落地、Istio架构介绍与安装部署、基于OpenShift和Istio实现微服务落地。即企业数字化转型的第五步。