云原生开学‘第一课’

简介: 云原生开学‘第一课’

云原生技术发展历程

云原生

云原生从字面意思上来看可以分成云和原生两个部分。


云是和本地相对的,传统的应用必须跑在本地服务器上,现在流行的应用都跑在云端,云包含了IaaS,、PaaS和SaaS。


原生就是土生土长的意思,我们在开始设计应用的时候就考虑到应用将来是运行云环境里面的,要充分利用云资源的优点,比如️云服务的弹性和分布式优势。云原生(CloudNative)是一个组合词,Cloud+Native。Cloud表示应用程序位于云中,而不是传统的数据中心;Native表示应用程序从设计之初即考虑到云的环境,原生为云而设计,在云上以最佳姿势运行,充分利用和发挥云平台的弹性+分布式优势。


发展历程

云原生,其实不是一个全新的概念,而是在整个云计算发展历程中的对理念的更新和延伸。站在一个用户的角度,从时间线上看,整个云计算的技术演进是朝着越来越灵活的方向发展。


2000年SUN公司提出非虚拟化硬件,2001年VMware实践虚拟化的产品,2006年亚马逊提出IAAS(基础设施即服务),指把IT基础设施作为一种服务通过网络对外提供,并根据用户对资源的实际使用量或占用量进行计费的一种服务模式。2009年 提出Paas(平台即服务),将软件研发的平台作为一种服务,以SaaS的模式提交给用户。2010/2011是一个开源之年,各大厂商都推出了自己开源产品比如openstack,Cloud Foundry。2013年Docker进入大众的视野,Docker 是一个开源的应用容器引擎,容器是完全使用沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低。2015年正式进入云原生元年,未来云原生一切。


现在云原生的生态已经及其庞大,云原生生态圈划分为上下五层及共用两层,上下五层包括应用定义与开发层、编排与治理层、运行时层、供应保障层及云设施层,共用层包括观察与分析、平台。各大厂商已经纷纷涉足云原生的产品,国内大厂有华为云、阿里云、腾讯云等。

image.png



云原生生态图


2015年CNCF只有Kubernetes一个项目,到了到如今80多个官方项目,以及整个云原生生生态内容丰富的宏大版图。

image.png



在中国,云原生的生态也飞速发展,CNCF的会员数量也从2015年的1家初创&白金会员发展到今天60家成员单位。

image.png



云原生这么受欢迎,与它先进的理念是分不开的 ,总得来说有以下几大核心理念:

利用容器和服务网格等技术,解耦软件开发,提高了业务开发部署的灵活性和易维护性

以Kubernetes为核心的多层次、丰富的开源软件栈,被各大厂商支持,用户选择多,避免厂商绑定

以Kubernetes为核心的松耦合平台架构,易扩展,避免侵入式定制 - Kubernetes已被公认是platform for platform

中心式编排,对应用和微服务进行统一的动态管理和调度,提高工作效率和资源利用率


云原生技术理念

云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中构建和运行可弹性拓展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式API

image.png


1.容器

有效的将单个操作系统的资源划分到孤立的组中,以便更好的在孤立的组之间平衡有冲突的资源使用需求,这种技术就是容器技术。


2.微服务

微服务(或微服务架构)是一种云原生架构方法,其中单个应用程序由许多松散耦合且可独立部署的较小组件或服务组成。这些服务通常


有自己的堆栈,包括数据库和数据模型;

通过REST API,事件流和消息代理的组合相互通信;

它们是按业务能力组织的,分隔服务的线通常称为有界上下文。


3.服务网格

服务间通信的基础设施层。可以将它比作是应用程序或者说微服务间的 TCP/IP,负责服务之间的网络调用、限流、熔断和监控。

4.不可变基础设施

不可变基础设施是一种基础设施模式,其中服务器在部署后永远不会被修改。如果需要以任何方式更新、修复或修改某些内容,就先对公共镜像进行修改,然后用镜像构建新服务器来替换旧服务器。经过验证后,新服务器投入使用,旧的服务器就会下掉。


5.声明式API

所谓“声明式”,指的就是我只需要提交一个定义好的 API 对象来“声明”,我所期望的状态是什么样子


“声明式 API”允许有多个 API 写端,以 PATCH 的方式对 API 对象进行修改,而无需关心本地原始 YAML 文件的内容


Kubernetes 项目才可以基于对 API 对象的增、删、改、查,在完全无需外界干预的情况下,完成对“实际状态”和“期望状态”的调谐(Reconcile)过程


声明式 API,才是 Kubernetes 项目编排能力“赖以生存”的核心所在。

image.png


云原生技术体系及CNCF核心项目

CNCF,全称Cloud Native Computing Foundation(云原生计算基金会),口号是 坚持和整合开源技术来编排容器作为微服务架构的一部分 ,其作为致力于云原生应用推广和普及的一支重要力量,不论您是云原生应用的开发者、管理者还是研究人员都有必要了解。


CNCF,云原生计算基金会,已成为云计算领域新的“标准”制定者。


