Ask Learn
Preview
Please sign in to use this experience.
Sign inThis browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Windows Azure的计算功能可以这样被使用:
用户可以在Windows Azure上部署自行开发的服务,例如使用WCF开发的Web Service,使用WF开发的工作流,使用ASP.NET开发的运行在服务器上的网站,等等。
用户可以使用Windows Azure来分发自己的软件,例如0点击(无需用户操作)部属的Silverlight,XBAP,AJAX程序,但点击(Click Once)部署的WPF和Windows Forms程序,甚至是提供一个安装包的下载链接。当然,为了充分利用云的特性,这些软件常常需要和部署在云端的服务进行交互。
Windows Azure也可以作为一个一般的分布式计算平台来使用。Fabric提供了极其强大的负载平衡的支持,所以可以很好的执行一些极为复杂的并行算法。Windows Azure支持多种开发技术,例如.NET,Win32,甚至是Java,从而满足大多数客户对分布式计算的需求。
针对开发人员,Windows Azure提供了一种叫做role的概念。每个role就可以被认为是一段程序,只是这段程序可以同时在一台或者多台机体上运行。每个role可以有多个实例(instance),每个实例就对应一台虚拟机。对同一个role而言,它所有的实例执行的程序都是相同的。
当前我们提供了两种类型的role,分别是Web Role和Worker Role。通常Web Role被用于部属服务以及分发软件,Worker Role则被用于执行分布式计算。
管理员可以很轻松的通过修改配置文件的方式来管理每个role需要运行几个实例。运行多个实例可以让你的程序更快地处理请求和执行任务,但是也意味着你需要支付更多的费用。当你不再需要那么多的计算资源的时候,你可以通过修改配置文件来减少实例的数量,从而支付较少的租金。这也正是云计算的一大优势,如果不使用云计算,你必须自行购买大量的硬件来处理更多的请求和执行更多的任务,当你不再需要那么多的计算资源的时候,这些硬件也就白白浪费在那里了。
Windows Azure提供了四种存储服务:
初学者可以把blob比作文件系统。是的,它确实和文件系统有非常多的相似之处。Blob storage有两个概念:
· Container:可以类比成文件夹
· Blob:可以类比成文件
和文件系统一样,用户可以针对每个container设置访问权限,可以对某个blob进行加锁(lease)从而防止concurrency问题,还可以使用诸如创建,删除,复制,备份,等众多功能。
从存储结构上来说,我们提供了两种类型的blob:
· Block blob:其存储方式类似于传统的文件系统中的簇(cluster)的概念。一个blob被分成一个或多个block进行存储。
· Page blob:Page blob对随机读写进行了优化,大家可以把它类比成大型文件,例如.vhd和.mdf文件。
千万不要把table storage和关系型数据库混淆起来。Windows Azure的table storage提供了一种结构化的存储方式。通俗来说,一个table可以被想象成一个xml文件。在xml文件中我们存放各种各样的数据,在一个table中我们也可以存放各种各样的entity。同一个table可以存储结构完全不同的两个entity,这和关系型数据库中需要对每张表制定统一的schema是不同的。
Table storage的可变的schema充分体现出了其灵活性。例如,你的业务需要扩展,需要往数据结构中添加新的字段,你可以在完全不修改table schema,完全不影响现有entity的情况下,对新的entity添加新的字段。如果你的程序可以被二次开发,第三方开发人员也完全可以在不影响你的程序所需要的entity的情况下,在同一张表中存储他们的程序所需要的,结构不同的entity。
Queue提供了一种先进先出的存储方式。它通常被用于各种不同的程序间的通信。例如一个经典的应用场景:Web Role接受用户请求,针对每个请求,在一个queue中创建一条消息(message)。Worker Role则不断的从queue中取出消息,并且一一处理。
目前尚处于beta阶段的drive storage让开发人员能够使用标准的NTFS API读写文件。一个drive可以被挂接(mount)到某个特定的实例上,当作该实例对应的虚拟机的一块硬盘使用。由于drive在后台是由page blob实现的,因此你往drive中写入的文件也会自动被写入后台的page blob。这样一来数据便得到了持久化,即使万一运行当前实例的虚拟机出了问题,你还可以在其它实例中再次挂接这块虚拟硬盘,数据并不会丢失。
需要注意的是,当前一个drive在同一时间只能被单个实例挂接。如果你需要在不同的实例中同时访问文件,还是推荐使用blob。Dive更常被用于移植现有的那些需要执行大量I/O操作的程序。
管理员可以直接使用Windows Azure门户来管理他们的程序。门户提供了创建,删除项目,创建,删除,更新部署,等众多功能。此外,为了帮助大家更灵活地管理部署在Windows Azure上的程序,我们还提供了Management API,让开发人员自行开发程序来管理他们的部署。
今后,我们还会将System Center与Windows Azure集成,从而使得大家可以使用同一套工具,同时管理企业内部的服务器,以及云端的资产。
Windows Azure还提供了诸多其他方面的功能,例如Diagnostics API等等。我们还在不停地更新这个平台。如果大家有什么好主意,欢迎用英文在https://www.mygreatwindowsazureidea.com/pages/34192-windows-azure-feature-voting上提出宝贵的建议。如果你觉得是用英文不方便,也可以直接在我们的博客上用中文留言,或者发邮件至afst@microsoft.com,我们会将你们的建议转达给产品组。
Please sign in to use this experience.
Sign in