任怡,张菁,陈红,吴庆波,孔金珠,戴华东,管刚
(1. 国防科学技术大学 计算机学院, 湖南 长沙 410073;2. 腾讯研究院,北京 100080)
按照服务交付模式的不同,云计算分为软件即服务(SaaS, software as a service)、平台即服务(PaaS,platform as a service)和基础架构即服务(IaaS,infrastructure as a service) 3个层次。其中,PaaS平台作为云应用引擎,为分布式或互联网应用开发者提供一个透明、安全、高效的应用开发和运行环境,提供应用所需的各种核心功能,并支持将开发的应用程序部署到该平台上。目前,商用PaaS平台的典型代表包括GAE(google app engine)、Salesforce.com的Force.com、微软的Azure等,开源的PaaS平台主要是AppScale。
PaaS平台资源规模庞大、管理集中、支持大量用户并发请求,为保证其稳定高效运行,资源监控功能必不可少。资源监控可以实现对平台内各种资源使用和负载情况的有效监测,并为资源动态部署和负载均衡提供依据;通过对系统资源实时监控,提取平台资源使用信息,便于更好地完成系统资源的分配和管理。与此同时,作为商用PaaS平台获取和掌握用户使用资源情况的最直接途径,资源监控功能也为客观、公正、合理地进行资源计费起到了不可替代的作用,它是PaaS平台向用户收取服务费用的最根本数据来源。
AppScale的开发和运行接口与GAE兼容,是具有代表性的开源云应用引擎平台[1~3]。以AppScale为研究平台,分析了其架构及特点,探讨了其资源监控功能的实现机理和不足。在研究已有云计算平台计费策略的基础上,基于AppScale资源监控机制,采用Ruby on Rails Web架构,设计和开发了具有进程级资源监控和面向多租户的资源计费功能的CloudMB。……