基于L A MP的云管理平台研究及探讨

2014-07-05 05:24廖国栋肖玉容
江苏科技信息 2014年14期
关键词:统一架构模板

廖国栋,肖玉容

(1.亚信科技(南京)有限公司,江苏南京 210016;2.江苏省电信公司,江苏 南京 320100)

1 LAMP云管理平台技术路线

LAMP(Linux-Apache-MySQL-PHP)网站架构是目前国际流行的Web框架,该框架包括:Linux操作系统;Apache网络服务器、MySQL数据库;Perl、PHP或者 Python编程语言。LAMP提供了一个快捷、低投入的前端开发框架,但是作为一个稳健的、并且可以最大扩展的平台,还可以利用Java平台提供后端服务的能力,通过多线程、轻量级服务保证高并发访问,并结合统一搜索、即时通讯、在线视频分享等提供更加丰富的功能。本文提出的LAMP云管理平台总体技术路线如图1所示。

图1 LAMP云管理平台总体技术路线

■基础层由 Linux,MySQL,MongoDB,Memcached 提供基础软件运行环境。

■服务层由JBoss/Tomcat提供Restful服务,由Solr搭建自定义搜索引擎,FFmpeg提供流媒体服务并支持多种视频格式转换,Openfire作为即时通讯服务器。

■表示层由Apache作为WEB容器,并由PHP搭建前端运行框架。

■前端支持浏览器接入、智能终端、基于WEB/客户端的即时通讯,并可以扩展至多媒体查询机、智能电视等大屏设备。

2 LAMP云管理平台设计思想

LAMP云管理平台将在统一基础设施环境下,构建“平台+应用”的业务支撑体系,包括:

■平台:基于云的基础设施平台、基于云的基础服务平台、统一的门户和业务技术能力平台。

■应用:在平台及规范体系下的业务应用。

2.1 平台自治

平台支持应用从创建到运行整个生命周期管理,支持服务从创建到运行整个生命周期管理。平台可以对应用使用的计算资源进行管理,可根据应用的业务规模、用户数等为应用分配相应的计算资源。

2.2 租户管理

LAMP平台上所有业务以应用的方式提供给用户使用,用户必须通过订购应用后才能使用。订购可以是用户订购、管理员代订购(默认可使用的应用)、群组应用管理员添加使用者3种方式。

应用在发布时,必须配置需使用的资源或者服务,并通过安全控制授予应用可以访问的系统资源。同时,应用可以使用的服务资源可以被收回,用以应用异常或第三方开发者越权访问资源时对应用进行隔离。

3 技术架构

本文论述的LAMP云管理平台总体技术架构如图2所示。

3.1 WEB Framework

WEB Framework为应用提供了统一的开发和运行框架,负责为应用提供URL转换、页面流转控制、页面渲染、服务访问封装、布局管理、主题等能力,为业务应用提供敏捷开发能力(见图3)。

(1)URL Handler:URL由Web App资源索引定义,包括URL和回调函数。访问URL时框架会先作权限验证,成功后自动调用相应的回调函数并返回。

图2 总体技术架构

图3 WEB Framework框架

(2)UI Viewer Render:根据PHP页面模板对页面元素进行渲染。框架提供模板引擎抽象类,提供常用的视图函数。Web App中通过assign方法对模板变量赋值,赋值后在模板中可直接调用。模板中可再调用render方法渲染子模板。

(3)Page Render:加载应用主题、配置文件、属性等配置数据。

(4)Proxy:Web App对外部服务调用的代理,Web 端的Proxy通过HTTP Request方式向Service发起调用请求。

(5)WEB Service Wrapper:外部系统不能对Web系统直接调用,Web系统的方法必须由Web Service Wrapper呈现。外部系统通过Web Service方式调用平台上的服务。其业务应用在WEB Framework下的运行状况如图4所示。

图4 WEB Framework运行流程

