什么是PaaS平台

news2025/8/2 20:32:53

PaaS平台概述

PaaS平台通常是基于IaaS平台构建的,PaaS平台和IaaS平台最大的差别是需求即服务。所有的管理都是以服务为粒度的,在IaaS以资源管理为中心的平台上提供了更高层次的抽象。

PaaS的本质

(1)运维自动化,故障的自动恢复,在不需要人为干涉的情况下能够自愈;

(2)面向服务化的管理,围绕服务的发布、升级、调用、监控、日志及服务域名等;

(3)软件开发流程化,代码自动编译打包及更新,持续发布,持续集成和更新。

PaaS平台分层

首先是资源调度层,这一层是直接在构建在物理资源之上的,完成资源调度、集群管理、存储管理等基础服务;

中间层是一些服务的依赖中间件服务和监控日志服务

CI/CD自动构建

最上面的层是开放给平台用户的能力,提供应用服务管理、权限管理及日志检索等功能。

在这里插入图片描述

PaaS平台化如何实现?

平台的实现有多种方式,并不一定需要Kubernetes或者Docker,只不过当前大多数PaaS平台都是基于“Kubernetes+容器”的方案的,这里还需要区分清楚。

个人拙见: 目前k8s已经成为PaaS平台建设最重要的组成,甚至是标准,自己实现维护那一套,大概率不如k8s稳定,且k8s提供了很强的扩展性。

服务和应用管理

PaaS平台和IaaS平台最大的区别是面向服务管理的,所有的资源也都是以服务为最小管理单元。用户不用担心基础资源配置(部署在哪台机器、IP地址多少、配置的内存多大等),所有的操作都是针对服务的。服务管理包括服务列表查询、服务创建和删除、服务的副本数修改、服务自动伸缩、服务的滚动升级和灰度发布等。

应用是将多个服务组合到一起维护的。一个应用包含了多个服务,譬如,一个网站是一个应用,这个应用是由MySQL、Spring Boot等多个服务组成。可以针对一个应用启动和关闭,以及编排。应用和服务逻辑关系图如图

在这里插入图片描述

监控告警

日志管理

针对一个Kubernetes集群的日志,则需要借助一套针对日志的采集、检索、分析及预警系统。
●Fluentd主要负责日志采集,通常和应用服务安装在一起,读取日志文件或者从网络流中接收文本日志并发送到Kafka中。除了Fluentd以外,还有很多采集插件,如Fluent Bit、Filebeat、Flume Agent等。

●Kafka主要负责汇聚数据,并提供数据整流,避免突发日志流量直接冲击后端系统。在实际生产环境中,Kafka是集群部署,通过将数据分区到不同节点实现数据的负载均衡。

●Logstash负责日志整理,可以过滤、修改日志内容,比如过滤日志中的敏感信息。

●Elasticsearch负责日志的存储和检索。自带分布式存储,可以将采集的日志分片存储。为保证数据的高可用性,Elasticsearch引入多副本概念,并通过Lucene实现日志的索引和查询。

●Kibana是一个日志查询组件,负责日志展现。

日志具备的功能

(1)多租户隔离,每个用户只能读取自己的业务容器;

(2)实时日志查看,读取当前最新实时日志,而非从Elasticsearch中检索;

(3)基于日志的告警,当多次出现某个写关键字后触发告警;

(4)基于服务的日志查询,不仅可以查询单个容器的日志,还可以针对这一组容器进行检索。

镜像管理

Harbor

CICD

CICD全称为Continuous Integration Continuous Delivery(持续集成持续交付),CICD整体流程图如图,如同一个流水线一样持续运行,循环反馈,不断迭代更新。

持续集成

所谓持续集成是不断进行代码提交、构建和测试。传统的软件开发是每个人或者团队单独负责一个模块,在产品即将发布时,才将各个模块组合到一起。但这种开发模式只适用于产品迭代周期比较长的情况,无法满足当前互联网快速产品迭代的需求。

持续集成允许开发工程师将代码不断提交,然后自动触发构建流程,确保代码可以顺利构建(编译),并执行自动单元测试确保功能完善。

持续集成需要做好版本控制和自动化构建,每个用户在功能分支(feature分支)上面开发后,可以随时合并到主干分支中。构建并发布到测试环境,期间以自动化单元测试、功能测试、性能测试工具进行测试,发现问题后及时回滚版本,并进行反馈。构建的过程不单单是代码的编译,还包括依赖、配置及环境。

持续部署

持续交付也叫做持续部署,是指在构建和测试完成通过后,将部署包发布到生产环境中运行。部署的方式可以通过Ansible、Puppet等部署工具,也可以通过容器的方式发布。让最新的功能能够尽快地更新到生产环境中,并通过运营反馈需求,促进产品进一步迭代。持续部署需要保障整个过程的平滑和安全,通常借助蓝绿发布或者金丝雀发布确保过程的平滑和安全。
在这里插入图片描述

CICD本身和PaaS平台的关系

CICD本身和PaaS平台没有必然关系,它是在容器兴起之前就已经存在,只不过在缺乏容器的时代,CICD很难落地。通过容器可以很好地完成应用从测试环境到生产环境的快速迁移,所以,CICD也成为容器平台的标配。

Jenkins目前已经成为CICD中最流行的构建工具,通过CICD系统构建任务,并将镜像推送到Harbor镜像仓库,最后触发Kubernetes滚动升级。
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/16055.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

统计聚类法的基本步骤:

统计聚类法的基本步骤: 1>形成数据框 2>计算距离阵 计算n个样品两两间的距离D。 3>进行系统聚类 (I)构造n个类,每个类只包含一个样品; (2)合并距离最近的两类为一新类; (3)计算新类与当前各类的距离,若类个数为1,…

观测云产品更新|Pipeline 使用体验优化;支持写入用户的自定义事件;自定义查看器支持选择更多类型的数据等

观测云更新 Pipeline 使用体验优化 Pipeline 支持过滤条件配置多选 支持将任意一个 Pipeline 脚本设置为“默认 Pipeline 脚本“,若当前数据类型在匹配 Pipeline 处理的时候,未匹配到其他的 Pipeline 脚本,则数据会按照默认 Pipeline 脚本的…

vs2017编译的64位libssh2库

需求:使用sftp上传下载文件 环境:windows vs2017 参考 链接: link 链接: link 编译 环境准备 libssh2依赖于openssl和zlib,所以需要有所以需要先编译:openssl和zlib才行。openssl和zlib。openssl和zlib我是下载人家编译好的…

【MySQL基础】数据库系统之关系型数据库与非关系型数据库

目录 一、数据库系统 1. 数据库 2. 数据库应用 3. 数据库管理系统(数据库软件) 3.1关系型数据库【RDBMS】 3.2非关系型数据库【NoSQL】 4. SQL和数据库管理系统的关系 5. 关系型数据库管理系统的组成 💟 创作不易,不妨点…

DIY CY7C68013A模块为逻辑分析仪

DIY CY7C68013A模块为逻辑分析仪摘要工具软件步骤参考资料:摘要 将淘宝购买的CY7C68013A模块修改为8通道逻辑分析仪。 购买的CY7C68013A模块如下: 工具软件 Zadig:用于安装逻辑分析仪驱动。 PulseView:Sigrok逻辑分析仪应用软…

Python面向对象2-继承-

文章目录目标一. 继承的概念二. 单继承三. 多继承 [python又支持多继承了]四. 子类重写父类同名方法和属性 #TODO目标 继承的概念单继承多继承子类重写父类的同名属性和方法子类调用父类的同名属性和方法多层继承super()私有属性和私有方法 一. 继承的概念 生活中的继承&…

实验(三):单片机I/O口实验-模拟开关灯

一、实验目的与任务 实验目的: 1.掌握单片机I/O口输入输出使用; 2.掌握单片机I/O口位操作的编程。 任务: 1.根据要求编写程序,并写出原理性注释; 2. 检查程序运行的结果,分析一下是…

VLAN和VLAN间路由

