平台层是运行于基础设施层之上的一个以软件为核心,为应用服务提供开发、运行和管控环境即中间件功能的层次。基础设施层所要解决的是IT资源的虚拟化和自动化管理问题,而平台层需要解决的是如何基于基础设施层的资源管理能力提供一个高可用的、可伸缩的且易于管理的云中间件平台。从云架构而言,平台层位于基础设施层与应用层之间,它利用基础设施层的能力,面向上层应用提供通用的服务和能力。
平台层面向云环境中的应用提供应用开发、测试和运行过程中所需的基础服务,包括Web和应用服务器、消息服务器以及管理支撑服务如应用部署、应用性能管理、使用计量和计费等。平台层所提供的服务是在云计算环境中开发、测试、运行和管理应用服务所需的基本功能。平台层以平台软件和服务为核心,用户通过相应的编程模型和API来建立应用和发布。由于平台软件和服务的多样性,以及用户对平台的需求和使用方式上的不同,平台层在理念、客户定位和实现方式上也会存在差异。
关于所支持的编程模型,平台层可以基于标准编程模型,也可以基于自定义编程标准。基于标准编程模型可以降低用户的使用门槛,并且可以使原有的系统更容易地迁移到云平台上,如在Google App Engine中,可以直接使用J2EE模型进行Web编程。某些云平台为了更好地强调某类云计算中的特殊问题而采用了自定义的编程模型,如force.com为了更好地支持多租户技术而自己定义了Apex编程模型。必须强调的是,随着云计算技术的发展,平台层中会出现越来越多的其他有别于传统中间件的服务,如半结构化的大规模存储服务,非SQL的数据库服务等,这些都会进一步提高云应用的开发工具和手段。在传统的应用开发中,用户需要花费大量时间和工作来进行软件堆栈(即中间件)的选型、定制和部署,在云平台上,这部分的工作将由云平台根据应用的需求和特点自动完成。
我们可以看到,在Google App Engine和force.com这样的云平台上,用户不再需要手动地选择自己所需要的Web容器和数据库产品以及对管理功能的选择和扩展。用户更多的是针对应用的特点,如运行时Qo S需求,伸缩策略或者部署方式等应用的参数进行指定和配置,平台层可以根据应用的相关配置自动提供支撑应用的中间件资源以及在运行时进行自动的负载平衡、伸缩控制和SLA优化等。通常的企业客户维护着大量现存的应用。企业客户在选择云平台运行其应用时,需要考虑两个方面的问题:一是平台层技术如何能够帮助企业已有的软件平台进行转型,并使企业在管理的有效性和成本方面从该转型中受益;二是企业在选择应用软件产品时有其特定的需求,而这些特定的需要对平台层的能力提出了要求,云平台应该能够满足这样的要求。云平台技术的发展将会更加贴近客户的多样化需求。
领取专属 10元无门槛券
私享最新 技术干货