1、云原生概念
云原生是面向云应用设计的一种思想理念,充分发挥云效能的最佳实践路径,帮助企业构建弹性可靠、松耦合、易管理可观测的应用系统,提升交付效率,降低运维复杂度。
云原生的代表技术有不可变基础设施、服务网格、声明式API及Serverless等。
2、云原生技术的特点
(1)极致的弹性能力:不同于虚拟机分钟级的弹性响应,以容器技术为基础的云原生技术架构可实现秒级甚至毫秒级的弹性响应;
(2)服务自治故障自愈能力:基于云原生技术栈构建的平台具有高度自动化的分发调度调谐机制,可实现应用故障的自动摘除与重构,具有极强的自愈能力及随意处置性;
(3)大规模可复制能力:可实现跨区域、跨平台甚至跨服务商的规模化复制部署能力;
(4)异构资源标准化:容器技术有效解决了异构环境的部署一致性问题,促进了资源的标准化,为服务化、自动化提供了基础;
(5)加速数字基础设施升级解放生产力:降低用户数字化技术的使用门槛,提高资源的复合利用率,变革研发运营的生产方式,打破组织壁垒,实现研发与运维的跨域协同,提升交付效率,解放生产力;
(6)提升业务应用的迭代速度:云原生技术实现了应用的敏捷开发,大幅提升交付速度,降低业务试错成本,高效响应用户需求,增强用户体验加速业务创新。
3、云原生应用和传统应用的区别
云原生应用与传统应用之间的主要的差别主要体现在编程语言、更新、扩展性、依赖性、运维、架构等方面。
(1)编程语言
传统应用:往往采用C/C++、企业级Java编写;云原生应用:云原生应用则需要用以网络为中心的go、node.js等新兴语言编写;
(2)更新
传统应用:可能需要停机更新;云原生应用:云原生应用应该始终是最新的,需要支持频繁变更,持续交付,蓝绿部署;
(3)扩展性
传统应用:无法动态扩展,往往需要冗余资源以抵抗流量高峰;云原生应用:云原生应用利用云的弹性自动伸缩,通过共享降本增效;
(4)依赖性
传统应用:对网络资源,比如ip、端口等有依赖,甚至是硬编码;云原生应用:云原生应用对网络和存储都没有这种限制,不会硬连接到任何系统环境,而是依赖抽象的基础架构,从而拥有良好的移植性;
(5)运维
传统应用:通常人肉部署手工运维;云原生应用:云原生应用这一切都是自动化的 ;
(6)架构
传统应用:有些是单体(巨石)应用,或者强依赖;云原生应用:基于微服务架构的云原生应用,纵向划分服务,模块化更合理。
4、云原生产品
随着云原生概念的兴起,大数据技术产品逐步迭代升级,云原生大数据技术产品开始成为产业变革的浪潮。
据中国信息通信研究院,近一年发布的云原生大数据技术产品有阿里的云原生数据库PolarDB、云原生数据仓库AnalyticDB、云原生湖仓一体产品2.0;腾讯的云原生数据库TDSQL-C、云原生消息队列TDMQ、云原生数据湖,AWS的Amazon
Aurora Serverless V2、华为的云原生数据湖产品FusionInsightMRS等。
数据来源:《云原生产业联盟:云原生发展白皮书(53页).pdf》