在奉行事实标准的IT界,云技术发展多年的今天:开源社区已然是云原生技术的关键推动者,同时也是相关技术标准的制定者。我们知道云原生飞速发展的背景,解决应用的标准化问题:下层基础设施不统一,如何构建通用的弹性扩缩容能力,以及分布式监控、日志和追踪等等


核心技术体系

image.png


云原生的技术版图

image.png


CNCF的项目成熟度模型

image.png


CNCF核心项目

目前有15个毕业项目,21个孵化项目,46个沙盒项目,值得一提的是,CNCF的Sandbox经过流程优化之后,2020年增长速度明显提升。

image.png


云原生平台技术架构发展方向:以“应用”为中心的云“OS”,统一计算、统一治理、统一运维、全局视图与管控。

从2015年的1.0发布至今,Kubernetes已经有20多个大版本发布,各项功能特性和接口API都已经趋于稳定,K8s已经进入了成熟期。虽然严格意义上的K8s核心项目迭代在逐渐放缓,但是整个云原生技术栈将会进入更高速发展的阶段,围绕K8s的技术栈将会与云计算的应用、平台、设备各层次进行更深入的结合。


各类现代化的应用都将会运行在K8s之上,不仅仅是前些年已经备受关注的以互联网App、WebService为代表的无状态应用,而新型的诸如大数据、AI、分布式数据中间件等等有状态应用,以及新型的边缘应用也将会普遍运行在K8s之上,从而K8s将完成对各类现有平台的归一化,成为一个统一的应用运行的分布式云原生平台。而为了更好地支撑现代化应用以及统一的基础技术平台,下层的各类设备包括虚拟化计算/网络/存储、裸金属服务器以及专用芯片如AI、高性能网络、高性能存储等等都会与K8s更紧密的配合,围绕云原生应用,通过软硬一体化的方案来提供更高性能、更稳定可靠、更高效的基础设施。与“应用、平台、设备”三个层面的协同,意味着云原生技平台将真正成为 以“应用”为中心的云“OS”。


总结

随着虚拟化技术的成熟和分布式框架的普及,在容器技术、可持续交付、编排系统等开源社区的推动下,以及微服务等开发理念的带动下,应用上云已经是不可逆转的趋势。,经过多年的发展,云原生的时代已经完全到来。

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
4月前
|
Cloud Native 测试技术 开发者
终于!我找到了开发的得力助手!阿里云天池云原生编程挑战赛参赛攻略
在比赛过程中,通义灵码插件成为了我开发工作的得力助手。这个插件提供了智能代码补全和错误提示功能,大大提高了我的编码效率。尤其是通义灵码能够实时分析代码,给出优化建议,让我避免了很多潜在的错误。
219 64
|
5月前
|
Cloud Native
2024 天池云原生编程挑战赛正式启动
2024 天池云原生编程挑战赛正式启动
245 14
|
Cloud Native 开发者
上海站丨云原生开源开发者沙龙开放报名(周日场)
上海站丨云原生开源开发者沙龙开放报名(周日场)
494 11
上海站丨云原生开源开发者沙龙开放报名(周日场)
|
Cloud Native Serverless 云计算
官宣!2023云原生编程挑战赛正式启动
官宣!2023云原生编程挑战赛正式启动
|
Kubernetes 安全 Cloud Native
云原生编程挑战赛--攻防实践
「云原生」生态正在迅速发展壮大,而专门针对云原生环境下的渗透测试进行介绍的资料却并不丰富。 未知攻,焉知防。本文调研了当前已有的专门针对云原生环境进行渗透测试或类似安全评估的工具和开源项目,希望为渗透测试人员提供面对新环境的突破思路,帮助安全防御人员看到潜在脆弱点和更多攻击可能性,为云安全研究人员提供更多攻击侧的技术信息,实现以攻促防。
云原生编程挑战赛--攻防实践
|
消息中间件 Cloud Native 安全
云原生销售达人经验分享(系列二)| 学习笔记
快速学习云原生销售达人经验分享(系列二)
云原生销售达人经验分享(系列二)| 学习笔记
|
消息中间件 运维 监控
云原生销售达人经验分享(系列一)| 学习笔记
快速学习云原生销售达人经验分享(系列一)
云原生销售达人经验分享(系列一)| 学习笔记
|
消息中间件 运维 Cloud Native
云原生销售达人经验分享(系列三)| 学习笔记
快速学习云原生销售达人经验分享(系列三)
云原生销售达人经验分享(系列三)| 学习笔记
|
边缘计算 Kubernetes 监控
登顶之路|数字海南架构师谈云原生编程挑战赛参赛心路历程
云原生编程挑战赛项目组特别策划了《登顶之路》系列选手访谈,期待通过参赛选手的故事,看到更加生动鲜活的中国开发者。
登顶之路|数字海南架构师谈云原生编程挑战赛参赛心路历程
|
Kubernetes Cloud Native Serverless
云原生·风向标活动来啦~ 顶尖开源项目首次全解析!
阿里云开发者学堂联合云原生团队,为云原生开发者带来风向标活动,持续更新精品课程和实战分享~
云原生·风向标活动来啦~ 顶尖开源项目首次全解析!
下一篇
DataWorks