Twitter Updates

    follow me on Twitter

    August 14, 2009

    我博客的变动

    经过了几天的试验,出于以下几个原因,我决定把博客搬家了。

    1. Blogger的功能比较强大,可是排版格式很不舒服,虽然可能可调,但是由于国内网友反映经常被block,需要翻墙才能访问,因此放弃之。
    2. 测试的文章写得差不多快没的写了,以后虽然会继续写,但会比较少,主要是需要比较长一段时间才能有一些心得体会。因此,文章的主题会跟测试没太大关系,主要会集中在互联网,尤其是云计算上。因为主题的扩展,所以我希望能够跟更多的网友分享我的观点与看法。
    3. Live Space不知道怎么回事,最近的文章在各大搜索引擎上都查不到,这就使得上边的第二点成为了不可能。而看我文章的朋友主要集中在测试领域,我这些新文章未必是他们想读的,因此放弃Live Space。
    4. 由于中国的特殊国情,我还是要不得已放弃把博客放在国外网站,因为读者基本上还是身在国内的。经过CSDN,百度,新浪博客的测试,发现新浪上发表的文章搜索引擎收录还是比较快的,而且使用起来也还算顺手,觉得可以用之。

    以下是新的博客地址以及一些其他的交流方式,有兴趣继续看我文章的朋友,或者想问我问题的朋友可以通过他们和我联系,谢谢。

    其次,相关的文章我会发布到以下网站。

    August 7, 2009

    微软将要大转型

    在微软与Google的大战中,我提过微软占有优势地位,但Google占有方向的优势。也就是说各方面的实力都是微软要高Google一头,但是在两个公司的理念上,我推崇Google。Google讲的是云计算,软件即服务,而微软由于软件霸主的地位使得微软不能放弃传统软件而提出了Software+Service的口号。我其实并不赞成这个口号,以前也批判过一些,而微软在这个口号下也没做出什么优秀的产品出来。倒是Google在云计算上做的风生水起。

    最近微软的一些变化让人感到很惊喜,首先就是Steve Ballmer竟然零代价搞定了Yahoo,简直是让我对他刮目相看。然后就是战略的转变让我重新看到了希望。微软每一年度开始,CEO都会发表下一年度的公司策略,而software+service则是去年的重点。我统计了一下去年与今年的变化,列出了主要的区别如下,

      2008 2009
    Software 出现9次 出现3次
    Cloud 出现2次 出现6次
    Strategy Embrace software plus services Embrace the cloud across all of our businesses

     

    Software的出现频率下降了三分之二,而cloud的出现频率则增长了两倍。可见微软这两年正在经历Software->Software plus Services->Cloud的一个重大历史转变。希望2010年微软能够推出一些重量级的产品出来与Google更好地进行竞争。

    微软,Google云计算基础技术的比较

     

    我想现在几乎没有人没有听说过“云计算”这个术语了,但是能明白云计算是怎么回事的人可能就是少数了,而在云计算的理解上也是因人而异,可能非常不同。这也不算不正常,因为云计算只是个概念,是个方向,很多时候大家都只是看到,抓到,感受到那么一点点,好比盲人摸象。就算大公司的理解也是千差万别,更何况每一个人了。我今天想通过对比微软和Google的云计算的基础技术来阐述一下自己对云计算的理解。首先我想澄清一些概念:

    • 云计算:现在最泛泛的概念就是云计算了。由于计算是其中的重点,我们经常把云上的所有东西统称为云计算,这就很容易使人感到迷惑。我个人认为云计算有两种context,一个就是计算,发生在云上的计算。另外一个是我刚提到的泛泛的概念,比如把云存储也归于云计算了。所以大家看相关文章的时候,一旦看到云计算要搞清楚context,否则就容易迷糊。而且我发现很多文章的作者本身对这两个概念也很迷糊。我在跟很多人讨论云计算的时候,也正是这个原因使得讨论无法进行。我个人倾向于把云和云计算区分开,就像把计算机和CPU的概念区分开,虽然CPU是计算机的核心。当然,这不是由我来作主的。
    • Server和client:我发现在讨论云计算的时候,不但需要区分上边讲的两个context,还需要区分server端和client端。如果从计算的角度来说,那当然server端是重点了,毕竟计算在server上产生。可是如果从云的整体来说,server端和client端就都很重要。而如果从用户的角度来讲,那就应该是client端最重要了,因为计算的发生对用户来讲是透明的,而client端的交互最重要。很多时候在讨论云计算的时候,人们竟然把client端跟server端混着来讨论。比如我在写livemesh与云计算的文章的时候,很多人竟然把windows azure拿进来讨论。我最近还看到有些文章竟然拿Chrome OS和Winows Azure进行讨论。
    • 由于以上原因,为了减少混乱,我会把云计算按照计算的context来讲,而把泛泛的概念直接称为云。我在讨论技术的时候,会把他们分为client和server端分别进行比较的。
    • Cloud OS与Web OS。在云计算概念流行以前,人们更多的是谈论Web OS。现在人们谈论的更多的是云计算,因此Cloud OS和Web OS的概念就又混淆了。可能不少人认为是一个东西,可是从我个方面的得到的信息来看,我们基本上可以用client/server端来区分他们。Cloud OS是server端的,比如微软的windows azure就号称Cloud OS。而Web OS则是客户端的,比如市面上的各种号称Web OS的网站,比如Facebook,比如Google的Chrome Browser,Chrome OS等等。目前来讲,Web OS还没有明确的概念,所有产品基本都是试验性质的,但是Web OS在client端还是比较明确的。
    • 对于云来讲,不同的人关心的重点不同。网络服务提供商,开发人员关心的是server端的cloud OS,而用户关心的是client端的web os。因此,对于大多数人都作为普通用户来讲,就没有太大必要去注意server端的那些新技术,新术语了,也不要被他们的出现搞糊涂了。

    下面的表格列出了微软和Google公司云计算基础技术和产品,随后有我个人的讲解。

    Server/client Technique Google Microsoft
    Server Cloud OS App Engine Windows Azure
    Client Web OS Chrome OS Live Mesh
    Browser Chrome IE
    RIA Javascript+V8 Silverlight
    Offline Gears Live Mesh/Silverlight
    OOB Chrome shortcuts Live Mesh/Silverlight

     

    • Cloud OS:由于Google App Engine只支持Python和Java,而我不想学Python也不喜欢Java,所以没有任何体验。而Windows Azure则体现出了微软强大的实力。从下至上,除了hardware则清一色使用微软自己的产品。OS: Server2008, VM: Hyper-V, Host: IIS, Dev tools: Visual Studio。从Azure来看,微软在云上开发了一套开发平台,从而改变了网络服务提供商的经营和开发模式。他们不再需要买自己的服务器,而转为租用微软的虚拟机,开发则是通过微软提供的接口开发在IIS上的web服务。重点是他们不需要考虑sacalability,而是按计算的需要和使用情况向微软付钱,就好比我们现在买电一样。而云计算的提供商则相当于现在的电力公司一样,使得计算变成一种资源去交易。由于我不是搞这行的,所以,我更多的注意力放在了client端。
    • RIA:要想建立client端的Web OS,则需要依赖于rich internet application。这方面的技术主要有三种,Adobe的Flash,微软的Silverlight以及Google推崇的AJAX。以前用过一些Web OS都是建立在Flash上, 我就感觉很别扭。一是因为既然是OS还需要依赖Flash?二是因为点右键总是有个Adobe的影子,而且不能customize。其实也正是因为这个原因使得Google在很早就放弃使用Flash了,而进行了更灵活的Javascript的大力支持。微软的Silverlight则正像是Flash的翻版,到现在为止我基本上没看到过什么基于Silverlight的应用,好像主要是播放视频。而Google自己基于javascript的Gmail, reader, 以及最近公布的集大成的Ajax的顶尖作品Google Wave等,都让我在RIA这个方向上很支持Google。
    • Browser:前边说过Google大力推行Javascript,而运行速度慢是Javascript的一个致命的问题,使得在和Flash, Silverlight的竞争中处于劣势。基于这个原因,Google推出了自己的Browser Chrome,并且内嵌了V8的JS的引擎,使得javascript的运行效率大大提高,从而可以用javascript开发出更高级的界面。比如,我看过JS实现的一些SD,动画的demo,都还是比较出色。而Chrome又大力支持HTML5,其中重要的一点是支持了视频,从而使得Flash和Silverlight的竞争力进一步降低。而且,javascript的好处在于浏览器本身就支持,不用像Flash, Silverlight还需要单独安装。进一步说,Chrome对JS的优化直接推动了Firefox和IE对JS的优化,而JS的运行效率也成为了浏览器的最重要的指标之一,使得Javascript的前景更加的光明。
    • Web OS:现在已经比较明确的看出来了Google的Web OS就是即将公开源代码的Chrome OS,而对于普通用户来讲,Chrome OS和Chrome Browser基本就是一个东西。因为普通用户对那块Linux内核是透明的,也是不在乎的。所以,我们只要看Chrome Browser的发展,就应该能推断出Chrome OS大概的样子。Chrome OS最大的焦点在于替换掉Windows,而Chrome Browser将要增加的同步功能,使得Google的Web OS更加完善,而谣传了许久的GDrive如果能够稍后推出的话,则Google的Web OS将基本成形。微软目前并没有一个所谓的Web OS,而最像Web OS的产品则是Live Mesh。Live Mesh我以前已经谈论过了,就不再重复了,简单来讲我很失望。
    • Offline:云计算的一个重大问题就是离线怎么办?这也是很多人质疑云计算的一个主要原因。Google的解决方案是Google Gears, 它内嵌于Chrome里,也可以安装到其他浏览器上。Google Gears使得用户在离线的时候还可以访问,操作数据。微软的主要解决方案是Mesh, 通过同步各种设备。最新的Silverlight也加入了一定的离线支持。
    • OOB (Out of Browser): 在浏览器中运行的Web应用界面与传统桌面软件比起来总是死板,不够灵活的。因此,人们就产生了需求,想在浏览器之外运行web应用。Adobe的Air可以实现这个功能,而Google的解决方案是Chrome里的shortcuts。给Web应用建立了shortcuts之后,就可以按照人们习惯的方式启动这个应用,而界面也很传统软件非常接近了。微软的解决方案则是Mesh, 或者最新的Silverlight OOB功能。

    综上所述,我们可以清楚地看到,Google的云技术的client端的核心就是Chrome浏览器,所有相关的技术都嵌入到了浏览器中,甚至操作系统的内核也算嵌到了浏览器中,这也是为什么Google为它Browser和OS起了一个同样的名字。所以,我们可以说Google Chrome未来就是一个Web OS。而反观微软,则是把这些feature分散在了几个不同的产品中:Windows, IE, Silverlight, Live Mesh,并没有一个统一的解决方案。因此,在云计算的战略上,还是感觉Google比微软看的更高更远一些。

    还是回到Live Space吧

    一些人反映blogger被国内封了,所以我又回到了Live Space。

    peking2toronto.spaces.live.com