PaaS平台的本质

本文为个人学习笔记,整理摘录自陈皓在《极客时间》的专栏文章。

一、软件工程的本质

  • 第一,提高服务的SLA
    • 高可用的系统;
    • 自动化的运维;
  • 第二、能力和资源重用或复用。
    • 软件模块的重用;
    • 软件运行环境和资源的重用。 ==》我们需要的2个重要能力:软件抽象能力、软件标准化能力
  • 第三、过程的自动化
    • 软件生产流水线
    • 软件运维自动化

二、 分布式关键技术

  • 分布式多层的系统架构
  • 服务化的能力供应。
  • 自动化的运维能力

以上两点软件工程的本质分布式关键技术都在PaaS平台上得到完全体现。

三、 PaaS平台的本质

  • 一个好的PaaS平台应该具有分布式、服务化、自动化部署、高可用、敏捷以及分层开放的特征,并可与IaaS实现良好的联动。
PaaS平台的本质.png
PaaS与传统中间件最大的差别
  • 服务化是PaaS的本质。软件模块重用,服务治理,对外提供能量是PaaS的本质。

  • 分布式是PaaS的根本特性。多租户隔离、高可用、服务编排是PaaS的基本特性。

  • 自动化是PaaS的灵魂。自动化部署安装运维,自动化伸缩调度是PaaS的关键。

PaaS平台的总体架构
PaaS.png

在Docker+Kubernetes层之上,我们看到了两个相关的PaaS层。

在图的两个分别是与运营和运维相关的。运营这边主要管理一些软件资源以及外部接入和开放平台的东西。主要是对外提供nengde相关组件;

而运维主要是对内的相关东西。

一个完整的PaaS平台会包括以下几个部分。

  • PaaS调度层

  • PaaS能力服务层

  • PaaS流量调度

  • PaaS运营管理

  • PaaS运维管理

四、PaaS平台的生产和运维

下面这个图给出了一个大概的软件生产、运维和服务接入,它把之前的东西都串起来了。

PaaS平台的总体架构.png

从左上开始软件构建,进入软件资产库(Docker Registry+一些软件的定义),然后走DevOps的流程,通过整体架构控制器进入生产环境,生产环境通过控制器操作Docker+

Kubernetes集群进行软件部署和生产变更。

其中,同步服务的运行状态,并通过生命周期管理来拟合状态,如图右侧部分所示。服务运行时的数据会进入到相关应用监控,应用监控中的一些监控事件

会同步到生命周期管理中,再由生命周期管理器来做决定,通过控制器来调度服务运行。当应用监控中心发现流量变化,要进行强制性伸缩时,它通过生命周期管理来控制系统进行伸缩。

左下是服务接入的相关组件,主要是网关服务,以及API聚合编排和流程处理。这对应于之前说过的流量调度和API Gateway的相关功能。

分布式,主要解决的问题是:服务的吞吐量,和可用性问题

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容