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

微软云计算平台开发学习路线图

2013年05月12日 ⁄ 综合 ⁄ 共 9327字 ⁄ 字号 评论关闭

  20091027日,微软首席架构师Ray Ozzie在洛杉矶的开发者大会(PDC)上宣布了Azure Services Platform平台,20101Windows Azure正式发布,20102Windows Azure Platform(微软云计算平台)正式开始收费,这标志着微软云计算的软件平台已经搭建起来了,并且很多开发人员已经开始尝试在这个平台之上开发他们的应用了。

据研究机构Evans Data最近的云开发调查显示,30%接受调查的软件开发人员表示他们正在面向云环境开发应用,另有19%指出他们预计将在未来12个月内投入到云开发工作当中。20103月,微软首席执行官史蒂夫·鲍尔默在美国华盛顿大学发表演讲时也指出,微软将举全公司之力投入云计算,表示“我们将把赌注押在云计算领域”。到目前为止,微软在全球有40000多名员工在从事软件开发工作,其中约70%的员工所从事的工作与云有关,与我上面所谈到的5个方面相关,一年以后,这一比例可能会上升到90%左右。

微软云计算平台从发布测试版本到正式发布的时间也不算短了。作为技术人员就要紧紧跟随技术的脚步不断前进。在本文中,你将了解到作为一个熟悉Visual Studio开发的技术人员,如何一步一步去学习和掌握Windows Azure Platform(微软云计算平台),本文的主要内容包括:微软云计算平台能做什么、技术资源列表、开发环境搭建。

 

微软云计算平台能做什么

根据官方资料,微软云计算平台包括三大组成部分:Windows Azure、SQL Azure、Windows Azure Platform AppFabric。Windows Azure 可看成一个云计算服务的操作系统,也是云计算的基础服务层,主要从事虚拟化计算资源管理和智能化任务分配;SQL Azure是云中的数据库,SQL Azure运行云计算的关系数据库服务,是一种云存储的实现,并提供网络型的应用程序数据存储的服务,它的基础是SQL Server 2008;AppFabric 是一个基于 Web 的开发服务,它可以把现有应用和服务与云平台的连接和互操作变得更为简单,AppFabric作为中间件层,将起到连接非云端程序与云端程序的桥梁的功能。它提供了两大服务,服务总线和访问控制。AppFabric 让开发人员可以把精力放在他们的应用逻辑上而不是在部署和管理云服务的基础架构上。如图1所示:

1 Windows Azure 平台

了解了微软云计算平台的整体功能后,我们具体来了解一下微软云计算平台给用户提供了什么以及在此平台上可以做什么应用。微软的架构布道者Bill Zack详述了微软云计算平台给用户提供的功能和服务主要包括计算、存储、通信、部署和管理。如表1所示:

 

 

模式类别

上下文

Windows Azure 功能

计算

按需应用程序实例

需要扩展和向下扩展功能的应用程序。

Web 和辅助角色自动的管理

 

工作

执行并行的批处理作业或后台应用程序。

利用工作角色来执行后台任务的多个实例

存储

Blob 存储

存储大量非结构化数据。

利用 Azure Blob 存储

 

结构化的存储

表结构中存储数据,同时不需要完全关系的语义。

azure 表存储

通信

服务接口(Web 和 Web 服务 API)

公开通过用户界面和 Web 服务的应用程序功能。

使用ASP.NE、Silverlight,WCF Web 服务的构建应用程序的 azure 支持

 

面向服务的集成

调用外部 Web 服务使用 Web 标准协议。

azure 的平台支持 WCF 客户端和 REST API

 

邮件

共享可缩放、 可靠,和异步的方式应用程序之间的消息。

利用 Azure 队列 Web 工作角色通信的存储服务

管理

云部署

部署应用程序所需的配置,例如扩展和高可用性的要求。

分离服务定义,服务配置和打包以便适当的角色

 

操作的设计

如何通过提供运行状况的状态,并记录进行我的应用程序操作已准备好。

使用 Windows Azure RoleManger.WriteToLog API,并重写工作角色中的 RoleEntrypoint.GetHealthStatus()

 

服务实例管理

启动、 停止,和挂起群应用程序。 管理服务的配置。

自动处理动态配置更改和错误条件

 

管理通知

发送即时消息、 电子邮件,或资源和帐单信息的警报。

通过 Live 集成提供

 

服务级别管理

获得应用程序资源消耗,如处理器时间的信息的带宽。

通过模型基于方法自动化的服务管理

1 微软云计算模式和功能

有了这么多模式和功能后,我们在云平台上就可以做一些应用和开发了,我们能做的开发主要包括三类:web应用程序、并行计算、分析应用程序,如表2所示:

云应用程序

上下文

示例

Web 应用程序

承载传统的 Web 应用程序和编写两个或多个数据源的交互式应用程序和服务。

创建 Web 协作应用程序

并行计算

计算任务的大规模并行执行。通常,这些任务执行短时间的利用更多的计算和存储资源的时间。

一家报社为用户提供数字化报纸。

分析应用程序

对相同数据多次执行各种分析和数据挖掘。

财务公司财务数据执行来定期评估风险。

2 云应用开发类型

技术资源列表

了解了微软云计算能够做什么以及云应用可以开发什么以后,接下来给大家介绍的就是收集的微软云计算相关资源,这些我们资源我们分成两类来介绍,第一类是由微软官方提供的各种资料,包括MSDN、云计算BlogChannel 9上的视频等等;第二类资源是在学习的过程中收集的第三方资源,包括一些活跃的云计算网站、论坛、书籍等等。下面我们分别介绍:

微软官方资源

1MSDN上的快速入门

微软云计算解决方案白皮书,这是一个最简单、最全面、最容易入门的电子资料,目前暂时没有找到MSDN的下载,但是在一些论坛里能够找到。

Quick Lap around the Windows Azure Tools for Microsoft Visual Studio

http://msdn.microsoft.com/en-us/library/dd203059.aspx

微软云计算中文博客

http://blogs.msdn.com/b/azchina/

微软云计算中文博客(CSDN镜像博客)

http://blog.csdn.net/azurechina

云计算简介

http://blogs.msdn.com/b/azchina/archive/2010/02/01/9956206.aspx

Windows Azure Platform概览

http://blogs.msdn.com/b/pengzh/archive/2010/01/31/windows-azure-platform.aspx

Pengcheng's Blog: Cloud + Land,这里有一篇云计算简介的文章,还有一个云计算资源汇总的文章,其地址是:

http://blogs.msdn.com/b/pengzh/archive/2010/01/27/windows-azure.aspx

2MSDN

Windows Azure Platform

http://msdn.microsoft.com/en-us/library/dd163896.aspx

开发人员中心(英)

http://msdn.microsoft.com/en-us/azure/cc994380.aspx

开发人员中心(中)

http://msdn.microsoft.com/zh-cn/azure/default.aspx

Windows Azure SDK

http://msdn.microsoft.com/en-us/library/dd179367.aspx

Windows Azure Tools for Microsoft Visual Studio 1.1 (February 2010)

http://www.microsoft.com/downloads/details.aspx?familyid=5664019E-6860-4C33-9843-4EB40B297AB6&displaylang=en

这是针对VS2008VS2010的云计算开发工具

Windows Azure Tools for Microsoft Visual Studio

http://msdn.microsoft.com/en-us/library/ee405484(v=MSDN.10).aspx

Troubleshooting Guide

http://msdn.microsoft.com/en-us/library/ee460770.aspx

3Channel 9上的视频

Channel 9: Introducing Windows Azure - Manuvir Das

http://channel9.msdn.com/posts/Charles/Manuvir-Das-Introducing-Windows-Azure/

Channel 9: Windows Azure for Developers - Steve Marx

http://channel9.msdn.com/posts/Charles/Steve-Marx-Windows-Azure-for-Developers/

Windows Azure: Hello, Cloud!

http://channel9.msdn.com/posts/smarx/Windows-Azure-Hello-Cloud/

Channel 9: SQL Server Data Services - Dave Campbell

