微软从2006年起构想Windows Azure,到2007年用了一整年的时间开发出Beta版,不断吸引公司内外的合作伙伴,在使用中逐步完善相应的用户组件和开发环境,陆续增加了平台服务程序界面、门户网站、监测和调试服务、收费等配套平台服务,并开发了SQL Azure等丰富云服务。2010年,微软在全球正式发布了Windows Azure。微软Windows Azure作为功能强大的云操作系统,为平台用户提供广阔的云服务,并且在飞速继续添加新的服务中。
三大执行模式
Windows Azure目前包括三大应用执行模式及11大类服务。其中执行模式包括Windows Azure虚拟主机、Windows Azure网站及Windows Azure云服务,这也是用户最能直接接触到的层面。
其中,Windows Azure虚拟主机用于按需创建虚拟主机,可以从标准image映像文件或是用户自己提供的image映像文件,用户可以选择按小时为虚拟主机付费。Windows Azure虚拟主机服务提供的即为通常理解的基础设施即服务(IaaS)。
用户对云计算的另一主要需求为网站及网络服务的运营。用户可以在Windows Azure虚拟主机上运营网站及网络服务,但这需要用户自己去管理一个或是多个虚拟主机。Windows Azure网站服务基于Internet Information Service(IIS)提供一个可管理的网站环境,可实现资源的自动负载均衡。
Windows Azure云服务支持可扩展、可靠及低管理的应用,即通所常说的平台即服务(PaaS),用于构建支持并发用户、无需管理、永远在线的云服务。Windows Azure网站服务允许用户创建类似的应用,但用户本身并无管理员权限。Windows Azure虚拟主机服务赋予用户很高的自由度,但用户需要自己负责管理多项工作。Windows Azure云服务则即满足了用户构建云服务的需要,同时减轻了用户的系统管理负担。
Windows Azure虚拟主机服务提供了一个通用的计算环境,Windows Azure网站提供了一个低成本的网站托管服务,Windows Azure云服务则是以低管理成本创建可扩展和可靠云应用的最佳选择,用户可以选择一种执行模式或是多种混合模式。
扩展的三大云服务堆栈
作为最为全面的云计算平台,微软Windows Azure主要提供三大云堆栈,包括:应用服务堆栈、数据服务堆栈和基础设施服务堆栈。
应用服务堆栈包括云服务、移动服务、缓存、身份、网站、服务总线、媒体及高性能计算等。
· 云服务。借助云服务,用户可以快速部署和管理多层应用,而让Windows Azure处理细节问题:配置、负载均衡、健康监测,以确保持续可用性;使用专门的IIS Web服务器,利用Web Role托管前端 Web应用;运行异步、长期运行或永久任务,独立于用户和Worker Role的互动。
· 移动服务。借助移动服务,用户可以利用Windows Azure支持诸多后台功能:面向移动设备平台的本地客户端库,包括Windows Store、Windows Phone 8、OS、安卓;针对身份提供商进行用户验证,包括微软账户;推送通知至移动应用;基于REST的API,用于数据访问和用户验证;监测和数据可视化显示用户的移动服务的使用情况。
· 缓存。通过让数据更靠近应用逻辑,缓存帮助应用缩放并提高其响应能力:选择托管或使用现有或专用Web/Worker角色的缓存;通过改变虚拟机大小或角色的运行实例的数量,轻松地缩放;降低延迟并提高吞吐量;通过内存缓存协议实现现有的内存缓存应用;创建超过100GB的缓存。
· 身份。Windows Azure Active Directory是一项基于REST的现代服务,为云应用提供身份管理和访问控制:把本地Active Directory扩展到Windows Azure和其他云服务; 根据有关登陆流程、认证和联合服务的集中政策而管理对应用的访问; 在订阅Office 365等其它微软云服务时,使用一致的单一登录和数字权限管理技术。
· 网站。借助网站,用户可以免费地从 Web 应用开始,然后按需缩放:使用任何工具(VS、文本编辑器)或语言(ASP.NET、PHP、Python、Node.js)开发;在5分钟或更短的时间内从库中运营一个网络应用;使用TFS、GIT、FTP或WebDeploy部署;选择SQL数据库或MySQL;在共享或保留模式下即时缩放;使用价格可承受的定制域名。
· 服务总线。服务总线信息实现了云中或本地应用之间松散耦合的通信,从而提高缩放能力和弹性。它为广泛通信、大型事件分布、命名和服务发表提供功能:队列确保消息的先进先出;话题可以订阅,让接收者能够选择要阅读的具体消息;即使发送者和接收者不同时在线,代理消息模式也能实现消息传输。
· 媒体服务。借助媒体服务,用户可以在Windows Azure中快捷地为媒体的创建、管理和分发建立工作流程:使用预制的第一方和第三方技术创建和管理内容,并分发至多种设备和平台(Xbox、Windows、MacOS、iOS);通过REST API轻松地与现有工具和流程集成;只安全地存储一套源文件,并动态地提供至多个格式而没有中间文件。
· 高性能计算。借助HPC Scheduler,用户可以处理跨多个Windows Azure虚拟机的复杂的并行计算工作,其目的是在云上运行高性能计算更加容易。
数据服务堆栈包括SQL数据库、HDInsight、表格和Blob存储。
· SQL数据库。对于需要全功能关系数据库即服务的应用程序来说,SQL数据库提供高互操作能力,让用户能够使用很多主要的开发框架进行开发:仅为实际使用的量付费;利用现有关系数据库设计和编程技能开发企业级应用程序;把多个冗余的数据副本复制到多个物理服务器,实现高可用性;利用导入/导出简化现有本地数据库向云迁移流程。
· HDINSIGHT。通过与Microsoft Office 和System Center等工具集成,基于Apache Hadoop的HDInsight简化了大数据相关工作:快速地读取和处理大型结构化和非结构化数据存储;按需创建基于Hadoop的集群;与SQL Databse,Reporting Services、PowerPivot、Excel和Windows Azure存储集成。
· 表格。表格服务给用户提供了高扩展性和高度结构化的数据存储功能。在Windows Azure存储系统中,每个表格由大量数据实体(Data Entities)组成,而每个数据实体又由若干属性组成。Windows Azure表格与传统数据库中的表格既有相似之处,也有不同之处。不同之处在于,Windows Azure存储表格没有固定的模式,不是传统的关系型列表,Windows Azure存储表格可实现系统的自动负载均衡。
· Blob存储。存储服务为安全地管理数据提供了多种选择,并且可以通过REST API访问:数据跨物理上分离的错误域在同一个数据中心内至少复制三次,而且还会复制到其它地区的数据中心;使用blob,每个账户最高可以存储100TB的非结构化文本或二进制数据(视频、音频和图片);使用表格中的NoSQL功能,每个账户最高可以存储100TB的非结构化数据;使用队列在应用层之间建立可靠、持久的通讯。
基础设施服务堆栈包括虚拟机、虚拟网络、流量管理器和CDN等。
·虚拟机。借助虚拟机,用户可以全面控制云中的一台服务器并根据业务需要进行维护:带来定制的Windows Serve或Linux映像或从库中选择;无需改变现有代码即可迁移应用程序,无缝地把SharePoint、SQL Server或Active Directory迁移到云;持久地存储操作系统和应用数据;远程连接以控制虚拟机,拥有全面的管理权限。
·虚拟网络。Windows Azure虚拟网络让用户能够在Windows Azure中配置和管理虚拟专网(VPN),并安全地把这些与本地IT基础设施连击:建设传统的‘站点到站点’虚拟专网,以便利用IPsec协议安全地扩展数据中心容量;按主机名连接到用户的角色实例和虚拟机;通过为虚拟机配置DNS设置和IP地址范围来控制用户的网络部署。
·流量管理器。流量管理器对入站流量在相同或不同数据中心内的多个服务上进行负载均衡。客户配置应用于其域名上DNS查询的政策:管理流量以确保高性能、可用性和弹性;从不同的路由方法中选择,例如性能、故障时转移和循环方式;在服务故障时提供自动的故障时转移功能。
·内容交付网络(CDN)。通过在最靠近用户的地方缓存内容,Windows Azure CDN提高了应用的性能,以便能够提供最佳的应用体验:向远离内容源的用户提供更高的性能,他使用需要很多互联网通信来载入内容的应用;充分利用分布式规模来管理流量高峰,例如产品发布时;一次点击即可在Windows Azure管理门户网站内实现。
Windows Azure还提供了丰富的工具和软件开发包,来方便用户开发、测试和发布应用程序。Windows Azure的多数工具都被集成到了微软的各种开发环境如Microsoft Visual Studio开发系统上。
随着Windows Azure进入中国,中国的广大开发者将有机会近距离体验Windows Azure强大的开发环境和功能,并与微软的中国专家交流和互动,从而把中国智慧回馈给Windows Azure全球社区。