VLAN和VLAN间路由一 交换机二 vlan2.1 华为交换机的特性2.2 access接口2.2.1 在华为交换机上配置access接口2.2.2 access接口接收到报文的处理流程(打vlan tag)2.2.3 access接口发送报文的处理流程(剥离\弹出vlan tag)![在这里插入…

【仿牛客网笔记】项目进阶,构建安全高效的企业服务——权限控制

引入依赖 将登录检查拦截器删除掉 授权 首先显示路径 除了这些请求,其他的请求统统允许。 当权限不够处理的时候 返回XML是异步请求 添加denied的路径 获取用户权限的方法 将结果存入到集合中,实例化一个集合 获得用户权限,并把…

java框架学习笔记——SpringMVC

SpringMVC1. SpringMVC简介1.1 什么是MVC1.2 Spring MVC1.3 Spring MVC 的常用组件2. Hello SPring MVC2.1 基础配置2.2 总结3. RequestMapping注解3.1 功能3.2 位置3.3 value属性3.4 method属性3.5 params属性3.6 headers属性3.7 SpringMVC支持ant风格的路径3.8 SpringMVC支持…

数据中心网络方案设计

大家好,我是技福的小咖老师。 云计算、大数据、人工智能等技术的快速发展,对承载数据流量的数据中心网络提出了更高的要求,高吞吐量、高可靠性、低时延、适应服务器虚拟化等都是业务对数据中心网络提出的要求。为了满足业务对网络的要求&…

若依 弹出复选框表格

需求: 工资表用户应该可以弹框选择(弹窗选择用户表的id) 最后效果差不多这样: 步骤: 1.首先,先看我们需求啊, 工资表用户应该可以弹框选择 通过需求确认: 与这个需求关联的表有…

APS自动排产-AP工厂高级计划

安达发AP主要解决的问题: 客户交货需求:将销售订单、销售预测,同一转换为客户交货需求。生产净需求:考虑客户交货需求、当前库存、采购在途、生产在制、生产提前期、生产周期等,扣库存、展 BOM,最终产生产…

你知道数字化表单在防疫中的运用有哪些吗?

说到信息登记,很多人第一印象就是纸质化表格。但是随着科技发展,纸质化登记模式早已被out了。相比传统的纸质表格登记信息,现在普及的数字化表单登记模式有着更多的优势,例如:成本低、不宜丢失、打破了时间与地点限制&…

EasyCode的Mybatis终极版模板

EasyCode的Mybatis终极版距离我第一次上手EasyCode已经有一年的时间提醒一下,看这篇文章,如果你已经有EasyCode使用基础,只是来拿一下模板,可以直接看,如果你同时想知道知道到底怎么用easy code,请先看[Eas…

RabbitMQ初步到精通-第四章-RabbitMQ工作模式-Routing

第四章-RabbitMQ工作模式-Routing 1.模式介绍 1.1 模式 路由模式-继续还是和Exchange打交道,上节提到的Exchange类型为Fanout,此次声明的类型为direct 与默认Exchange一致。但还有最核心的一点,上节未使用Routing key,此次模式中…

SpringBoot实用开发篇复习3

我们之前学习了数据访问层的解决方案,包括关系数据库和非关系数据库,这一篇我们重点学校SpringBoot整合第三方技术,下面一起努力学习吧。 目录 一、整合第三方技术 1.1、缓存 1.1.1、缓存的作用 1.1.2、SpringBoot缓存使用方式 1.1.3、手…

C/C++自动 21 级(含卓越 211)《软件技术基础》期末大作业

C/C自动 21 级(含卓越 211)《软件技术基础》期末大作业 一、作业内容 题目一:请你设计一个算法,从顺序表中删除自第 i 个结点开始的 k 个结点。要求先输出整个顺序表,再输出删除自第 i 个结点开始的 k 个结点后的结果。 【编程提示】 假设…

高性能计算(HPC)存储高校科研应用分析

育人为本,国之根本,高校从理论教学到实操教学,从教室到实验室,改变了传统的教学模式,以数据的力量塑造新技术型高科技人才。随着科研项目多元化与数据量的增多,对计算速度与存储空间的要求不断提升&#xf…

rae众筹首个新目标,Tinkering开发板来了~

编辑:OAK中国 首发:oakchina.cn 喜欢的话,请多多👍⭐️✍ 内容可能会不定期更新,官网内容都是最新的,请查看首发地址链接。 ▌前言 Hello,大家好,这里是OAK中国,我是助手…