■ Agent负责代理平台核心服务,并统一接口对其他部分提供服务。

■ Proxy是Agent系统在Controller层的代理,以PHP inc文件方式呈现。

■ 模板引擎结合Web App所提供的PHTML和Proxy所提供的服务内容,进行渲染,得到App的展现界面。

■ Portal架构在Web Framework基础之上,将Web App组织起来,同用户进行交互。

3.2 平台核心服务

LAMP平台是一个可以快速横向扩展的平台,运行业务应用众多,从技术上需要对与技术相关和通用性较强的能力进行抽取,结合云计算的先进理念,将基础架构及应用功能云化管理,形成一个科学先进的基础平台,保证各应用在技术架构上是统一的、可靠的、易维护的、易扩展的、高性能的。

(1)统一认证授权服务:将校内所有应用中的帐号(Account)管理、认证(Authentication)管理、授权(Authorization)管理和安全审计(Audit)整合成集中、统一的安全服务系统,也称之为4A管理。

(2)统一资源管理:基础设施资源指提供承载的主机(或虚拟主机)以及其上运行的应用服务器、数据库服务器、文件存储服务器。统一资源管理对运行环境中软硬件等基础设施的登记管理、资源调度、拓扑查询等。

(3)统一消息中心:在用户使用过程中会产生许多与用户切身相关的信息事件,如预约、通知、日程提醒等,依据事件的重要性、紧迫性及时将各类通知提醒投递至用户可以提高工作效率、提升用户体验,是平台具备的一项基本能力。

(4)统一搜索引擎:随着应用的增多和用户使用频度的增多,未来平台的数据会爆炸性的增长,用户感兴趣的数据不仅包括各业务应用产生的结构化数据,还包括信息发布、虚拟社区、消息通知、文件文档、互联网上数据等各类非结构化的数据,传统的查询统计已经不能将这些数据统一呈现出来,甚至对非结构化数据已经完全束手无策,因此定制了一个统一的搜索引擎。

(5)统一工作流引擎:日常工作中的公文流转、各项审批可以使用工作流进行标准化的管理,统一工作流引擎具备工作流可视化建模、流程动态部署、流程驱动、流程监控等功能,对于流程类业务快速开发和实施上线、流程统一监控等具有重要意义。

(6)统一信息发布:统一信息发布实现对站内信息内容发布的统一管理,支撑新闻、公告、各种宣传材料、规章制度等内容的采编、审批和发布流程。统一信息发布是综合门户、各虚拟站点的重要信息来源。

(7)统一日志服务:以标准服务向业务应用提供日志记录服务,统一日志格式,集中日志存储,统一查询界面,统一设置日志开关。

(8)统一缓存服务:非频繁变动的数据放在内存缓存中,系统需要数据时直接从缓存中读取,从而节约数据获取时间,大大提高系统性能。

(9)统一文件存储服务:文件分享也是目前常用的应用,平台提供了对文件进行统一的存储管理的功能,可以为各类应用提供上传附件的接口,并向用户提供类似各大网站的网盘服务。

(10)统一应用管理:平台的核心特色就是以“应用仓库”的方式对应用管理的能力,使用平台的SDK开发的应用可以直接发布在平台上,平台类似于一个管理WEB应用的操作系统,为教育教学应用提供基本的运行环境,负责监控和维护应用的运行。

*应用注册:向应用注册表中注册应用,为应用分配应用标识,用以在应用访问中动态寻址。

*应用安装:根据应用系统规范中定义的标准,定义应用版本,制作应用安装包,通过上传应用安装包,将应用安装在平台上并启动应用。

*应用监控:监控已经安装的应用的运行状态,统计所消耗资源,近期内应用产生的交易量,并能够在监控界面中选择启动或停止应用。

*应用订购:用户可以订购已安装的应用,并支持按角色、工作组批量订购应用。

*应用卸载:对已经停用的应用可以通过运维监控界面进行卸载。

