PAAS的架构设计与应用实践(一)

CloudSpace是一个平台即服务(PaaS),它提供给开发者自由的去选择云平台、开发框架和应用服务,使得开发者能够更快更容易的开发、测试、部署和扩展应用,让开发人员专注于编写应用程序,而无需为中间件和基础设施分心。团队在使用自助式高生产力的框架和应用服务的同时,开发人员可以快速在自己的环境上开发和测试自己的下一代应用,并能部署到云上而无需做任何更改,大大提升持续快速,高质量地交付价值的能力。

一、 PaaS解决了什么问题?

     PaaS为开发者提供应用全生命周期的服务能力,主要有两方面:

  • 是提供了资源资源和服务集成的平台,如  存储、数据库、缓存和搜索等;

  • 服务端应用程序的运行环境,如  Web应用和Work应用等;

PaaS架构设计要提供多租户的应用平台,多租户间的隔离机制(Nodes、Network、IO、Runtime、Services等)非常重要,对于隔离要关注以下方面:

  • 资源隔离和约束

       指应用间的容器配额cpu、io、内存等资源要相互不受影响。

  • 访问控制

       包括应用间的网络访问控制和本地IO访问控制。

  • 数据和数据服务

       Container只挂在归属应用自身的UnionFS 

       OVS针对服务实例实施白名单策略

       类似S3等块存储天然隔离

 

PaaS平台主要支持了通用应用架构应用运维两方面能力:

  1. 支持应用架构能力

  

      随着应用架构迭代,平台最终将应用抽象为两种类型web和work。区分两种类型, 就是看应用提供的是http能力,还是socket能力。对于通用应用架构,与框架无关,具有无状态、分布式、通用性三个特性。

  • 对于无状态

       一个应用通常有多个实例集,单实例失去服务能力不影响应用的服务。应用开发时,不要将状态与实例耦合,通常采用实例之外通用存储来保证状态一致性。

  • 对于分布式

       一个应用通常要进行集群部署,而不是单个应用部署。具体这样的特性,必须在应用开发时,注意扩展性,不要将配置与实例耦合,通常采用实例之外通用配置中心来保证应用独立性。

  • 对于通用性

       更多是从应用和服务角度来做定义,对于应用来讲,从调用关系来看,可分为对外或对内调用,应用间通信抽象为同步(常用Http)或异步(常用Message);对于服务来讲,从中间件角度来看,都应该具有分布式能力(分布式cache、分布式db等),并且提供数据的安全访问机制,屏蔽应用交互差异,做到通用模型。

 

2. 支持应用运维的能力

       运维通常划分为基础运维和应用运维。对于基础运维,主要负责物理设备及网络等基础建设,更偏底层。对于应用维护,主要围绕应用构建全方位服务,如 虚拟资源,网络规划,软件预装、应用,安全、日志等管理服务,一直以来都在推动运维工作的自动化、规范化和简约化,但仍然面对不同应用团队个性化的挑战,这些都应该有PaaS平台统一解决。

 

二、PaaS架构设计

 

 

  • 5
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值