• 1
  • 2
  • 3
  • 4
  • 5
阿里云应用开发 首 页  »  帮助中心  »  云服务器  »  阿里云应用开发
云计算关键技术中的三个技术
发布日期:2016-7-21 16:7:17

  为提高云环境中虚拟机的部署速度,我们需考虑并行部署与协同部署。首先看一下并行部署,它是将虚拟机同时部署到多个物理机上, 理想情况下,并行部署可以成倍地减少部署所需时间,但是这种方式容易受网络带宽与云部署服务器读写能力的影响。例如,在网络带宽有限的情况下,云部署服务器同时运行多个部署任务,这些任务就争抢网络带宽,当网络带宽被占满后,部署速度就不能够再被进一步提高。在这种情况下,协同部署技术可用来进一步提高部署速度。下面来介绍云计算。

  协同部署的思想是将虚拟机镜像在多个目标物理机之间的网络中传输,而不是仅在部署服务器和目标物理机之间传输,从而提高部署速度。协同部署技术能大大提高系统部署的速度,因为物理机之间存在大量的共享带宽,因此该方案不会受到竞争网络带宽的影响。

  1.资源调度

  云计算的海量规模为资源调度带来了新的挑战。资源调度需要考虑到资源的实时使用情况,这就要求对云计算环境的资源进行实时监控与管理。云计算环境中资源的种类多,规模大,对资源的实时监控与管理就变大十分困难。另外,一个云计算环境可能有成千上万德计算任务,这对调度算法的复杂性与有效性提出了挑战。从调度的粒度来看,虚拟机内部应用的调度是云计算用户更加关心的。怎样调度资源满足虚拟机内部应用的服务级别协定也是目前待解决的一个难题。

  2.多租户技术

  与传统的软件运行与维护模式相比,云计算要求硬件资源与软件资源能够更好的被共享,具有良好的伸缩性,任何一个企业用户都能够按照自己的需求对SaaS软件进行客户化配置而不影响其他用户的使用。目前多租户技术就是云计算环境中能够满足上述需求的关键技术。

  目前普遍认为,采用多租户技术的SaaS应该具有一下两项基本特征:

  (1)SaaS应用是基于Web的,能够服务于大量的租户并且可以非常容易地伸缩;

  (2)要求SaaS平台提供附加的业务逻辑使得租户能够对SaaS平台本身进行扩展,从而满足更大型企业的需求。而多租户技术面临的技术难题包括数据隔离,客户化配置,架构扩展与性能定制。

  数据隔离是指多个租户在使用一个系统的时候,租户的业务数据是相互隔离存储的,不同租户的业务数据不会相互干扰。对多租户的数据管理有三种方式:

  (1)给每个租户创建单独的数据库;

  (2)多个租户的数据存入同一个数据库,使用不同的Schema来区分;

  (3)多个租户不仅存入同一个数据库,并且使用同一个Schema,也就是说将数据保存在一个表通过租户的识别码来区分。

  客户化配置是指SaaS应用能支持不同客户对SaaS应用的配置进行定制。架构扩展是指多个租户服务能够提供灵活的,具备高可伸缩性的基础框架,从而保证在不同负载下多个租户平台的性能。性能定制是指对于一个SaaS应用来说,不同的客户对性能的要求可能是不同的,怎样为不同客户在这一套共享资源上灵活地配置性能是多租户技术中的难点,就算对国内做得比较好的阿里云也是同样的。

  3.海量数据处理

  最流行的海量数据处理的编程模型是由Google公司设计的MapReduce编程模型。MapReduce编程模型将一个任务分成很多细粒度的子任务,这些子任务能在空闲的处理节点之间调度,使得处理速度越快的节点处理越多的任务,从而避免处理数度慢的节点延长整个任务的完成时间。