云原生已成为企业在部署业务时的主要选择之一,其好处在于应用可以直接基于云架构设计和开发,像12原则(The Twelve-Factor App)在基准代码、端口服务、流程日志等方面也为云原生下了进一步的定义。不过从另一方面看,云原生也不是绝对的一本万利,其仍有一些成本因素是不容忽视的。
云原生是Pivotal负责架构的全球CTO Matt Stine在2013年提出的概念,当时的判断像DevOps、微服务、敏捷交付等技术至今都已成为趋势。当时Matt Stine认为,如果用新的一体性架构去取代现有的一体性架构,只是把复杂性从一端转移到了另一端,这也是传统SOA的尴尬之处,“从运维的角度来看,实际上什么都没做。”对于企业来说,有必要对旧有的业务进行重构。
根据CNCF的定义:云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用,容器、服务网格、微服务、不可变基础实施和声明式API……都是云原生的代表性技术,其优势在于可以很好地构建容错性好、易于管理、便于观察的松耦合系统。结合可靠的自动化手段,云原生技术使工程师能够轻松对系统作出频繁、可预测的重大变更。
2020云栖大会期间,阿里巴巴就宣布成立了云原生技术委员会, 此次委员会的成立,也意味着阿里已经将云原生升级为新的技术战略方向。阿里巴巴认为,云原生是一种新型技术体系,被视为云计算未来的发展方向。云原生应用也就是面向“云”而设计的应用,在使用云原生技术后,开发者无需考虑底层的技术实现,只需做好自己的业务,就可以充分发挥云平台的弹性+分布式优势,实现快速部署、按需伸缩、不停机交付等。
事实上,早在2018年4月敲下第一行代码开始,KubeSphere的定位就是一个面向云原生设计的开源项目,在主流容器调度平台Kubernetes之上构建的分布式多租户容器管理平台,提供简单易用的操作界面以及向导式操作方式,在降低用户使用容器调度平台学习成本的同时,大幅降低开发、测试、运维的日常工作的复杂度。
如今,应用现代化是IT部门的首要任务,红帽OpenShift基于现代化应用基础架构的事实标准Kubernetes构建,为这一转型过程提供了强大且可扩展的平台。正如物理管理工具及流程不适用于虚拟化环境,专为虚拟机管理而设计的工具也不适用于当今的云原生、容器化世界。用于Kubernetes的红帽高级集群管理能够很好地满足这一需求,其为云原生环境量身定制的新一代管理能力,能够帮助企业利用红帽OpenShift做更多事情。
无论是刚刚开始探索云原生计算的企业,还是已在生产环境中运行下一代工作负载的企业,用于Kubernetes的红帽高级集群管理都能为他们提供支持跨集群进行容器化应用部署的工具。它可以满足企业在容器化进程中的现有需求,帮助解决企业管理多个集群的迫切问题,同时提供策略执行和治理控制等未来就绪的能力。
与此同时,IT基础架构也在面临着升级。通过与不少行业客户接触,他们的多数新应用都是在云中构建,而且这些企业可能是IT互联网、金融、教育、工业、交通运输等领域,可见云原生在各行各业的普遍性。有一项调查显示,在已经部署云原生的公司中,基于云来构建的应用比例会在近几年攀升到70%-80%,而背后的一大顾虑就是安全性。这意味着,如果是自行从零构建云原生架构是有不少成本的,因此企业客户多数会选择与云服务商合作。
一些报告显示,规模越大的企业通常更倾向于选择云原生,但有意思的一点是像那些营收超过200亿美元的更大型的企业,往往会比较保守,他们使用云原生的比例甚至不到25%。这一现象与企业上云的思路类似,即对数据丢失、系统故障等问题的担心,包括受限于监管因素只得将关键业务应用放在私有环境。
除了安全性,企业在将业务迁移上云的过程中也会遇到其他的“额外”成本,例如可能会需要对应用进行部分或完全重构,以调用完整的云原生功能,这种重构不仅涉及重写,还会有后续一系列的测试、上线、交付,以及工具调用,这些往往加起来会超过企业最初的预算。
由此可以引申的一点是,云原生架构与行业是具有一定相关性的。例如金融行业,异地多活、无损容灾、开放的API都是必备要素,可以方便客户进行二次开发。这一过程中,需要金融服务商提供一些定制化的能力,像蚂蚁金服的SOFA——金融级中间件产品技术和演进式架构转型服务体系,而且该体系内的各个组件都是向社区开源的。
无论是云原生、DevOps还是微服务和容器,都是在为业务上云时提供的敏捷手段,而背后所涉及的现代化IT基础架构升级,则会让企业收益持续实现最大化。