1.5.2 知名云架构示例
在现实的IT环境中,有许多云计算产品都符合本节所讲述的架构,其中比较知名的有Salesforce CRM和Google App Engine。为了帮助读者进一步理解云的架构,本节将以这两个著名的云计算产品为例进行介绍。
1.Salesforce CRM
从用户角度而言,Salesforce CRM属于SaaS层服务,主要通过在云中部署可定制化的CRM应用,来让企业用户在初始投入很低的情况下使用CRM,并且可根据自身的流程来灵活地定制,而且用户只需接入互联网就能使用。从技术角度而言,Salesforce CRM像很多SaaS产品一样,不仅用到SaaS层的技术,而且还用到PaaS层、IaaS层和云管理层的技术。图1-5所示为Salesforce CRM在技术层面上大致的架构。
图1-5 Salesforce CRM在技术层面上的架构
Salesforce CRM采用的主要技术包括以下几种:
SaaS层:基于HTML、JavaScript和CSS黄金组合。
PaaS层:在此层,Salesforce引入了多租户内核和为支撑此内核运行而定制的应用服务器。
IaaS层:虽然在后端仍使用企业环境中很常见的Oracle数据库,但是它为了支撑上层的多租户内核做了很多优化。
云管理层:Salesforce不仅在用户管理、计费管理、监控系统和资源管理4个方面有不错的支持,而且在安全管理方面更是提供了多层保护,并支持SSL加密技术等。
2.Google App Engine
Google App Engine是一款PaaS服务,它主要提供一个平台来让用户在Google强大的基础设施上部署和运行应用程序,同时App Engine会根据应用所承受的负载来对应用所需的资源进行调整,并免去用户对应用和服务器等的维护工作,而且支持Java和Python这两种语言。在技术上,由于App Engine属于PaaS平台,所以关于显示层的技术选择由应用的自身需求而定,而与App Engine无关。App Engine本身的设计主要集中在PaaS层、IaaS层和云管理层。关于App Engine在技术层面上大致的架构如图1-6所示。
图1-6 App Engine在技术层面上的架构
Google App Engine采用的主要技术有以下几种:
PaaS层:既有经过定制化的应用服务器,比如Jetty服务器,也有基于Memcached的分布式缓存服务。
IaaS层:在分布式存储GFS(Google File System)的基础上提供了NoSQL数据库BigTable来持久化应用的数据。
云管理层:由于App Engine基于Google强大的分布式基础设施,所以它在运维管理技术方面非常出色,同时其计费管理能做到非常细粒度的API级计费,而且App Engine在监控系统和资源管理这两方面都有非常好的支持。