在这种架构下,用户的访问流程如下:
1. 某业务部门需要发布某个全国性业务到多数据中心的云计算平台里,首先对全局管理系统发送请求,通知全局管理系统发布业务需要多少带宽资源,硬件资源,软件资源以及这些资源如何分布在不同的数据中心等。
2. 全局管理系统将业务部门的要求发送到各数据中心的子管理系统,再进一步获得数据中心内资源池的资源。
3. 各个子管理系统将获得的资源情况反馈给全局管理系统。
4. 全局管理系统通知全局表现层将获得的多数据中心资源以单一域名的方式发布出去。
5. 最终用户对全局表现层上的域名发起DNS解析请求。
6. 全局表现层与各个数据中心的子表现层设备通信,获得各个数据中心内的资源使用状况,同时要求各个子表现层设备对最终用户进行探测,来获得最终用户到各个数据中心的网络状况和响应时间等。
7. 全局表现层根据各个数据中心的资源使用情况和用户的就近性原则,为用户解析一个最优的数据中心。
8. 最终用户业务请求发送给这个数据中心内的子表现层设备,再进一步发送到数据中心资源池中的资源。
9. 这个数据中心资源池的资源根据客户业务请求,回应应用内容给数据中心内的子表现层设备,再进一步回应给最终用户。
10. 全局表现层将获取到的最终用户信息,包括地理位置,行为特征,响应速度等,实时地通知给管理系统。管理系统会根据这些信息动态对资源池中的资源进行调整,例如为北方用户分配更多的北方中心资源。为响应速度慢的窄带用户提供加速服务等,从而实现整个云计算平台的弹性的扩展,灵活的伸缩。
11. 业务部门可以基于全局管理系统来获取到各个数据中心内部资源池里资源的使用效果、使用频率和用户的访问量等信息。
通过这种架构,云计算进一步实现了更多特点:
(1) 业务连续性
业务连续性可以解决数据中心的安全性和高可用性,保证在数据中心遭受灾难时可以有灾备中心继续提供数据应用服务,使各种业务应用保持正常运转。
(2) 用户智能调度
多数据中心为全国乃至全球用户提供服务,用户访问可以被智能的,基于就近性原则定位到性能卓越,速度最快的数据中心,从而提高客户体验,提高整体云计算平台的使用效率。
(3) 弹性扩展
全局表现层和子表现层设备会将用户发送流量的多少等信息通知全局管理系统。如果发现一个数据中心已无法满足要求时,会由全局管理系统自动在其他数据中心分配相应的资源,然后通过全局表现层发布出去,从而实现数据中心的自动弹性扩展。
全局表现层将获取到的用户信息,包括地理位置,行为特征,响应速度等,实时地通知给管理系统。管理系统会根据这些信息,动态的对资源池中的资源进行调整,例如将南中心的虚机迁移到北中心,以满足北方用户的访问需要,从而实现整个云计算平台的资源的自动迁移和集中调度。
(4) 资源集中调度
物理(虚拟)服务器、网络和存储都被组织成资源池的形式,资源池根据上层应用的需求集中调度,统一管理,保证资源在全局范围内高效使用。
三.云计算演变步骤
3.1 传统数据中心转向云数据中心
现在很多企业已经在部署了数据中心,未来还有可能建设更多,更大的数据中心。如何能够把传统的数据中心建设成为动态的云数据中心呢?根据我们的经验,一般需要解决3个问题:1.资源的虚拟化。2.服务的高可用。3.自动化弹性扩展。
▲
资源虚拟化
虚拟化是云计算中不可或缺的一部分。采用了虚拟化技术后,云内的资源才能灵活,动态的根据业务需要进行调整。虚拟化技术主要分为两大类,分别是可以将一台物理设备虚拟成多个虚拟设备的“一分多”技术;或者是将多个物理或虚拟设备整合到一起成为一个大的虚拟设备的“多合一”技术。那么如何将数据中心内的资源虚拟化呢?我们从传统的数据中心都会包含的存储资源,计算资源,网络资源分别阐述。
对于文件存储虚拟化,我们可以采用F5的ARX文件存储虚拟化解决方案。ARX可以部署在多个的文件存储前端,它会把后台的多个文件存储设备整合到一起,对外发布一个虚拟文件路径。前端的服务器的所有读写操作都发送到ARX设备,由ARX发送到后端具体的某台文件存储上。这样通过ARX就实现了对文件存储的虚拟化整合。可以在不中断业务的情况下,灵活的在ARX后端添加或减少文件存储设备。
对于服务器虚拟化,现在有很多成熟的解决方案可以实现“一分多”虚拟化,包括VMWARE,HYPERV,XEN等。这些技术通过细分物理服务器资源的方式,保证物理服务器资源能够被高效的利用。但当业务的压力大到整台物理服务器都无法满足要求时,就需要将这些物理服务器或“一分多”后的虚拟服务器整合到一起,实现“多合一”的虚拟化,以提供更强大的业务服务能力。这恰恰是F5可以帮助用户解决的问题。F5可以通过在这些服务器的前端部署负载均衡设备,将服务器所发布的业务整合到一起,形成一台大的虚拟服务器,对外发布一个IP地址,然后根据服务器的负载状况智能的将流量分配给这些服务器,保证这些服务器资源可以被灵活的调度和扩展。
对于网络虚拟化,许多网络设备,包括防火墙,IPS,VPN等都已经支持自身的“一分多”虚拟化技术。同样,要将这些物理或虚拟的网络设备整合到一起,实现“多合一”的虚拟化,F5是最好的选择。通过在网络设备前端布署F5负载均衡设备,就可以把这些设备整合到一起,形成一台大的虚拟网络设备,对外发布一个IP地址,而实际流量是被智能的发送到后面多台物理或虚拟网络设备上,从而保证这些网络资源可以被灵活的调度和扩展。
同时F5设备自身也支持虚拟化,可以更灵活的与相应的资源配合。
服务的可用性
F5负载均衡的基本功能就是可以保证后台节点的高可用性。无论是网络设备也好,服务器设备也好,存储设备也好,如果任何一个节点出现了故障,F5都会发现,并不再把用户请求发送到故障的节点,从而保证节点的高可用性。
资源的自动化弹性扩展
所谓资源的自动化弹性扩展是指将IT资源可以根据业务需求或用户访问行为,自动化的扩展服务能力。自动化弹性扩展服务能够根据用户需求的变化对用户使用的资源进行扩展,扩展的过程中对上层应用是透明的,用户无需对此进行软件和操作系统的复杂配置。
我们通过F5与VMWARE共同配合实现的自动化扩展方案来了解方案细节。
▲
在这个架构里,F5的负载均衡设备和VMWARE共同构建了一个前端服务器,应用服务器,文件存储组成的三层架构系统。前端服务器,应用服务器都使用VMWARE实现了虚拟化,F5分别部署在服务器和文件存储的前端对外发布资源。平时只有3台前端服务器和3台应用服务器对外提供服务。
当用户访问量增大时,6台虚拟机已经没有办法满足用户需求。此时F5作为表现层的设备,会把用户访问压力状况通知给管理软件VCENTER,VCENTER会根据F5反映的压力状况对虚拟服务器资源作调整,再开启6台虚拟机,并把新增的6台虚拟机的ip,端口等信息反馈给F5。F5再把这些新添加的虚拟机部署到对外发布的服务器组里去,此时就有12台虚拟机对外提供服务,整个系统的服务能力就增加了。系统由原来的6台虚拟机变成现在的12台虚拟机,整个的过程是完全自动化的。
同样,当用户访问量减少的时候,F5会把压力状况通知VCENTRE,VCENTER就会关闭一定数量的虚拟机,并通知F5在对外发布的服务器组中去掉这些关闭的虚拟机。系统就由12台虚拟机又变成了6台虚拟机对外服务,整个系统的服务能力就降低了。
通过这个案例可以看出,整个系统的服务能力可以自动化的随着用户访问压力的大小而调整,无需任何人工干预,真正实现了资源的自动化弹性扩展。
通过解决以上3个问题,传统的,固化的数据中心也就转变成了灵活,动态的云数据中心。
3.2 云数据中心转向云计算
在企业建设或转换了各个云数据中心后,接下来就需要将多个云数据中心聚合到一起,形成多数据中心的云计算平台。在这里一般需要解决4个问题:1.用户的调度。2.数据中心间的带宽瓶颈。3.数据中心的高可用性。4.数据中心的自动化弹性扩展和资源的自动迁移。
用户的调度
在多数据中心的情况下,某个用户应该访问哪个数据中心的业务才是最优的呢? 只有用户访问了最优的数据中心资源,才能提升用户体验,并提升整个云计算平台的资源利用率。
从下图我们以某个业务为例,来看F5如何帮助企业解决用户调度问题。
▲
在每个数据中心里部署F5的GTM和LTM设备。LTM对服务器提供负载均衡并对外发布服务ip地址。GTM提供对业务域名www.abc.com的解析服务,定义域名对应每个数据中心里的LTM上的业务ip地址。
1. 最终用户要访问业务,发起对www.abc.com的dns解析请求。经过一系列dns重定向,client将dns请求发送到GTM1,查询www.abc.com对应的ip地址。
2. GTM1要求IDC1,2,3里的LTM设备对client的ldns该发起探测,来判断用户到哪个IDC时间最短,路由跳数最少等。
3. 各IDC里的LTM对client ldns发起探测,并把探测结果返回给GTM1。GTM1根据各LTM返回的数据判断IDC2距离用户访问速度最快。GTM1将LTM2上的业务ip地址解析给用户。
4. 用户将业务数据请求发送到LTM2上的业务ip地址来,开始业务访问。
通过这种方式,用户的数据请求被定位到了速度最快的数据中心进行处理,从而提升了用户体验,并充分利用了云平台里的多中心资源。