◆李绍良
行业与应用安全
企业数字化转型浪潮下的云原生技术应用
◆李绍良
(广东睿江云计算股份有限公司 广东 528000)
企业的云化不仅仅是基础设施和平台的升级,其应用也需要摒弃传统的设计方法,从架构设计、开发方式到部署维护整个软件生命周期都基于云的特点设计,从而构建原生为云而设计的应用,这样才能在云上以最佳姿势运行,充分利用和发挥云平台的弹性以及分布式优势。云原生就是这样一套全新的理念,背后涵盖了一系列全新的技术,比如容器、微服务、服务网格等。
数字化转型;云计算;云原生;应用架构
过去数十年,企业IT架构经历了单机、分布式和云计算三个阶段的技术演进。在云计算时代的第一个十年,大多数互联网公司的应用从诞生之初就生长在云端;如今,金融、制造、医疗以及政务等领域的企业和机构也逐渐将业务迁移至云上。Gartner报告指出,到2022年,有75%的全球化企业将在生产中使用容器化的应用,企业拥抱云原生的浪潮已悄然来袭。
什么是数字化转型?众说纷纭,但我觉得比较中肯的一种定义是:数字化转型,就是利用数字化技术来推动企业组织转变业务模式、组织架构、企业文化等的变革措施。采取数字化转型的企业,一般都会去追寻新的收入来源、新的产品和服务、新的商业模式,因此数字化转型是技术与商业模式的深度融合,数字化转型的最终结果是商业模式的变革。
对于企业而言,数字化转型的根本是通过数据来推动业务的增长,而这些数据是通过各种新技术来获取,不论是信息技术、虚拟现实、机器人还是大数据。通过对业务模式、业务流程、企业组织的改造,所有的业务能够基于数据进行驱动,从而实现更好的客户体验、更高的组织效能,形成新的价值。这种转型没有行业区别,几乎所有的行业都已在其中。在交通行业,网约车正在颠覆传统的出租车行业;在零售行业,网商正在颠覆传统的线下零售业;在银行业,传统银行要接受来自金融科技企业的挑战;甚至,在农业领域,已经有企业通过对土壤种子、气候的数据分析来精细化运营,提升效率,产生业务价值。试想,一家通过数据全副武装的企业和一家停留在机械化乃至人力密集型层面的企业竞争,胜败岂非显而易见?不仅仅在企业效率层面,数字化时代的商业模式也在发生着巨大的转变。与过去B2B和B2C泾渭分明不同,现在的B2B和B2C之间的界限也在日益模糊,逐步向着B2B2C转变。对于企业而言,需要面对变化更加快速的市场作出快速的反应。如果说效率的提升只是决定了利润的多少,对市场的响应速度则决定了企业的生死。数字化时代是一个赢家通吃的时代,产品的推广速度已经远超过以往。以用户数首次达到5000万所需的年数为例,收音机需要38年,iPod需要4年,互联网需要3年,而推特只需要9个月。在数字化的浪潮之中,速度就是生命,不跟随就淘汰,企业进行数字化转型势在必行。
上文中,我们了解到数字化转型对于企业发展的好处是巨大的,但是我们仍然面临着一些问题:如何进行数字化转型?在提高转型成功率的同时,我们需要注意到哪些地方?第一,数字化转型不是一蹴而就的,它需要企业上下一心来进行变革。首先需要的就是专业的互联网人才。术业有专攻,懂得越多,上手就更快,互联网人才能够更加快速地掌握互联网知识和办法,为数字化转型打下基础。第二,需要领头人来领导这些人才去进行变革。在数字化转型中会遇到很多问题,如果有领头人带领去进行支持、分析,那么得到成功的机会就会更大。第三,选择合适的软件辅助进行变革。众所周知,ERP、SAAS进销存软件等的大规模出现,可以让服务商根据需求生产,帮助企业进行信息化管理,进而完成数字化转型。
最早,很多人认为云原生应用要满足几个重要特征,比如:面向微服务架构,具有自服务敏捷特性,能实现基于API的协作等等。到了2015年,Google主导成立了云原生计算基金会(CNCF),认为云原生(Cloud Native)的定义应该包含三个方面,即应用容器化、面向微服务架构和应用支持容器的编排调度。2018年,云原生生态的不断壮大,几乎所有主流云计算供应商都加入了CNCF基金会。这时,人们对云原生又进行了重新定义,那就是真正的云原生技术应该有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式API,这些技术能够构建容错性好、易于管理和便于观察的松耦合系统,结合可靠的自动化手段,使工程师能够轻松对系统作出频繁和可预测的重大变更。从这个角度来看,云原生概念一直处于不断变化和发展的状态,未来如何演变,谁都无法准确定义,所以我们或许可以跳出云原生概念本身,多去想想云原生能解决哪些问题。
我们可以看到,传统行业之前在业务创新时总提及新制造、新零售、新物流、新技术;现在是新基建,其实本质是相同的,都是企业数字化转型带来的生产模式的变革,未来的企业将更强调个性化发展。而这种应用需求的改变,带来的最直接结果就是IT基础设施的调整,IT系统支撑能力是否足够敏捷,这就是云原生存在的重要价值,也是最需要解决的问题。云原生应用于传统的企业应用,优势在哪里呢?
(1)不可预测:传统应用的架构或开发方式使其无法实现在云原生平台上运行的所有优势。此类应用通常构建时间更长,大批量发布,只能逐渐扩展,并且会发生。
(2)依赖操作系统:传统的应用架构允许开发人员在应用和底层操作系统、硬件、存储和支持服务之间建立紧密的依赖关系。这些依赖关系使应用在新基础架构间的迁移和扩展变得复杂且充满风险,与云模型背道而驰。
(3)过多容量:传统IT会为应用设计专用的自定义基础架构解决方案,延迟了应用的部署。由于基于最坏情况估算容量,解决方案通常容量过大,同时几乎没有能力继续扩展以满足需求。
(4)孤立:传统IT将完成的应用代码从开发人员“隔墙”交接到运营人员,然后运营人员在生产中运行此代码。企业的内部问题之严重以至于无暇顾及客户,导致内部冲突产生,交付缓慢折中,员工士气低落。
(1)可预测。云原生应用符合旨在通过可预测行为最大限度提高弹性的框架或“合同”。云平台中使用的高度自动化的容器驱动的基础架构推动着软件编写方式的发展。第一次作为12因素应用记录的12个原则,就是阐释此类“合同”的良好示例。
(2)操作系统抽象化。云原生应用架构要求开发人员使用平台作为一种方法,从底层基础架构依赖关系中抽象出来,从而实现应用的简单迁移和扩展。实现云原生应用架构最有效的抽象方法是提供一个形式化的平台。Pivotal Cloud Foundry非常适用于在谷歌云端平台、微软Azure或亚马逊云服务等基于云的基础架构上运行。
(3)合适的容量。云原生应用平台可自动进行基础架构调配和配置,根据应用的日常需求在部署时动态分配和重新分配资源。基于云原生运行时的构建方式可优化应用生命周期管理,包括扩展以满足需求、资源利用率、可用资源编排,以及从故障中恢复,最大程度减少停机时间。
(4)协作。云原生可协助DevOps,从而在开发和运营职能部门之间建立密切协作,将完成的应用代码快速顺畅地转入生产。
目前,企业在上云后大多依靠“以人为本”的方式,凭借大量工作人员的个人能力和经验、自觉来进行运维工作。这种将劳动密集型服务简单粗暴地从传统IT基础设施转移到云平台的方式,只能是市场体量较小、技术发展程度不高的现实条件下采取的过渡方案。引入智能化,实现服务自动发现、告警自动检测、故障自治处理,改变这种传统的服务方式下的效率低下、人力成本过高、手工运维过程中的误操作,也会大大提高企业云的可用性,日益扩大企业级的云服务市场。
总的来说,Cloud Native云原生让云更好用,它是更好的工具、自我修复系统和自治智能管理系统的集合,可以让应用和基础设施的部署和故障修复更加快速和敏捷,极大地降低企业在云计算方面的部署成本,加快企业云的变革。在多云时代,企业的数据和应用不仅分布在企业私有云和公有云上,也分布在远程办公室或分公司以及边缘计算的环境中。如今的企业希望实现不同云之间的应用移动性,同时保持对硬件、管理程序或云的开放性,因此,建立一个以业务为中心的运作方式,构建云原生的应用程序和基础设施是一个必然的趋势。实现对业务的快速部署以及弹性动态调整,而且整个架构是以非常简单的方式来打造,而这就是以应用驱动的企业云原生,隐隐的却又注定将带动一股潮流。云原生不仅仅是一种构建和运行应用程序的新方法,而是一种更有生命力的文化。