由于云计算并不是新的技术,随着其组成技术的飞速发展,如分布式计算、并行计算、虚拟化技术的日益完善,云计算的发展也是突飞猛进的。根据服务方式和类型的不同,云计算可以分成三种典型的应用模式:SaaS(软件即服务)、PaaS(平台即服务)和IaaS(基础设施即服务)。80165
云计算服务类型
SaaS:用户可以直接通过网络来获取软件的服务模式,云服务运营商直接把自己的应用程序部署到自己的服务器上,然后用户可以在自己的设备上,一般是通过客户端的界面访问的,例如浏览器,来根据自己特定的需求来定制自己的服务。在整个过程中,用户是不必管理控制任何云计算的基础设施的。典型的例子就是Salesforce online CRM。
Paas:用户可以直接利用开发系统平台的服务模式,例如提供开发语言和一些工具(Java、C++、Python等),平台的管理和维护还是由运营商负责的,用户可以获得平台的使用权,可以使用平台提供的一些接口进行自己想要的开发。典型的例子就是Google App Engine,用户可以调用它提供的接口来完成相应的开发,这样开发者的效率得到了大大的提升,也减少了开发成本,因为这样开发者不需要在意一些其他无关紧要的细节东西。论文网
IaaS:用户可以直接利用所有的计算基础设施的服务模式,如CPU、内存、网络、存储和其他基本的计算资源,这样用户就可以部署和运行自己想要的任何软件,包括操作系统。这样其实,用户相当于直接对一个虚拟机进行了操作。典型的例子就是Amazon的弹性计算云(EC2,Elastic Compute Cloud)服务,用户可以通过简单的Web服务界面来获取和配置资源,然后创建自己所需要的操作系统。
由于虚拟化技术的存在,在物理机上可以运行多台虚拟机,而这些虚拟机的配置以及性能可能有所不同,它们负责将不同的资源分配给不同的用户,来完成用户所期望完成的任务,同时又负责资源的管理和部署以简化用户的操作。这就需要一个成熟的资源分配策略的存在。目前的资源分配算法主要有Round-Robin算法(CloudSim这个模拟仿真工具默认采用的资源分配策略就是这个算法),贪心算法,蚁群算法,Min-Min算法,Max-min算法等,它们关注的更多的是某一方面的性能,如果要达到全局最优还需要完善。本文提出的资源分配策略也是基于蚁群算法的(蚁群算法是由意大利学者提出一种启发式仿生算法)。
由于云计算是多种技术混合演进的结晶,这些技术成熟度也是比较高的,再加之大公司的推动,其发展是非常速度的。比较成功的公司有VMware、Salesforce、MySpace。
亚马逊的Amazon Web Services(AWS)提供的弹性计算云(EC2,Elastic Computing Cloud)和简单存储服务(S3,Simple Storage Service),可以提供很好的计算和存储服务,也受到了很多企业的青睐,用户量也超过了100万。谷歌最为云计算的前驱者和最大的使用者,它们提供的服务也绝大多数是基于云计算的,数以万计的服务器为各种各样的服务提供支撑,光搜索引擎就已经建立了200多个站点。微软在面对云计算的“浪潮”时,推出了自己的操作系统——Windows Azure,这个系统也是为云计算平台而生的。
在国内,云计算的崛起之势也不容小觑,以阿里巴巴的阿里云为例,阿里云已经为国内很多的企业提供了许多不同的云计算服务,如ECS(云服务器)、RDS(关系型数据库服务)和CDN(内容分发网络),用户量超过了140万。