Upgrade to Pro — share decks privately, control downloads, hide ads and more …

云原生上分布式系统的架构演进

 云原生上分布式系统的架构演进

云原生上分布式系统的架构演进

Yanick.xia

August 03, 2020
Tweet

Other Decks in Programming

Transcript

  1. 云计算 - xx as a Service 传统私 有云 数据 应用

    中间件 操作系统 虚拟化 物理机 网络与存储 数据中心 代管 数据 应用 中间件 操作系统 虚拟化 物理机 网络与存储 数据中心 托管 数据 应用 中间件 操作系统 虚拟化 物理机 网络与存储 数据中心 IaaS 数据 应用 中间件 操作系统 虚拟化 物理机 网络与存储 数据中心 PaaS 数据 应用 中间件 操作系统 虚拟化 物理机 网络与存储 数据中心 SaaS 数据 应用 中间件 操作系统 虚拟化 物理机 网络与存储 数据中心 云原生 数据 应用 中间件 Serverless Service Mesh Kubernetes 物理机 网络与存储 数据中心
  2. 技术视角的云原生 代码结构发生巨大变化 云原生架构产生的最大影响就是让开发人员的编程模型发生了巨大变化。今天大部分的编程语言中, 都有文件、网络、线程等元素,这些元 素为充分利用单机资源带来好处的同时,也提升了分布式编程的复杂性;因此大量框架、产品涌现,来解决分布式环境中的网络调用问题、 高可用问题、CPU 争用问题、 分布式存储问题 云把三方软硬件的能力升级成了服务,开发人员的开发复杂度和运维人员的运维工作量都得到极大降低。 非功能性特性的大量委托

    任何应用都提供两类特性,功能性特性和非功能性特性。功能性特性是真正为业务带来价值的代码, 比如如何建立客户资料、如何处理订 单、如何支付等等;即使是一些通用的业务功能特性,比如组织管理、 业务字典管理、搜索等等也是紧贴业务需求的。非功能性特性是没有 给业务带来直接业务价值,但通常 又是必不可少的特性,比如高可用能力、容灾能力、安全特性、可运维性、易用性、可测试性、灰度发 布能力等等。 高度自动化的软件交付 软件一旦开发完成,需要在公司内外部各类环境中部署和交付,以将软件价值交给最终客户。软件交 付的困难在于开发环境到生产环境 的差异(公司环境到客户环境之间的差异)以及软件交付和运维人员 的技能差异,填补这些差异的是一大堆安装手册、运维手册和培训文 档。容器以一种标准的方式对软件 打包,容器及相关技术则帮助屏蔽不同环境之间的差异,进而基于容器做标准化的软件交付。
  3. Serverless 模式 和大部分计算模式不同,Serverless 将“部署”这个动作从运维中“收走”,使开发者不用关心应 用在 哪里运行,更不用关心装什么 OS、怎么配置网络、需要多少 CPU ...... 从架构抽象上看,当业务

    流量到 来 / 业务事件发生时,云会启动或调度一个已启动的业务进程进行处理,处理完成后云自动会关闭 / 调 度业务进程,等待下一次触发,也就是把应用的整个运行时都委托给云。
  4. Q&A