云原生开学‘第一课’

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

云原生技术发展历程

云原生

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


云是和本地相对的,传统的应用必须跑在本地服务器上,现在流行的应用都跑在云端,云包含了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”。


总结

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

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
2月前
阿里云云原生恭祝大家新年快乐!
阿里云云原生恭祝大家新年快乐!
|
弹性计算 运维 安全
阿里云最佳实践workshop实战训练营-6月场完美收官
最佳实践workshop实战训练营是基于角色扮演的场景化沉浸式实操训练,通过现场参加实训帮助客户快速掌握场景的落地技术方案,通过产品组合实战实操来帮助客户快速了解阿里云各产品及方案的优势。
阿里云最佳实践workshop实战训练营-6月场完美收官
|
9月前
|
人工智能 弹性计算 Kubernetes
2023 云原生编程挑战赛火热报名中!导师解析 Serverless 冷启动赛题
2023 云原生编程挑战赛火热报名中!导师解析 Serverless 冷启动赛题
|
9月前
|
设计模式 运维 架构师
一站到底!阿里新产架构进阶宝典限时开源,架构不止于思维
关于程序员如何成长这个问题在网上一直备受争论,可能有些人都会觉得Java程序员未来的路线无非就是︰一直往上爬,爬不动了就洗手不干了。目前的状态就是在公司不停地复制粘贴,再复制再粘贴的过程,基本上没机会去设计整个(部分)系统,也不会去设计数据库,要么就是系统就百八十人在用,也不考虑性能,代码堆完就OK了。每天的工作一样,基本上都在混日子,想跳槽跳出去工资也涨不了多少,年纪轻轻地就处于养老状态了。
|
数据采集 DataWorks 数据建模
黄欢欢——阿里云资深解决方案架构实邀你学| 学习笔记
快速学习黄欢欢——阿里云资深解决方案架构实邀你学。
244 0
|
开发框架 Rust 监控
QCon 2022·上海站 | 学习笔记3: 字节跳动在 Rust 方向的探索和实践
QCon 2022·上海站 | 学习笔记3: 字节跳动在 Rust 方向的探索和实践
422 0
|
专有云
《总监课第五期第一节: 产品创建与设计法则 – 专有云从无到有实践》电子版地址
总监课第五期第一节: 产品创建与设计法则 – 专有云从无到有实践
64 0
《总监课第五期第一节: 产品创建与设计法则 – 专有云从无到有实践》电子版地址
|
设计模式 运维 Kubernetes
【公开课】“第一堂”云原生课|学习笔记
快速学习【公开课】“第一堂”云原生课
105 0
【公开课】“第一堂”云原生课|学习笔记
|
供应链 Cloud Native 安全
|
IDE Cloud Native 安全
2022 云原生编程挑战赛火热报名中!看导师如何拆解 Serverless 赛题?
本届大赛将继续深度探索服务网格、边缘容器、Serverless 三大热门技术领域,为热爱技术的年轻人提供一个挑战世界级技术问题的舞台,希望用技术为全社会创造更大价值。大家赶快报名参赛吧!
2022 云原生编程挑战赛火热报名中!看导师如何拆解 Serverless 赛题?