(11)统一SOA标准:SOA是一种面向服务的系统架构方法,通过统一的SOA标准实现业务能力的提升和技术能力的提升(见图5)。

图5 SOA技术标准

*采用HTTP+RESTful通讯协议:相较于SOAP的WEB Service实现,RESTful服务更加高效、简单、安全、可靠,已经成为WEB Service的主流实现方式。

*采用JSON的数据格式:JSON能够描述XML格式的层次关系,由于省略了XML中字段的标记信息,数据量更小,通讯效率更高。

*安全策略:采用密码验证+摘要验证的方式,保证业务应用通过安全的身份验证,通讯数据不被篡改。

4 总结

(1)完全基于云计算理念:云计算包括3个层次:基础设施即服务(IaaS)、平台即服务(PaaS)、软件即服务(SaaS),本文论述的基于LAMP的云管理平台对云计算各层次提供全面支持。

(2)基于软件平台理念构建:软件平台能够提供基础的软件运行环境,各种类型应用可以在其上运行。

(3)采用了先进的WEB2.0技术:近几年WEB2.0迅速发展,已经成为各大网站的主流技术,WEB2.0强调用户分享、信息聚合、人人参与,并具有非常丰富的用户体验,采用WEB2.0技术的站点对用户的吸引程度大超过了传统站点。

(4)符合SOA体系的架构规划:解决方案基于SOA架构规划,充分体现了以人为中心,支持多用户角色、多应用融合的架构设计理念,彰显IT应用架构的灵活性和业务条线化发展的独立性,且能应对未来新业务的增加,促进信息化的高速发展。

(5)遵循开放的架构体系和技术标准:解决方案完全遵循业界开放的架构体系标准:PHP前端+Java EE应用层+SOA架构,以服务为导向,结合模块化结构、参数化设计,交易模板定制技术,层次清晰,封装性好,充分保证系统的灵活性和可扩展性。

(6)高性能和高扩展性的架构设计:方案采用高性能的架构设计,系统部署运行在高性能的应用服务器中,能充分利用应用服务器的负载均衡技术,确保系统的高可用性和高可靠性;系统应用架构设计采用松耦合的分层架构设计,支持应用的横向扩展和纵向扩展,充分保证系统的性能扩展能力;部署架构采用具有高可扩展性和低成本的虚拟集群技术。

(7)高度的安全体系设计:采用了多层次的安全体系设计,从网络、操作系统、数据库、应用服务器、数据库、应用和流程等各个层面都进行安全设计,并充分利用了操作系统、应用服务器、数据库服务器提供的先进的安全技术,结合产品平台提供的完善的授权管理和审计安全技术,以及高安全的网络传输协议和传输加密技术,确保系统具备高度的安全性。

(8)总成本最低:跨平台支持,可以部署至当前主流的各类Linux,Windows,UNIX上,除去开发费用不必再有额外的第三方软件投入,且支持多种硬件平台。还可通过分布式部署方案将应用部署在不同PC Server上,极大限度地利用现有IT资源,保护系统投资。

[1]陈立,李兰友.基于LAMP的高校网站集群建设与管理研究[J].南京工程学院学报,2011(1).

[2]张建华.LAMP从入门到精通[M].杭州:浙江大学出版社,2006.

[3]于翔海,吴小虎,徐磊,等.基于LAMP架设的信息家庭网络系统[J].物联网技术,2011(8).

猜你喜欢
统一架构模板
铝模板在高层建筑施工中的应用
基于FPGA的RNN硬件加速架构
铝模板在高层建筑施工中的应用
坚持严管和厚爱相统一的着力点
功能架构在电子电气架构开发中的应用和实践
碑和帖的统一,心和形的统一,人和艺的统一
统一数量再比较
LSN DCI EVPN VxLAN组网架构研究及实现
铝模板在高层建筑施工中的应用
城市综改 可推广的模板较少