http://channel9.msdn.com/shows/Going+Deep/Dave-Campbell-SQL-Server-Data-Services-and-the-Future-of-Data-in-the-Cloud/#388698

Channel 9: SQL Server Data Services Team Talks Business Value

http://channel9.msdn.com/posts/Dan/Tudor-Toma-and-Soumitra-Sengupta-SQL-Server-Data-Services-Business-Value/

Channel 9: SQL Server Data Services Team Talks Architecture

http://channel9.msdn.com/posts/Charles/Istvan-Cseri-and-Nigel-Ellis-SQL-Server-Data-Services-Architecture/

Channel 9: John Shewchuk and Dennis Pilarinos: Inside .NET Services

http://channel9.msdn.com/posts/Charles/John-Shewchuk-and-Dennis-Pilarinos-Inside-NET-Services/

Channel 9: Ray Ozzie: Reflections on Azure

http://channel9.msdn.com/posts/Charles/Ray-Ozzie-Reflections-on-Azure/

PDC: A Lap around Windows Azure - Manuvir Das

http://channel9.msdn.com/pdc2008/ES16/

PDC: Essential Cloud Storage Services - Brad Calder

http://channel9.msdn.com/pdc2008/ES04/

PDC: Developing and Deploying Your First Windows Azure Service

http://channel9.msdn.com/pdc2008/ES01/

PDC: Windows Azure: Cloud Service Development Best Practices

http://channel9.msdn.com/pdc2008/ES03/

MSDN: An Introduction to SQL Data Services

https://www106.livemeeting.com/cc/mseventsbmo/view?id=1032376634&role=attend&pw=63B495CA

TechNet: Introduction to SQL Data Services

http://www.microsoft.com/emea/spotlight/sessionh.aspx?videoid=982

TechNet: Introduction to SQL Data Services

http://www.microsoft.com/emea/spotlight/sessionh.aspx?videoid=982

ITTV: Visual Studio 2010 and Azure Cloud Computing

http://www.ittv.net/VideoPlayer/tabid/57/VideoId/212/Visual-Studio-2010-And-Azure-Cloud-Computing.aspx

ITTV: Dave Campbell on Azure and SQL Server Services

http://www.ittv.net/VideoPlayer/tabid/57/VideoId/211/Dave-Campbell-On-Azure-And-SQL-Server-Services.aspx

.Net Rocks: David Aiken on Azure

http://www.dotnetrocks.com/default.aspx?showNum=403

Deep Fried Bytes: Windows Azure - The Overlord in the Cloud

http://deepfriedbytes.com/podcast/episode-20-windows-azure-the-overlord-in-the-cloud

4)下载资源及实例代码

Windows Azure Platform Training Kiton line

http://www.microsoft.com/windowsazure/windowsazure/

Windows Azure Platform Training Kit - December Update(下载)

http://www.microsoft.com/downloads/details.aspx?FamilyID=413E88F8-5966-4A83-B309-53B7B77EDF78&displaylang=en

myTODO Sample Application

http://code.msdn.microsoft.com/mytodo

代码库

 http://code.msdn.microsoft.com/Project/ProjectDirectory.aspx?TagName=azure

codeplex上的Azure资源

http://www.codeplex.com/site/search?TagName=azure

Windows Azure platform AppFabric SDK V1.0 - April Update

http://www.microsoft.com/downloads/details.aspx?familyid=39856A03-1490-4283-908F-C8BF0BFAD8A5&displaylang=en

5Webcast资源

云起龙骧系列课程

云起龙骧系列课程(1)Windows Azure——微软云计算平台

https://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032397694&EventCategory=3&culture=en-US&CountryCode=US

云起龙骧系列课程(2):微软云计算平台——Windows Azure开发

http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032397727&Culture=zh-CN

云起龙骧系列课程(3):微软云计算平台——Live Services概览

http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032397735&Culture=zh-CN

云起龙骧系列课程(4):微软云计算平台——Live Services开发实战

http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032397747&Culture=zh-CN

云起龙骧系列课程(5)SQL Services展望

http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032402101&Culture=zh-CN

云时代的Windows Mobile开发系列课程

