云原生是一种方法,用于构建和运行充分利用云计算模型优势的应用。随着时代的不断发展,关于这个概念也在不断的演进。 Heroku于2011年提出了十二因子的应用定义,该定义可以适用于任何编程语言,通常被认为是最早的云原生应用的技术特征。2015年提出了“Cloud Native”的概念:云原生是一种可以充分利用云计算优势的构建和运行应用的方式。云原生计算基金会(CNCF)关于云原生定义的最新版本是:云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式API。
从技术的角度,云原生架构是基于云原生技术的一组架构原则和设计模式的集合,旨在将云应用中的非业务代码部分进行最大化的剥离,从而让云设施接管应用中原有的大量非功能特性((如弹性韧性、安全、可观测性、灰度等),使业务不再有非功能性业务中断困扰的同时,具备轻量、敏捷、高度自动化的特点。 从技术的角度,云原生架构是基于云原生技术的一组架构原则和设计模式的集合,旨在将云应用中的非业务代码部分进行最大化的剥离,从而让云设施接管应用中原有的大量非功能特性((如弹性韧性、安全、可观测性、灰度等),使业务不再有非功能性业务中断困扰的同时,具备轻量、敏捷、高度自动化的特点.
基于云产品架构 一个架构是否是云原生,就看这个架构是否是长在云上的,这是对“云原生”的简单理 解。这个“长在云上”不是简单地说用云的 IaaS 层服务,比如简单的 ECS、OSS 这些 基本的计算存储,而是应该理解成有没有使用云上的分布式服务,比如 Redis、Kafka 等, 这些才是直接影响到业务架构的服务。微服务架构下,分布式服务是必要的,原来大家都是 自己研发这样的服务,或者基于开源版本自己运维这样的服务。而到了云原生时代,业务则 可以直接使用云服务。 另外两个不得不提的技术就是 Docker 和 Kubernetes,其中,前者标准化了应用分 发的标准,不论是 Spring Boot 写的应用,还是 Node.JS 写的应用,都以镜像的方式 分发;而后者在前者的技术上又定义了应用生命周期的标准,一个应用从启动到上线,到健 康检查,再到下线,都有了统一的标准。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。