云计算是什么?


       云计算(Cloud Computing)的火热,并非偶然。在我们讲解云计算前,先向大家介绍一项意义非凡的技术。2008年,虚拟化技术(Virtualization)成为当年的热门技术之一。通过虚拟化技术,用户不再单一的通过购置更多的硬件资源来满足海量服务请求,而是转向提高现有设备的利用率。原本一台计算机经过虚拟化后,虚拟出了数台乃至数十多台的虚拟机(Virtual Machine)。虚拟机间彼此独立,减少了用户争抢实体服务器的局面。

       在促进云计算从研究到产品化的过程中,虚拟化技术发挥了不可或缺的作用。那云计算究竟是何物呢?说白了云计算就是一种服务。它提供了一种便利的,能由客户通过网络连接并自由设置其配置的计算资源(如网络、服务器、存储、应用程序与服务)与随机化的网络访问服务。,并能够在最小的管理成本或服务提供商互动下快速提供与释出的一种模式。

"XaaS"

       Xassd的全称是:Anything as a service,即X是服务。按NIST的定义来看,云计算分为三种服务模式,即:IaaS、PaaS、SaaS。

IasS


       IaaS(Infrastructure as a Service)是云计算的最底层,由大量的服务器、存储、网络架构与其他硬件所组成,提供云计算最重要的硬件基石。数据中心(DataCenter)便是IaaS的最佳代表。数据中心会承载当云计算服务开通时候,来自用户所要求的各种服务的计算、存储与网络传输等任务。右图为微软公司芝加哥数据中心机房。

       Azure作为一个丰富的云平台,能够提供种类繁多的服务,如:Websites、Virtual Machine、Storage、Cloud Service、Datebase及Mobile等。针对IaaS服务模式而言,Azure提供的IaaS计算资源及价格可以通过访问链接:http://www.windowsazure.com/en-us/pricing/details/virtual-machines/

PaaS

        Pass(Paltform as a service)区别IaaS在于IaaS是云计算的硬件架构,而PaaS是云计算的软件架构。PaaS的主要服务对象是软件开发人员,它呈现出来的就不是直接的硬件访问,而是由云提供商的软件平台所开放的API。以Azure为例,Visual Studio Tools for Windows Azure以及Windows Azure SDK就很有效的辅助了.NET开发人员开发Windows Azure应用程序。需要强调的是,云应用程序并不像本地应用程序一样,只要启动调试器就能快速调试。任何云应用程序都必须要测试过,才可以放到云上做进一步的测试,而非直接发布上去。

SaaS

       SaaS(Software as a Service)是显露在云中最上层的软件,是开放给一般用户所用的,这些软件都是开发人员应用PaaS架构中的API所开发出来的应用程序。企业生产力在线服务(Business Productivity Online Services,BPOS)是SaaS著名的应用。

云计算的核心技术

  • 虚拟化技术
  • 海量分布式数据处理
  • 自治管理与中控操作系统
  • 多租户技术

Windows Azure平台总览

       Windows Azure平台就是一个为应用程序提供托管和运行的、互联网规模的平台。这个应用托管平台是完成按照云计算的要求和技术来构建的,比如资源按需动态分配、弹性扩展、按照使用量计费等。开发人员只需要针对平台开发应用程序就可以了,而不用再关心底层的具体情况,比如平台安全、系统升级、补丁等。


       Windows Azure平台包括Windows Azure、SQL Azure、Windows Azure platform AppFabric和Windows Azure Marketplace。

  • Windows Azure可看成一个云计算服务的操作系统:Windows Azure的计算资源目前主要通过成为Web Role和Worker Role的方式来分配;
  • SQL Azure是云中的关系型数据库:目前主要提供SQL Azure Database、SQL Azure Reporting及SQL Azure Sync等功能;
  • Azure AppFabric则是一个基于Web的开发服务,它可以把现有应用和服务与云平台的连接、用户认证和互操作变得更为简单;
  • Azure Marketplace是一个针对开发人员的在线市场,让开发人员可以共享、搜索和买卖针对Windows Azure平台的应用程序、构建模块和数据服务等。

       Windows Azure平台的主要定位是平台即服务,因此它所直接针对的用户是开发人员。Windows Azure平台让开发人员可以把精力放在应用逻辑上而不是部署和管理云服务的基础架构上,并可以节省开发部署的时间和费用。Windows Azure平台为开发者提供了托管的、可扩展的、按需应用的计算和存储资源,还为开发者提供了云平台管理和动态分配资源的控制手段。Windows Azure是一个开放的平台,支持各种流行的标准与协议,包括SOAP、REST、XML和HTTPS等。开发人员在构建Windows Azure应用程序和服务时,不仅可以使用不同的开发语言如.NET语言、Java和PHP等,还可以使用不同的工具如大部分开发人员熟悉的Microsoft Visual Studio、Eclipse等开发工具。这样开发人员的许多经验和技能都可以相对平滑地从面向传统平台的编程转到基于云计算平台的编程。