paas平台

时间:2023-12-20 17:07:08

paas平台

定义:
PaaS是云计算中重要的一类服务,为用户提供应用的全生命周期管理和相关的资源服务。通过PaaS,用户可以完成应用的构建、部署、运维管理,而不需要自己去搭建计算环境,如安装服务器、操作系统、中间件和数据库等。云计算中的IaaS系统提供给用户的是虚拟机资源,PaaS提供的是一个无服务器(Serverless)的计算环境,用户只需专注于应用的开发,PaaS负责应用的部署和运维,实现应用的弹性伸缩和高可用等功能。

关键功能:

提供应用开发部署运行环境,包括运行环境、操作系统、执行环境和应用服务、开发API、开发工具,可以支持应用的开发、测试和部署
提供应用服务组件池管理功能,包括以API形式提供消息队列、数据库、缓存和数据存储服务。
提供服务和应用以及资源管理功能:包括服务和应用部署、升级和下线、资源监控与管理、扩容等。

组成部分
•Portal:
整个PaaS平台有自己的Portal界面,整合后续所有的资源,面向用户提供服务。
•APIServer:
Portal与底层资源之间有一层APIServer,它提供RestfulAPI,将底层所用资源的管理功能做封装,可以同时向前端的多种来源需求提供服务,其中Portal是主要的服务请求来源。
•ComputeUnit:
采用Docker容器作为计算单元打包的利器,随后可以看到将完整的应用栈打包在一个镜像内,类似于Java语言所宣称的那样,实现一次打包,到处使用,而Docker所囊括的范围更加广泛。在Repository上使用Docker的仓库来保存所有的计算逻辑单元。Docker容器默认通过端口转换向外提供服务,为了使每一个容器都能够像一个虚拟机样,我们要使用pipewalk之类的工具,从IP地址池中获取一个地址附加到活动的容器上,这个动作可以在启动一个容器后作为钩子程序实现。
•ResouceManage:
在分布式平台中有一个资源管理器,它将数据中心的所有资源抽象成一个“大操作系统”,资源管理器并不向用户应用程序直接提供接口,而是将资源分配给不同的调度框架,这些调度框架可以用于长任务型服务、批处理、后台任务,以及流程计算等各种类型的资源需求应用。
•ScheduleFramework:
调度器与资源管理是紧密相连的,资源管理侧重于对三大资源的分配算法,而调度器要面向上层多变的应用类型,将稳定与多变的功能放在一起,既丢失了资源管理的灵活性,也加重了工作负载。
•Coordinator:
在分布式平台的中心有一个类似于交通枢纽的协调管理系统,用于分布式协调锁,同步各类组件状态。
•AutoOps:
我们可以看到AutoOps自动化运维的常用工具,满足动态资源的批量命令与静态软件配置需求。
•Log:
日志不是文件,日志是一条条消息,在最终的PaaS计算单元中,本地将不存储任何日志,而是发送到远端的集中管理处。在日志集中管理部分采用了开源社区流行的ELK组件,我们会看到如何将所有节点的日志导入一个集中部分进行查看与展示。
•其他:
在存储方面,大型企业会采用专用存储设备保存核心数据,对于核心的交易请求保证I/O响应时间与吞吐。在PaaS中,存储场景与这类企业级应用核心交易存在区别,更多的是需要一个接口简单、成本低廉的分布式存储,通过应用上的多级缓存缩短I/O响应时间。