云时代的Windows Mobile开发系列课程(1)Windows Azure云计算平台和Windows Mobile

https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032406896&Culture=zh-CN

云时代的Windows Mobile开发系列课程(2):编写您的第一个云端Windows Mobile程序

https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032412261&Culture=zh-CN

微软技术创新日系列课程

微软技术创新日系列课程(2)Windows Azure - 云中开发,成就未来()

https://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032409174&EventCategory=3&culture=zh-CN&CountryCode=CN

微软技术创新日系列课程(3)Windows Azure - 云中开发,成就未来()

https://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032409175&EventCategory=3&culture=zh-CN&CountryCode=CN

 

非微软官方资源

中云网

http://www.china-cloud.com/

TT云计算

http://www.searchcloudcomputing.com.cn/index.htm

IT168 云计算专题

http://cloud.it168.com/

CSDN云计算专题

http://subject.csdn.net/yunjs.htm

51CTO云计算专题

http://server.51cto.com/cloud-computing/

中国云计算论坛

http://bbs.chinacloud.cn/index.aspx

国内第一本深入剖析云计算技术的教材《云计算》,由解放军理工大学刘鹏主编。重点阐述了云计算领域具有代表性的Google、亚马逊和微软三个云计算平台的技术原理和应用方法,并介绍了以Hadoop为代表的开源云计算技术和云计算仿真器CloudSim,分析了云计算领域的理论研究热点问题,给出了云计算应用实例以及云计算实验的详细步骤。除此之外,在博客园上有2位网友的系列文章也对微软云计算有所介绍:

ccBoy和大家分享的探索系列的文章:这个系列文章介绍的比较全面,涉及到了Azure的主要技术:存储和服务。

http://blogs.msdn.com/b/ccboy/

博客园网友Azure“Azure Services Platform Step by Step”的系列文章:

http://www.cnblogs.com/azure/archive/2009/04/17/Azure_Services_Platform_Tutorial_Index.html

 

开发环境搭建

根据微软云计算解决方案白皮书所述,微软云计算平台的一大优点是能够有效利用已有的软件资源,自由选择是否采用云计算。对开发人员来说,可以使用熟悉的开发语言和工具,比如广大开发者最习惯应用的 Visual Studio,在微软云平台上开发云计算应用程序。开发人员无需放弃现有的甚至是多年积累的开发技能和经验,无需重新花费时间成本学习全新的开发语言和工具,而且还可以从传统编程方式相对平滑地转移到面向云计算的编程方式。开发人员在微软云平台上开发应用不存在陡峭的学习曲线,在应用现有开发语言和开发工具方面得到了最大程度的投资保护。微软在继承和延伸已有开发、编程能力的基础上,积极进行基于云计算技术的研发和扩展,这对于开发人员快速熟悉并掌握云计算的应用开发具有重要意义。

做微软云计算开发,需要的环境如下:

1Visual Studio .NET 2008/2010

2.NET Framework 3.5

3Windows Communications Foundation

4ADO.NET

5ADO.NET Data Services

6Web services (REST, SOAP)

7XML

8ASP.NET

9.NET security

10SQL Server database development

我们只需要安装上VS2008VS2010SQL Server 2008后,再安装Windows Azure Tools for Microsoft Visual Studio 1.1就可以了。我们一在VS2010为例,可以创建云计算项目如图2所示:

2 VS 2010云计算项目

VS 2010提供了云计算开发、调试、部署、管理的整套工具,缩短了云应用的开发周期。不仅如此,VS2010还包括以下云应用开发工具:

1C#以及VB云服务项目的模版;

2)更改Service Role设置的工具;

3)本地开发整合Development Fabric以及Development Storage服务;

4)在Development Fabric下的对Cloud Service Roles的调试;

5)建立云服务软件包;

6)浏览Azure Services Developer Portal

 

小结

有了微软云计算平台的支持,微软官方提供的各种资源,软件开发工具与平台的支持,使用现有的.Net平台软件开发技术,作为一个有一定VS平台开发经验的技术人员来说,我们创建云应用的技术之旅就可以真正开始了。

 

抱歉!评论已关闭.