云原生技术成熟度分析及开源研究
发布时间:2021-06-09 14:57:51 所属栏目:云计算 来源:互联网
导读:2021新年伊始,新冠仍在肆虐,这场人类生命的挑战改变了人们的生活方式,同时也推动了移动互联网和云计算服务的持续发展,例如美团、盒马和多点等生鲜生超APP外送或自取的方式被更多人所接受,而这些APP背后都是云原生技术在做技术支撑。云原生作为云计算最
2021新年伊始,新冠仍在肆虐,这场人类生命的挑战改变了人们的生活方式,同时也推动了移动互联网和云计算服务的持续发展,例如美团、盒马和多点等生鲜生超APP外送或自取的方式被更多人所接受,而这些APP背后都是云原生技术在做技术支撑。云原生作为云计算最佳的使用方式正在被各类行业应用广泛采纳和推广,在国家大力推动各行业数字化转型的契机下,相信云原生技术一定会扎根各行业,助力各行各业的高速发展。
云原生技术包罗万象,本文旨在厘清其核心技术内涵并提供一种有效的评估云原生技术成熟度的评估方法,并应用此方法评估云原生技术中的容器和微服务等开源技术栈,分享业界云原生相关的开源项目,并在文章最后给出下一步研究方向。
作者简介:
陈鹏翔 中国移动研究院研究员,研究方向云原生、微服务、熟悉开源项目和技术贡献,曾就职于HP等企业从事NFV架构师工作。
1 云原生技术和本文范围
云原生技术是由Pivotal的Matt Stine于2013年提出,核心内容为描述一种应用,这应用符合12要素、微服务架构、敏捷基础设施、基于API协作和反脆弱性,该描述较为抽象,特别是12要素的具体描述,实际应用起来并不拿来可用。Pivotal于2017年更新了一个具象的描述:云原生是一种构建和运行应用的方法,他利用了云计算交付模型的优势,企业需要一个平台来构建和管理云原生应用程序和服务,该平台实现了自动化且集成了DevOps、持续部署、微服务和容器等关键技术。这个描述更加偏重于平台侧应具备的能力,与“公要善其事必先利其器”如出一辙。这一点上CNCF(Cloud Native Computing Foundation,后简称CNCF)做的更纯粹。
CNCF成立于2015年,由Google、思科和Docker等参与成立,给出的云原生定义为容器化封装、自动化管理和面向微服务。显然从一开始,CNCF就立足于平台侧,因为其下的开源容器调度平台Kubernetes(后简称K8S)在后续发生的容器调度平台大战中战胜了Mesos和Docker Swarm,做云原生技术的厂商更愿意把开源应用放到CNCF进行托管。2018年CNCF在托管了服务网格中的翘楚Envoy和Linkerd后,重新定义了云原生技术的范围,包括容器、服务网格、微服务、不可变基础设施和声明式API。
我们给云原生的定义为:一系列面向云计算的技术和管理理念的集合,开发者要在应用架构、开发模式和运维部署阶段贯穿实现这种理念,最终达到降低开发运维复杂度,最大限度发挥云计算的价值的目的。
核心技术包含不限于:
容器:是云原生应用的封装事实标准,软件及其依赖封装到容器镜像的内部,一次打包,到处部署,通过容器编排调度实现敏捷交付,主要包含容器编排、运行时层(容器运行时,云原生存储和云原生网络)等。
微服务:应用开发方通过标准化服务化开发方式,将大型应用程序开发拆解为多个小型服务集合的体系方法。更高级的要求是将微服务基础能力(比如服务注册,服务熔断等)同应用的业务逻辑彻底解耦,使用平台侧的服务网格能力。主要包含微服务支撑层(服务网格、API网关和服务注册发现)等。
无服务计算(Serverless):是一种构建和管理基于微服务架构的完整流程,允许在服务部署级别而不是服务器部署级别来管理应用部署,构建或使用一个微服务或微功能来响应一个事件。
![]() (编辑:荆州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |