Azure云平台学习之路(三)——Cloud Services
1、什么是云服务?
能够部署高度可用的且可无限缩放的应用程序和API。简而言之,就是你写的CMD程序按照一定的框架进行少量修改就能运行在Azure云平台上。
2、Azure云服务有什么特点?
(1)专注应用程序而不是硬件,PaaS的一种。
(2)支持多种框架和语言。
(3)集成了运行状况监视和负载平衡。
(4)自动缩放优化成本和性能
3、建立云服务之前,我们需要建立一个云存储,来记录我们的程序的日志信息(当然,这不是必须的)
(1)选择左边导航栏的“存储”。主面板上显示的是所有已有的存储列表。点击下方的新建按钮。
(2)选择数据服务-》存储-》快速创建,并输入URL、位置,选择冗余策略,点击创建存储按钮。
(3)设置日志存储时间。选中已经创建好的存储服务,点击配置。打开监视和日志记录,并设置保留期。若不打开,那么无法保留日志信息。
4、创建云服务
(1)点击左边的“云服务”导航按钮,主面板上显示已有的云服务列表,点击下面的“新建”按钮
(2)选择计算-》云服务-》快速创建,输入URL和地点,点击创建云服务。
5、将本地应用改为云服务
(1)对着vs2013,文件-》新建-》项目
(2)选择Visual C#下的Windows Azure Cloud Service,点击ok。
(3)在新弹出的框中选择Worker Role加入到右边去,这是后台处理服务。并修改名字。点击OK
(4)在WorkerRole.cs文件中,有这么一段行数:
public override void Run() { // This is a sample worker implementation. Replace with your logic. Trace.TraceInformation("GroupMeetingWorkerRole entry point called"); while (true) { Thread.Sleep(10000); Trace.TraceInformation("Working"); } }
这边是程序入口,相当于main函数。
(5)若将原来线下的程序的代码全部拷贝过来,就有两部分代码,增加了我们维护的成本。有一种偷懒的办法,将原来的项目加到WorkerRole项目中来。这样只需要维护一个程序代码。
a.对workerrole项目右键-》添加-》引用
b.弹出的对话框中选择解决方案、项目,将你要转化的本地程序选上,点击ok。
c.将WorkerRole.cs的Run方法内的代码改成你GroupMeeting中Main函数内的代码即可。此时run方法的代码如下:
public override void Run() { GroupMeeting groupMeeting = new GroupMeeting(); while (true) { groupMeeting.introduce(); System.Threading.Thread.Sleep(30000); } Console.ReadKey(); }
6、发布云服务到Azure
(1)配置workerrole信息。如下图所示,点击1的roles配置,选择Configuration,选上3中的Enable Diagnostics,这里我选择保存所有的消息(程序中有Trace/Verbose/Error等的输出),你可以选择只保留错误信息,也可以自定义一些信息。选后选择4中的按钮。在弹出的对话框中选择Your subscription,在下面的下拉框中选择账号和云存储服务,点击OK,保存。
(2)发布配置。对CloudService项目右键,选择publish
选择账号。
在通用设置里面选择云服务,运行环境。
在高级设置里面选择存储账户。
点击next,pushlish按钮。
7、查看日志信息。
(1)点击VS2013左侧的Server Explorer,选择Windows Azure-》Storage-》你的云存储-》tables-》双击WADLogsTable
(2)显示的是程序中的日志信息。
(3)微软内部用户还可以用Microsoft Azure Resource Explorer来查看日志信息。http://codebox/azexplorer,这个链接只能内部访问。
参考资料:
[1] http://azure.microsoft.com/zh-cn/services/cloud-services/
[2] https://manage.windowsazure.com/
0 条评论