云原生是一种构建和运行应用的方法,是一套技术体系和方法。
云原生的英文名称是CloudNative,是一个复合词:Cloud+Native。云是指应用程序位于云端而不是传统的数据中心。原生是指应用程序从一开始就考虑到了云环境,被设计为原生于云,运行在云上的最佳位置;,利用云平台灵活性+分布式优势。
云元素的四个要素
1微服务
几乎所有的定义云原生包括微服务。微服务的反面是具有理论基础的单体应用程序,这就是康威定律。
2容器化
容器化为微服务提供实现保障,并起到应用隔离的作用。
3DevOps
这是一个复合词,Dev+Ops,就是开发和运维的结合。事实上DevOps还应该包括测试,DevOps是一种敏捷思维、一种沟通文化和一种提供云原生持续交付能力的组织形式。
4持续交付
持续交付就是按时开发,不停机更新,小步快跑,走向传统瀑布式开发模式稳定版本并存,它实际上需要大量的流程和工具支持。
1.什么是云原生?
云原生是基于分布式部署、统一运维管理的分布式云。是一套基于容器、微服务、DevOps等技术的云技术产品体系。
云是相对于本地而言的。传统应用运行在本地机房的服务器上,而云应用运行在云端(如IAAS、PAAS、SAAS)。Native的意思是原生的、原生的,即应用从诞生的那一刻起就是基于云的,可以直接在云平台上运行,也可以非常方便地迁移到云平台上。我们可以这样定义原生云:它是一种全新的技术体系,也是云计算未来的发展方向。
云原生应用要运行在云平台上,必须具备弹性扩展、部署、快速部署、快速迭代、高效、可持续等云特性。这不仅仅是将原来物理服务器上的应用程序迁移到虚拟机上。这不仅仅是改变云架构和运行平台、应用开发方式、应用部署方式、应用维护方式。。
2.云原生的核心
云原生的四大要素是微服务技术、DevOps、持续交付和容器化。微服务技术使应用程序原子化,所有应用程序都可以独立部署和迭代。DevOps允许您快速构建、测试、自动化、部署、发布和回滚应用程序,集开发、运维于一体。持续交付使得应用能够频繁发布、快速交付、快速反馈、降低发布风险。容器允许您将整个应用程序开发基于容器,从而实现代码组件重用和资源隔离。
微服务
微服务是独立发布的应用服务,可以升级、可以灰显、也可以作为独立组件复用。每项服务都可以由专门的机构独立完成,只要确定输入输出端口,委托方即可全面开发,整个团队的组织架构也可以精简,沟通少,效率高。
devOps
持续交付
敏捷开发需要持续交付,因为敏捷开发要求可以随时将版本上传到大型团队环境规模,所以需要持续交付。持续交付的目的是快速响应客户需求的变化,需要非常频繁的发布,所以会出现多个版本同时提供服务的情况,所以需要支持灰度发布/金丝雀发布等。
容器化
Docker是软件行业最流行的软件容器项目。Docker扮演着应用程序隔离的角色,提供微服务,并将所有所需的配置、依赖项和环境移动到一个新的、无差异的、高度可移植的操作环境中。
3.原生云的优势
快速上线,云开发可以在最短的时间内上线。
专注业务逻辑
提高开发效率
云开发模式提供API接口,通过API实现数据存储、上传文件等操作,大大提高了开发效率。提高开发效率。你不需要学习一门新语言,只需掌握JavaScript即可。
弹性扩展
当性能需求不断提升时,云开发可以弹性扩展性能