October, 2012

  • Windows Azure + Metro App 设计开发模式探索(一):不妨尝试“云+端”

     

    2012 年 11 月 3 日- 4 日,Windows 8 应用开发马拉松(Hackathon)将同时在北京、上海、广州、成都、深圳、西安等6个城市“鸣枪”,为期两天、连续 36 小时,预计将有数千名中国学生和开发者共同参与和体验这一“赛事”。

    http://msdn.microsoft.com/zh-cn/Hackathon

    说到Windows 8 Metro App,从用户体验角度,使用者会更多关注全新的多点触摸式体验。其实Metro应用不仅仅是多点触摸,还有一个术语值得探索,那就是沉浸式的用户体验。

    同时,我们看到的是,Metro App不仅仅在大家常用的笔记本电脑、台式机PC,而且也出现在越来越多的在平板电脑、智能手机等各种类型的设备上。

    不论是单个消费者,还是融入社交网络的群体,还是企业业务流程的信息工作者,我们看到了越来越明确的趋势和要求,那就是:要在任何地点、任何时候、任意设备访问数据和服务。

    而做到这一点,就必须将视角放宽,不仅仅要看到丰富多彩的“端、设备”,同时也要看到日益增强、自由伸缩的“云”资源。

    期待在本次Windows 8 应用开发马拉松上见到更多的“Windows Azure云”+ “Metro App端”的应用出现。

    在正式、深入探索如何更好地设计和开发Windows Azure + Metro App之前,不妨先看看Windows Azure提供了什么样的技术支撑。

    从云计算的角度,总结起来,不过是计算(Compute)、存储(Storage)和网络(Network)等主要因素。把这些主要因素放在“云+端”的场景下,可以分别看看Windows Azure的相关技术有哪些。

    针对计算(Compute),Windows Azure提供了几种选择,主要包括:

    · PaaS云服务,例如Web Role, Worker Role

    · IaaS云服务,例如Virtual Machine

    · Web Sites

    · Mobile Services

    针对存储(Storage),Windows Azure提供了几种选择,主要包括:

    · 表(Table),提供非关系型数据的存储

    · Blob,进行文件、音频、视频等文件存储

    · 队列(Queue),提供持久化的异步消息

    · SQL Database,即之前大家熟悉的SQL Azure,一种关系型数据存储

    对于网络(Network),特别是通讯(Communications),同样有很多技术选择,例如虚拟网络等。而其中非常关键的消息推送的场景,提醒服务(Notification Service)则至关重要,Windows Azure不仅仅支持Windows 8, Windows Phone 8,还支持其他类型的端设备(例如iOS, Android等)。

    全面了解了这些,下一步,不妨让我们继续探索不同的Windows Azure + Metro App 设计开发模式吧。

  • 监控和诊断Windows Azure Web Sites

     

    基于Windows Azure Web Sites建立网站应用比较方便、快捷,同时开发Windows 8与Web Sites结合的应用也很方便,也可以使用多种语言(.net, PHP, Node.js等)、多种工具(Visual Studio, WebMatrix等)、多种数据库(SQL Database, MySQL等)。

    对于Web Sites监控起来,其实也比较方便,在Management Portal上,可以进入Monitor菜单,然后可以看到相关Web Site的运行状况,特别是CPU 使用情况、数据量(Data In and Out)、请求数量(Requests)等,也可以看到HTTP Server Errors的数量。如下图。

    clip_image002

    如果想更深入地了解或者诊断Web Sites的情况,特别是希望如以往常用的方式,分析网站的Log的话,需要按照下面的方式操作。

    首先,需要打开诊断的开关,具体位置是在配置Configure菜单下,然后根据需要分别将“Web Server Logging”、“Detailed Error Messages”、“Failed Request Tracing”设置为“ON”。如下图:

    clip_image004

    在Management Portal的仪表盘Dashboard,可以看到右下角有一个链接“DIALOGSTIC LOGS”,指向一个FTP网址。

    clip_image006

    实际访问过程,发现竟然访问不了,提示网站无法访问。即使用Windows Azure账号的LiveID也无法访问。

    后来经过反复尝试,发现了问题的根源。需要先将上面的Deployment /FTP User设置好,才能访问FTP网站并获得Log文件。

    具体设置的办法是:点击仪表盘(Dashboard)左边clip_image007,进入后,点击“Set up deployment credentials”:

    clip_image009

    然后设置用户名和密码,如下图:

    clip_image011

    然后,再次访问FTP网址,哈,那些Log文件就在那��。

    clip_image013

  • 在Windows Azure上体验快速建网站的乐趣

     

    公有云的出现,为广大互联网用户提供了极大丰富的计算、存储、网络等资源。同样,对于很多规模比较小的企业,特别是一些处于初创阶段的企业,提供了快速部署和启动业务的网络资源和IT模式。

    Windows Azure上的Web Sites服务,为企业和用户快速建立网站,提供了快捷、简便和易操作的资源。目前很多企业和用户建立网站,主要目的是:建立自己的博客或者论坛,有的是要建立电子商务平台,有的是建立产品目录、百科等社区及协作平台。Windows Azure Web Sites服务,可以快速建立自己的网站,特别是可以从上面提供的模板资源库建立某些类型的网站,如下吗图所示:

    clip_image002

    值得一提的是,可以在这里看到很多开源软件的身影。

    最近刚安装了最新的Windows Azure Training Kit:

    http://www.microsoft.com/en-us/download/details.aspx?id=8396

    按照上面的指导,体验了一下在Windows Azure上体验快速建网站的乐趣。

    建站过程很简单、很快捷、很直观,按照向导:

    clip_image004

    在选择“Create with Database”的时候,会发现目前支持的数据库中,除了Windows Azure的SQL Database,还包括了MySQL Database。这对于一些熟悉MySQL的开发者来说,应该是一件乐事了。

    clip_image006

    当然,最方便的是从资源库里面选择一个模版,比如WordPress的博客软件,版本号v3.4,自己设定网站的URL地址,这里选择了一个MySQL数据库:

    clip_image008

    Web Site很快建立完毕,按照WordPress的初始界面做个简单的配置:

    clip_image010

    当当,属于自己的一个博客网站建立完毕了,发第一封blog,看看效果:

    clip_image012

    对于Windows Azure Web Sites,使用起来主要的特点有三个:“Start simple”,“Code smart”和“Go live”。

    如果仅仅是建网站玩玩,可以感觉到确实起步很简单、很快,马上就投入运作了。

    当然,往深里用,做定制开发、按需部署及伸缩,里面还有很多文章可做;特别是,Windows Azure Training Kit支持用多种语言来做开发,包括.net, PHP, Node.js等等,值得广大开发者做深入探索。

  • Windows Azure Training Kit又有新的更新发布了

     

    今天在网上看到,Windows Azure Training Kit又有新的更新发布了:

    http://www.microsoft.com/en-us/download/details.aspx?id=8396

    马上下载下来,尝个新鲜。

    一个有趣的变化是HANDS-ON LABS里,分别按照“visual studio 2012”、“visual studio 2010”和“open source”提供。如下图所示意:

    clip_image002

    这个大大方便了安装VS2012的用户,特别是使用Node.js, PHP, WebMatrix等开发工具/语言的开发者。

    对于很多open source开发者,特别是startup的开发者,Web Sites是一个非常值得关注、值得尝试的服务。

    Web Sites创建、管理和开发都非常简洁、方便,而且也非常容易和Windows 8端结合起来,开发者可以使用asp, asp.net, PHP, Node.js等开发,部署在Windows, Linux和OSX等环境内,并访问Windows Azure Database或者MySQL数据库。

    总结起来,大概是三个主要特点:“Start simple”,“Code smart”和“Go live”,便于进行负载平衡、共享存储、性能优化等。

    另外一个值得探索的就是面向Windows 8, Windows Phone, iOS, Android的开发工具包,如下图:

    clip_image004

    但访问Windows Azure Toolkit for Windows 8时,可以下载的仍然是“Windows Azure Toolkit for Windows 8 Release Prv”,状态时“Beta”。对于我这个安装了Windows 8 RTM的机器,好像有点版本环境问题。对于那些无法安装这个Toolkit,同时,有些网络无法通过Package Manager Console访问NuGet、通过以下命令来安装Windows8.Notifications包的:

    Install-Package Windows8.Notifications

    不妨试试直接使用工具包里的解决方案试验一下。