现在的位置: 首页 > 综合 > 正文

Windows Azure 101

2013年08月14日 ⁄ 综合 ⁄ 共 2361字 ⁄ 字号 评论关闭

       现在业界的云太多,每朵都很很有特点,呵呵! 对于微软而言,Windows Azure是它云战略的核心。之前一直对其只有模糊的印象,David Chappell 的文章 -Introducing
Windows Azure
 - 详细介绍Windows Azure的基础知识和特点,帮助澄清了之前的一些误解, 例如:之前一直认为 Windows Azure只是一个PaaS平台,但随着 Windows Azure Virtual Machines 的引入,Azure如今支持 IaaS了。很好的介绍,在此推荐给大家!

      下图是 Windows Azure主要模块的分类,很给力的一幅配图,对于整体把握Azure很有帮助。更准确的讲,对于Azure而言,其模块(component)都是以服务 (service)形式存在的。

Windows Azure components

 

执行模型(Execution Model)

       云平台最基本的功能之一就是要能够运行程序。Azure提供了下面 3 种运行应用程序的方式:虚拟机、网站 和 云服务。3种方式有各自的特点:虚拟机方式提供通用(general-purpose)计算环境;网站方式提供低成本的网站托管;云服务则是创建可扩展、可靠、低管理成本应用的最佳之选。根据实际的需求,它们可以单独使用,也可以混搭。

Execution Models

 

(1) 虚拟机:大名为‘Windows Azure虚拟机’,它提供了 IaaS(Infrastructure as a Service, 基础构架即服务)。该方式允许用户根据需要,使用标准的VHD或者自己的VHD创建虚拟机,依据使用的小时数来为虚拟机付费。Windows Azure虚拟机提供了一组标准的VHD,包括微软的 Windows Server 2012、Windows Server
2008 R2、Windows  Server 2008 R2(带有SQL Server),和微软的合作伙伴提供的Linux。同时,用户可以免费上传自己的VHD。 用户可以保存当前运行的VM,用保存的VHD创建新的虚拟机,或者将VHD从Windows Azure拷贝出来到本地运行。

 

(2) 网站 : Windows Azure 支持运行网站和Web应用。虚拟机方式实际上就支持网站和Web应用,但是你需要自己管理相关的虚拟机。Windows Azure网站方式通过 IIS 提供托管的(managed)Web环境。不需要任何修改,你可以直接把你的网站迁移到Windows Azure网站上,也可以在云上创建一个新的网站。一旦网站创建好,可以动态地添加和删除网站的实例,并依赖于网站自身进行实例之间的负载平衡
(??)。

 

(3) 云服务:真正体现了PaaS(Platform as a Service,平台即服务)真谛,用来实现可扩展、高可靠和低管理成本的应用。可以使用C#、Java、PHP、Python、Node.js或者其它技术来实现这样的应用。这些应用运行在Windows Server的虚拟机上,这里的虚拟机,不同于前面讲到Windows Azure虚拟机执行方式中的虚拟机。主要的区别在于,这里的虚拟机是由Windows
Azure来管理,包括:安装系统的补丁、自动创建安装好补丁的VHD等。同时, Windows Azure负责时刻监视这些虚拟机,重新启动那些挂掉的机器。虚拟机分为两类 :Web Role (安装有IIS) 和 Work Role (木有IIS)。计费方式同Windows Azure虚拟机,以虚拟机运行的小时计费。

 

数据管理 (Data Management)

       有应用,就要有数据。不同类型的应用,需要不同类型的数据支持。为此,Windows Azure提供了多种途径来存储和管理数据。 如果使用的是Windows Azure虚拟机方式,你可以选择运行自己的数据库管理系统(SQL 或者 NoSQL),但是同时你要承担对数据库的管理工作。Windows Azure 提供了3种数据方案,可以大大简化数据库的管理工作。SQL Database服务于关系数据库需求;Tables用于对快速访问大量的简单结构化数据;Blobs则是针对非结构化的二进制存储。这些类型数据都回在同一个数据的不同机器上复制三份,实现高可用性。Windows
Azure数据服务根据使用量收费,包括:gigabyte/每月的收费方式。

Windows Azure data management

 (1)SQL Database :  之前也被称为SQL Azure,是Windows Azure提供的关系数据库。支持大多数的关系数据库特性,对于熟悉SQL Server或其他关系数据库的开发者而言,SQL Database的使用是类似的。SQL Database不仅是云上得DBMS,更是一项PaaS服务。你仍旧可以控制你的数据以及管理访问权限,SQL Database
帮你完成其他的管理工作,包括:软件和系统的升级、将数据分布到多机器上进行负载平衡等。此外,不仅是Windows Azure应用可以使用SQL Database服务,云之外的客户端系统(桌面系统、手机、笔记本等)也可以使用该服务。同时, 通过复制实现的高可用特性,也使得SQL Database对大限度的减少了宕机(downtime)。
 
(2)Tables :  如果你的Windows Azure应用需要快速访问大量的类型数据,同时又不需要对这些数据进行复杂的SQL查询操作,Windows Azure Tables最适合这种场景。特别适用于仅需要进行存储和简单查询的场景。Table这个名字很容易让人误解是关系表结构,而实际上是NoSQL的Key/Value存储。支持对数据快速访问,但不支持join这样的复杂操作。Table具有很好的扩展性,单个Table可以存储多达上兆(terabyte)的数据,由于实现简单,Table价格也要便宜于SQL
Database。
 

 

 

 

抱歉!评论已关闭.