热点推荐
ZOL首页 > 云计算 > 产业趋势 > 产业动向 > 基于Windows Azure的云计算应用设计

基于Windows Azure的云计算应用设计


infoq 【转载】 2010年12月03日 06:31 评论

  本文从云计算应用的特点出发,分析了在云计算环境下应用程序开发设计的一些变化。根据这些新的特点,本文提出一个“自我感知应用”(Self-Sensing Application)的新概念。接着文章从架构设计的角度阐述了Windows Azure平台的构建方式和架构特点,然后结合Windows Azure平台的一些功能特点,讲述几个在云计算环境下典型的应用架构设计方式,期望抛砖引玉。最后,文章展望了应用程序未来的发展趋势。

  云计算环境下的应用特点

  多年来应用程序开发者和架构师们都在努力设计一种既能够在功能上满足当前业务需求,另外又能够在用户需求发生变化或者能够在可预见的将来适应环境变化的应用。尤其是在互联网领域,架构师都在努力让自己设计的应用具有比较强的扩展能力,能够跟得上用户不断增长或者出现突发请求的一些情况。在传统的Web应用设计中,我们在架构上一般采用基于多层架构的设计,在Web层中大量使用了负载均衡等技术。一般我们的处理方式都是在应用程序设计好之后,在应用部署的过程中事先把环境配置好,应用程序在运行过程配置都是不发生变化的。但是,随着云计算时代的到来,我们面对一些新的挑战,相应的应用程序设计方式随之发生了一些变化。我们首先从云计算的技术特点开始讨论应用的变化。

  从技术角度看云计算的特点

  毫无疑问,云计算是目前信息产业中讨论得最多的话题。虽然大家对于云计算还没有一致定义,但是对于云计算的一些特点,相关的服务模型等内容日渐趋于统一。在讨论云计算应用架构特点之前,我们先从技术的角度来讨论一下云计算本身的一些特点。

  按需服务

  云计算是一个把信息技术作为服务(IT as a Service)提供的一种方式。这种服务的概念都是从消费方(用户)角度出发,而不是从服务提供方出发考虑问题,因此,一个基本特点是云计算要求按需服务,即用户可以根据需求即时得到服务。从这个角度讲,云计算就像我们公共服务中的自来水、电和煤气一样,集中供应并按需服务和计费。

  资源池

  云计算的一个好处是提高资源的利用率,而这个一般需要通过共享的方式来达到这个目的。这里可以类比一下我们日常吃饭中的自助餐和桌餐的差别。如果需要共享就需要先把资源集中到一个公共的资源池中。在云计算当中,根据这个资源池中资源的类别,我们把云计算的服务模型分为三种,即所谓的SPI模型,如下表所示:


基于Windows Azure的云计算应用设计

  高可扩展性

  云计算平台的资源池相对于单个用户的需求而言是比较大的,因此考虑到会有大量不同用户共用一个资源池,他们之间的资源使用模式一般存在一定的互补性,所以对于某个用户的需求而言,云计算具有很高的扩展性。另外,云计算平台在做架构设计的时候,都会考虑到如何让用户可以平滑扩展他们的资源需求,比如计算资源,存储资源等。

  弹性服务

  弹性服务指的是云计算的资源分配可以根据应用访问具体情况进行动态地调整。也正是因为如此,云计算对于非恒定需求的应用,比如需求波动很大、阶段性需求等,具有非常好的应用效果。在云计算的环境中,资源的扩展方式可以分为两大类,一种是事先可以预测的,比如一些季节性的需求。另一种是完全基于某种规则实时动态调整的。无论是哪一种,都要求云计算平台提供弹性的服务。

  自服务和自动化

  对于自服务和自动化概念本身都比较好理解,但是我把这两个放在一起是因为它们之间的内在联系。自服务是云计算中降低服务成本,提高服务便捷性的一种途径,因此它是一个服务的提供方式。但是,对于云计算服务提供方来说,自服务就要求尽量简化用户操作,降低用户使用服务的难度,提升服务响应速度,而这个只能通过后台自动化的方式才能实现。因此从这个意义上来讲,自服务是目的,而自动化则是手段。

  服务可度量

  管理学中有一句名言:没有考核,就没有管理。云计算作为服务提供的方式,需要对服务进行度量。一般服务提供方和用户之间需要有一个服务水平协议(SLA)。这样对于私有云来说,可以根据服务情况进行内部费用核算。而对于公有云来说,服务可度量就是计费的前提,然后根据实际使用量来进行计费。

  

上一页 1 2 3 4 5 6 下一页
频道热词:服务器  空调    无线路由器  
视觉焦点