Archive for the ‘Microsoft’ Category

Google Apps Engine: 下一代的虚拟主机

Tuesday, June 3rd, 2008

这个周末又是一个bank holiday, 连续休息三天,陪LP逛街一天,陪女儿看海一天,今天终于坐在家里更认真地玩了玩Google Apps Engine. 说是玩,因为我还是Python的初学者,因此谈不上评估研究,只是follow google的文档把各个GAE的各个API都编写了几行代码实验了一下。

如同Google App Engine 初体验中所说,我觉得GAE本质上是一个新一台的虚拟主机服务,和过去的虚拟主机和主机托管业务不同的是,GAE提供的虚拟程度更高,而服务能力更强。过去用过虚拟主机或者托管业务的朋友可能都深有体会,虚拟主机基本就是速度慢、 限制多、带宽窄的代名词,很多虚拟主机提供商要么是面对一些中小企业用户,本来要求就不太高,或者针对个人迫于无奈没那么多钱。 即使是托管主机,你支付昂贵的租用和IDC费用,得到的仍然是不可靠的带宽,并且还得自己去解决性能问题。

Amazon 的s3, EC2业务曾经让无数人眼前一亮,尤其对于startup状态的团队来说,这些服务简直是天使 — 你拥有和amazon一样的可靠性和带宽,收费完全取决于你消耗的流量、存储空间和CPU, S3给了一个空间“无限大”而且可靠、性能卓越的“硬盘”,让大规模照片、video分享类的应用的实现技术门槛立刻下降了很多,EC2则等于给了你“无限”台在amazon的机房内的服务器,可谓召之即来挥之即去:你随时需要就随时来了一台,一旦不需要就立刻让他消失不需要付一分钱。 看到S3, EC2我不禁感慨在这样的环境下进行web的创业真是太幸福了!你唯一真正需要的就是你有好的idea和执行能力,人、资金等方面的初始需求被最小化了! (在中国虽然也可以用这些服务,但由于远在天边是不能用的,此外你还得烦心电信、网通、教育网不互联的问题、GFW的问题、政府审查的问题、ICP备案的问题、网络安全员的问题… 可谓天上人间之别)

然而Amazon s3, EC2, 还有simple DB,这些服务都比较面向developer, 不是开发者根本无法使用它们,对于一般企业用户来说更加无法享受其服务(但已经看到有人在EC2, S3基础上开发提供了企业级的足迹托管服务)。因此他们的门槛还稍高一些。

GAE无疑是对S3, EC2门槛的进一步降低,从Google App Engine和Amazon S3,EC2价格比较不难看到GAE似乎是冲着S3, Ec2来定价的,说明google明确了吧S3,EC2作为竞争对手的意图。 GAE没有EC2那么强大到虚拟出计算机和模拟出磁盘空间出来,而更接近于过去支持动态web引用的虚拟主机服务商。 我个人认为这个定位是非常合适的,对于大多数引用来说,并不需要完全的虚拟机,GAE可谓是Just all right的方案,而且GAE可以不断根据需求来扩充API来满足绝大多数用户的需求。

虚拟主机在过去是个不小的市场,不过由于竞争激烈,已经陷入了一种价格竞争但服务停滞不前的状态,GAE的推出,我相信最大的打击对象将是过去的虚拟主机服务商,在未来我看不到任何理由那些现有的虚拟主机服务商有什么存在的机会,企业和个人都会把这些服务host到google, Microsoft, Amazon等有限的大规模服务的公司上去。 Godaddy? 也许他们的客户不少,但实在技术比较弱,在过去和一些更小、更弱的域名、主机商竞争的时候他们还能显示出些优势,但在未来和Google, Microsoft竞争我觉得他们根本没有招架之力。

GAE和S3, EC2服务还是存在一些定位上的区别的,完全可能有第三方在amazon平台或者Microsoft平台上做出类似的东西来挑战GAE, 例如已经看到有人做了一个AppDrop: Google App Engine的EC2实现,虽然只是个验证idea的原型,但已经能说明一定的问题。 GAE目前的固有缺陷(不支持Python外的语言、不支持后台进程、对Python runtime的一些限制)也正给了后来者无数的想象空间。

Microsoft目前似乎还没有出现类似GAE的服务,但从MS所拥有的武器IIS, ASP.NET, Visual Studio, Windows Live Services来看, Microsoft最应该也最容易提供超群的类似服务,让我们拭目以待看看Microsoft是否也会涉猎这个领域。

GAE和他的类似服务们所带来的将是一个空前繁荣的web应用时代,这个时代中很多规则会发生改变,对于创业者来说,资金、人员数量将更进一步不再成为一个关键,一个强悍的小团队甚至个人可能可以打造出大规模的服务;对于企业来说,既是Google, MS, Amazon自己没有提供专门的服务,也可以预见会有大量的创业企业会在此之上打造出适合他们用的服务。

不知道为什么最近大佬们总用“云计算”这样含糊的名词含着口号,无疑GAE, S3, EC2, SSDS都是迈向“云”计算的关键布局,但是从更适合理解的角度来看,我觉得GAE等其实就是下一台的虚拟主机业务。

现在做虚拟主机服务的?我看要么转移到“云”中去,站在巨人的肩膀上继续提供高附加值的服务,要么就等着被消灭吧。这个日子到来的会比我们想象更快!

 

声明:本文纯属个人观点和我所在公司无关。

Google App Engine和Amazon S3,EC2价格比较

Friday, May 30th, 2008

GAE刚刚开放注册了,并且增加了memcache和image API, 可以说超实用又迈进了一步, 这篇blog中还宣布了未来的价格:

Although we’re not ready to offer this ability now, we’ve been asked by many developers to provide some insight into how we’ll be pricing App Engine usage for applications that have exceeded the free quota of 500 MB of storage and around 5M pageviews per month. We’d like to be transparent about this, and have announced today that developers can expect to pay:

  • $0.10 - $0.12 per CPU core-hour
  • $0.15 - $0.18 per GB-month of storage
  • $0.11 - $0.13 per GB outgoing bandwidth
  • $0.09 - $0.11 per GB incoming bandwidth
  • 我不由得马上跑到amazon上去比较一下S3和EC2的价格。

    S3目前的价格:

    United States

      Storage
      $0.15 per GB-Month of storage used

      Data Transfer
      $0.100 per GB - all data transfer in
      $0.170 per GB - first 10 TB / month data transfer out
      $0.130 per GB - next 40 TB / month data transfer out
      $0.110 per GB - next 100 TB / month data transfer out
      $0.100 per GB - data transfer out / month over 150 TB

      Requests
      $0.01 per 1,000 PUT, POST, or LIST requests
      $0.01 per 10,000 GET and all other requests*
      * No charge for delete requests

    Europe

      Storage
      $0.18 per GB-Month of storage used

      Data Transfer
      $0.100 per GB - all data transfer in

      $0.170 per GB - first 10 TB / month data transfer out
      $0.130 per GB - next 40 TB / month data transfer out
      $0.110 per GB - next 100 TB / month data transfer out
      $0.100 per GB - data transfer out / month over 150 TB

      Requests
      $0.012 per 1,000 PUT, POST, or LIST requests
      $0.012 per 10,000 GET and all other requests*
      * No charge for delete requests

      Data transfer “in” and “out” refers to transfer into and out of Amazon S3.  Data transferred between Amazon EC2 and Amazon S3, is free of charge (i.e., $0.00 per GB), except data transferred between Amazon EC2 and Amazon S3-Europe, which will be charged at regular rates.

      Storage and bandwidth size includes all file overhead.

        (Amazon S3 is sold by Amazon Web Services LLC.)

      可以看到,目前在文件存储和传输方面两者价格是非常接近的,考虑到GAE提供500M的免费空间和每月5M的免费PV,在文件保存和传送方面GAE更有吸引力。S3完全是不免费的,我现在每月信用卡帐单上都有几分钱的支出,就是因为我在s3里放了一点点测试数据。 

      虽然GAE目前并不纯粹提供和S3相当的文件服务,但相信很快、也相当容易就可以提供一个这样的GAE应用出来。 

       

      EC2的价格:

      Instances

        Standard Instances
        Instances of this family are well suited for most applications.
        $0.10 - Small Instance (Default)
        1.7 GB of memory, 1 EC2 Compute Unit (1 virtual core with 1 EC2 Compute Unit), 160 GB of instance storage, 32-bit platform

      $0.40 - Large Instance

        7.5 GB of memory, 4 EC2 Compute Units (2 virtual cores with 2 EC2 Compute Units each), 850 GB of instance storage, 64-bit platform

      $0.80 - Extra Large Instance

        15 GB of memory, 8 EC2 Compute Units (4 virtual cores with 2 EC2 Compute Units each), 1690 GB of instance storage, 64-bit platform
        High-CPU Instances
        Instances of this family have proportionally more CPU resources than memory (RAM) and are well suited for compute-intensive applications.
        $0.20 - High-CPU Medium Instance
        1.7 GB of memory, 5 EC2 Compute Units (2 virtual cores with 2.5 EC2 Compute Units each), 350 GB of instance storage, 32-bit platform

      $0.80 - High-CPU Extra Large Instance

        7 GB of memory, 20 EC2 Compute Units (8 virtual cores with 2.5 EC2 Compute Units each), 1690 GB of instance storage, 64-bit platform

      Pricing is per instance-hour consumed for each instance type. Partial instance-hours consumed are billed as full hours.

      EC2 Compute Unit (ECU) - One EC2 Compute Unit (ECU) provides the equivalent CPU capacity of a 1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor.   See Amazon EC2 Instance Types for details on available instance configurations and a complete description of an EC2 Compute Unit.

      Data Transfer

        Internet Data Transfer
        $0.100 per GB - all data transfer in

        $0.170 per GB - first 10 TB / month data transfer out
        $0.130 per GB - next 40 TB / month data transfer out
        $0.110 per GB - next 100 TB / month data transfer out
        $0.100 per GB - data transfer out / month over 150 TB

        Data transfer “in” and “out” refers to transfer into and out of Amazon EC2.

        Data transferred between Amazon EC2 and Amazon S3-US or Amazon SimpleDB, is free of charge (i.e., $0.00 per GB), except data transferred between Amazon EC2 and Amazon S3-Europe, which will be charged at regular rates.

        Amazon S3 usage is billed separately from Amazon EC2; charges for each service will be billed at the end of the month.

        Availability Zone Data Transfer
        $0.00 per GB - all data transferred between instances in the same Availability Zone using private IP addresses.

        Regional Data Transfer
        $0.01 per GB in/out - all data transferred between instances in different Availability Zones in the same region. 

        Public and Elastic IP Data Transfer
        $0.01 per GB in/out - If you choose to communicate using your Public or Elastic IP address inside of the Amazon EC2 network, you’ll pay Regional Data Transfer rates even if the instances are in the same Availability Zone.  For data transfer within the same Availability Zone, you can easily avoid this charge (and get better network performance) by using your private IP whenever possible.

      * Please note that Regional Data Transfer and Public and Elastic IP Data Transfer will be charged at $0.00 per GB through June 30, 2008.  This is to allow current Amazon EC2 users to optimize the placement of instances before incurring any charges.  See Availability Zones for tools to describe instance location.

      Elastic IP Addresses

        No cost for Elastic IP addresses while in use
        $0.01 per non-attached Elastic IP address per complete hour
        $0.00 per Elastic IP address remap - first 100 remaps / month
        $0.10 per Elastic IP address remap - additional remap / month over 100

      (Amazon EC2 is sold by Amazon Web Services LLC.)

      EC2 和 GAE比较是有一点拿苹果和梨子比,因为两者提供的并不对等, GAE只能host 应用, EC2能提供货真价实的虚拟机给你完全控制,但GAE保证帮你实现app的load balance和scalability, EC2就只能靠你的应用来自己实现。

      单纯从CPU使用的价格上来看, GAE更便宜,和Ec2的数据传送价格比, GAE也有优势。 总体上来看, GAE是比较有竞争优势的,因为GAE的哲学可能是Just alright, 对大多数服务和应用来说刚好够用,EC2更加专业化一些,但很多场合下并不需要。

       

      Microsoft呢?

      Microsoft并没有闲着看,这个SSDS就是答案,现在还是close beta状态,但文档可以直接访问。 不得不说这个名字SSDS取得不太好,也很容易误导。

      image

      目前还没有公布价格,所以无从比较。 SSDS提供的服务应该认为是S3的增强版本,不但可以保存文件还可以保存结构化数据,并且能用LINQ语法进行一些查询。 我刚刚拿到测试帐户,还没有仔细看。

      其实Microsoft拥有IIS, ASP.NET, Visual Studio等全套的东西,完全应该能提供出类似于GAE并且比GAE完善得多的方案,让开发、部署基于ASP的应用易如反掌,而且这种host类型的服务,不但不会影响传统的销售,还会更好地吸引个人开发者和startup公司,实在是太太太太应该提供了!!! 然而,我还没有听说类似的计划和项目。 :(  :(  :(  

      这里说个题外话就是很多新的startup 尤其互联网startup用Microsoft产品的非常少,大部分都是LAMP阵营的,未来可能是GOP(Google + Python,不是共和党 :) )的, Microsoft的web方面产品其实从某些角度对startup有不少优势,然而由于没有几乎为0的入门门槛,以及一些”不cool”的感觉因素,导致了目前这种局面,实在觉得很应该扭转过来。 Microsoft有一个针对startup的计划Microsoft Startup Zone,让“合格”的startup可以以很低的价格购买Microsoft系列产品,然而既然是startup, 一开始的时候谁有精力去搞这些呢? 这就是为什么Just all right的产品更容易吸引startup的原因。 因此我觉得GAE将大大降低startup的资金入门门槛, 可以让startup更多把资源用在创新上,是非常有竞争力的。

      当然,既然评论了不少公司和产品,得声明一下:本文纯属个人观点,不代表我所在公司观点.

      新PC时代的思考(5)

      Monday, May 19th, 2008

      声明: 本文纯属个人观点,不代表我所在公司观点.

      前面的思考:([1][2][3][4])

       

      再看Live Mesh

      昨天随手把硬盘上的一个photo folder选择加到了live mesh中,发现除了folder的图标变了,其他并无太多变化。今天才发现,live mesh和live folder share的巨大差别之一,就是live mesh已经悄悄地把这个folder的数据给upload到了server上,等我发现的时候已经有1G的数据upload上去了。 

      image

      对不起,这对我来说完全是多此一举的行为,这个folder有4G多数据,我根本不打算全部upload。upload带来的结果就是,在live desktop中多了这个folder, 并且可以在web 上浏览这个folder, 浏览的体验基本上尽可能模拟了windows vista的用户体验。 然而这一切是我真正需要的吗?

      image

      尚且不谈我这个月的broadband 提供商有可能来找我算帐,我的数据不声不响地就upload走了,这已经让人有些恐慌。另外一个让我迷惑的地方是,live mesh线上空间只有5G, 如果我把整个硬盘都加入live mesh, 会是什么结果呢? 我没有敢尝试。 从这个角度来看,live mesh在文件同步方面至少没有live folder share来得实际,live folder share可以远程控制选择需要同步的文件,而文件实际上不会upload到服务器上(前提是机器开着并联网)。

      Live mesh的另外一个作用就是远程控制,其实这基本上是一个Remote desktop的Active X版本,remote desktop在网络带宽比较不错的时候效果是相当不错的,我经常WFH(Work From Home)的时候就直接RD到公司机器上操作,和在本地没有很大区别。 但一旦网络连接稍微有些疙瘩,使用remote desktop就是一场噩梦。 

      image

       

      Unix fans的telnet情结

      作为Unix时代的程序员,有很多挥之不去的情结。至今我依然认为Unix是设计最优雅的操作系统,虽然无可否认在针对最终用户的可用性方面,以及unix的发行版本等方面犯了可怕的错误…不幸的是,一些曾经导致Unix致命的一些错误在linux时代仍然在继续。值得庆幸的是Mac OS X把Unix系统发挥到了一个新的高度,每每想到那宛若艺术品的Mac, iPod, iPhone中跑着年轻时代最爱的unix的内核,心情是多么欣慰啊。

      对Unix的一个情节之一就是telnet, 虽然如今基本都是ssh, 但我还是喜欢称为telnet. telnet界面可能是计算机最早期曾经出现的远程控制界面,也是至今最为有效的远程控制界面。

      一个盒子,只要可以telnet上去完成所有操作,就让人觉得安心。 

      不幸的是在windows世界, telnet 协议是可以很容易支持的,但是控制性?只有dos时代的水平,虽然现在power shell出来了应该有所改观(我还没有学习它,不好多评价)。Remote desktop出来前,一直用VNC, 到今天VNC还没有完全淡出市场,说明其仍然有一些RD所不能取代的价值。 

      Telnet的一个非常大的好处是,每个telnet窗口就是一个独立的session, 对于Unix这样的多任务操作系统来说,就意味着可以多人在一台计算机上工作而不相互影响。 即使是GUI的界面,X Windows也引入了至今windows XP中没有的display的概念,多人在同一台机器上使用X Windows的GUI没有任何问题。 (X Windows是我的另外一个更严重的情节,可能在后面的思考中会展开) Windows server中的terminal service可以支持多个人同时登陆到一个server上工作。

       

      Web Admin

      web admin界面普遍出现在家用网络设备上,我相信大部分home router, wifi AP都会有web admin界面,一些干脆只有web admin没有telnet. web admin可能没有telnet那么简洁灵活,但可用性远远胜于telnet, 尤其针对某些相对固定的任务(查看状态、配置)。

      image

      一个把web admin发挥得非常到位的应用程序是emule, 通过emule的web 界面你可以远程控制运行着emule的机器,几乎完成任何客户端中可以完成的操作。 它还提供一个mobile phone版本,界面更简单功能更少些,适合在手机上用。

      image

      从这些web admin界面我得到的启发是,通过web 界面我们完全可以很好地控制一个设备,但并不需要其界面和传统的一摸一样。比如emule的web interface和client长得有些像,但操作方式一个是web风格的,一个是PC client软件风格,但这些区别完全不影响用户使用。 emule没有内嵌一个类似于remote desktop那样的东西让你在web上操作它,因为那样没有必要,还需要浪费更多带宽。 

       

      NeoPC时代的设备管理

      不可否认,Live Mesh的核心思路是面向未来的,未来的人们需要能统一地、远程地管理自己的各种设备,不过是否需要一个全新的架构才能完成这些呢? 我窃以为,也许从类似上述web admin, 以及telnet的思路中来实现设备的统一管理要来得更为容易、简单和高效。

       image

      在上图中,设备中含有支持http(或类似)协议的服务,能够把对这个设备的远程控制要求都通过web服务的形式提供出来(由于穿越防火墙/NAT以及安全等原因,可能不会如同一般的web server监听在某个端口,而是采用和Live folder share / live mesh类似的主动连出的方式)。

      这些设备在新pc时代的结构下,是新pc环境中的一个环节,和在线的其他服务一样被统一对待,统一地管理着。

      其实这种在设备上跑个web server提供对设备控制的idea并不新鲜,只是比较奇怪并没有看到很完善的产品出来。(可能这个领域做的最完善的是那些木马程序。:( )

      新PC时代的思考 (2)

      Wednesday, May 7th, 2008

      感谢在新PC时代的思考 (1)后面留言的朋友们,你们的观点和讨论让我启发颇多. 同样得申明一下, 本文仅为个人观点, 不代表所在公司的立场.

      Xin Chen推荐的Joel on software上的一篇文章很有趣, 中文版在这里. Joel一直是比较推崇小巧、精干的团队和开发方式的,因此对Ray的评价有些苛刻,但的确Joel一针见血地指出了当今计算机界普遍存在的这种“假大空”类型的buzz word堆砌的局面,其实这种问题也不是一天两天了,这个行业一直如此。

      Joel有一点分析是比较有道理的,Ray是Notes出身,进而做了Groove最终被MS收购而加入,最近提出Live Mesh, 本质上都是基于数据同步(synchronize)的设计;数据同步是网络分布应用的一种有效的实现模式,但不是唯一的模式,也不是最有效率的模式,随着网络的带宽加大、CPU处理能力增强,同步模式的优势在always on的计算机应用大幅消退,不过最近这些年PDA, Phone等所谓有限连接设备的兴起才使得数据同步模式焕发了第二春。 在Google等公司认为未来一切都可以网络化,终端设备只是相对瘦的客户端的时候,Live Mesh如此强调数据同步,让人不太理解。

      网络存储的未来

      Joel还提到了xdrive系列的网络存储服务,这个在n年前曾经很时髦,然而时间证明了对消费者用户而言似乎这个不是,至少现在还不是必不可少的业务。

      然而,这里面是否有未来的机会呢?我认为有!只不过可能时机还没有成熟,方式也可能需要有所变化。

      苹果的.Mac服务中的iDrive服务是比较有些特点的,因为apple的这个网路盘不仅仅是个可以连接在你的电脑上的盘符,而且它还具有很多“天然的”接口,比如某个目录下的照片自然成为了你的相册,某个目录下的文件自动成为了你的个人站点,这个驱动器也是你的PC和多个apple在线服务之间的纽带,需要upload某个东西到某个应用中去吗? 丢到某个特殊盘里面去即可。

      一些现代的网络硬盘服务也获多或少提供了类似的服务,最多的如web访问网络盘、共享、搜索等功能。但是这些服务普遍最缺乏一个我认为最重要的东西 — 开放性。

      网络存储和一个硬盘本质上没有大的区别,不同之处,网络盘挂在Internet上,Inernet上随时可以访问;你的计算机硬盘挂在你的硬盘控制器然后挂在计算机总线上可以被计算机的其它设备访问。你的硬盘有一些基本功能比如说可能有指示灯说明读写状态,但其最大的用途是给其它的设备和服务读写数据,而不是隶属于自身提供的某种功能。 现在的大部分网络存储服务的功能全部是自身固有的,能暴露给第三方的?几乎没有。

      想象一个未来的网络存储服务,它对于我的设备(PC, Phone, PDA…)来说如同一个存储设备,可以很方便地当成本地的存储设备而使用;它对于我的使用的各种网络服务来说,也相当于这些应用的存储空间,比如我的email可能用Gmail, 但保存(至少有一个copy自动地保存)在我的网络盘上, 我的blog的数据,也保存在这个网络存储中, 我的facebook上的通讯录, 我的相册, 我的记事本, … 统统可以保存在这个属于我自己的网络存储空间中。这才是一个真正的网络存储服务! 而这样的体系结构如果能够存在,也将能解决不少Data portability的问题, 这就如同有时候我拔下这台机器的硬盘插到那台机器上去一样。

       

      网络时代的冯诺伊曼机

      作为old school boy, 我觉得Von Neumann结构仍然具有很强的参考价值,只不过其中各个部分可能被赋予了一些更新的含义。

      image

      (Graph from: http://zh.wikipedia.org/wiki/%E5%86%AF%C2%B7%E8%AF%BA%E4%BC%8A%E6%9B%BC%E7%BB%93%E6%9E%84)

      在这个结构里,I/O 模块毫无疑问是存在于网络上的,例如前面提到的网络存储是个典型的网络化的I/O设备;这里的memory的概念也应该发生了变化,它不再是memory chip中的0, 1 而是分布在网络上的系列可寻址的状态, 这些状态可能提供在多个不同的服务之中。 Control unit, ALU毫无疑问将可能是下一代新PC时代中处于核心地位的东西。

      SCSI 的联想

      可能吗?不可能吗? 其实一个并不新鲜的,但至今还在发挥功效的架构从一个侧面说明了这个可能性。 这就是SCSI, Small Computer System Interface.  抛开SCSI本身的设计目的不谈, 其实SCSI的本质是一群职能外设形成的专用计算机网络,SCSI上每个设备都有一定的“智能”,因此他们可以并行地自主工作,相互协调形成巨大的吞吐量。 目前大部分高可靠性存储设备都是SCSI的设备。IETF在SCSI基础上提出了iSCSI, 是对SCSI进行基于TCP/IP的网络扩展,使得这些scsi职能设备的连接距离、设备数量可以随网络而“无限”扩展。

      SCSI的例子只是说明了一个专用的环境下,网络上的各个“自主”的设备如何高效率运作形成了“一台”让你觉得是整体的计算机 — 你的scsi硬盘其实是一台计算机,你的scsi光驱是另外一台计算机, 你的扫描仪、打印机…都是完整的独立的计算机!感觉上你只是在用一台机器,其实你在使用一群机器。SCSI做到了,未来的”新PC”也能做到!

       

      谈何容易?!

      的确不容易,但是并非不可能。

      然而目前的问题并非在于技术上不可能,而是在于协作上和商业上的问题。很多的公司,包括google在内,打着开放的旗号,并没有真正把开放放在心上,而是现象着垄断未来。 Google的梦想是未来所有的应用都如同google search一样host在google强大的机器群上,这很好很强大,但是这样一来别人的空间在哪里呢?当一群人都梦想着自己做个super网络服务把所有用户都抢来的时候,其实就正是埋下了不可能的伏笔。

      然而Linux等软件的成功让我们看到了一线希望,也就是有可能通过大量群体的参与和协作来推动一个原先认为不可能的东西变成现实。

      我想起了一句很久以前的话–

      Nothing impossible.

      新PC时代的思考 (1)

      Monday, May 5th, 2008

      申明:本文纯属个人观点。

      着准备是一个系列blog, 边思考便写作。为什么要用blog来写这些还在思考的idea? 最大的价值就是期望激起一些讨论和反思,这种blog方式的开放讨论就如同脑力激荡,可以让思考更加深入让思维更加活跃。

      这些想法最初萌发在差不多1年前。

      那时也是五一假期,但假期不假期对我也无所谓,反正赋闲在家天天放假,一个半夜里意外来也意外接到的电话让我对Microsoft产生了一些兴趣和好奇,因此重新开始研究了一通已经放下很多年的Microsoft相关技术和产品。这个过程中,有些东西一如既往让我疑惑廉颇老矣,似乎这个时代的主流已经是Google的年代了;有些让我惊讶和感叹,比如.Net和ASP.NET, 他们比想象中好非常多,无论效率、性能还是架构… 处于过去对微软的成见居然忽视了他们的存在,实在非常意外;还有一些让我迷惑,因为我觉得根据自己的知识和阳光尚无从判断和解读其究竟是什么。

      迷惑之余,我陷入了深思之中,作为PC时代的弄潮儿微软,在Internet时代将如何继续把握自己的地位呢?我相信微软的内部有无数聪明的头脑在考虑着这些问题,只不过站在之外无法洞悉而已。PC时代的个人操作系统如同PC的灵魂,作为PC 操作系统的主要厂商,毫无疑问微软获得了必胜的战略地位。 那么在未来的Internet时代,PC越来越成为一个巨大的网络中的一个终端设备的未来,微软的软件战略将何去何从呢?个人操作系统又将成为什么样呢?

      这个思考的一些初步想法写成了这篇blog: 全世界只需要五台计算机?从Widget流行对未来的网络计算趋势的思考. 这篇文章的核心思想是设想了一个所谓“新PC时代”:

      想象一下未来的 “PC”, 这是一种现实存在和虚拟并存的机器(服务),出来你看得见摸得着的机器,他还存在一个“灵魂”获或者“影子”于网络空间之中,你可以在任何时候用多种方式多种设备去操作您的“PC”.

      直到今天我仍然无法想到一个更好的名词来替代,所以暂时还用这个“新PC时代”作为标题罢。

      其实写这篇文章的时候,我自己窃以为自己悟出了一个也许微软等公司已经在悄悄实施的未来的战略 — PC的未来是所谓“新PC”, 广义的”PC”, 集中化的大规模服务+终端并未真正的未来。如果这个设想是真的,那么Google等这类试图用强大的大型网络端服务而制胜的公司可能将在某个时刻开始面临困境,而看到了这种“新PC”机遇的公司可能面临巨大的机会,而无疑这种布局对微软等生产PC时代的操作系统和应用软件的公司而言将可能是巨大的优势和胜利。

      当然,这一切只是我处身微软之外的设想和推测,但毫无疑问我自己已经被自己这种猜想而说服了。 :)  

      一年后的今天,我并没有从我能访问到的微软的任何资料中看到这样的类似的设想,包括那些那些直接呈现给Billg的Thinkweek paper (当然也很可能是我没有注意到或者权限不够的缘故),年初的时候我甚至考虑过把这样的想法继续深入下去写成一篇thinkweek paper, 可惜那个时候实在太忙已经没有精力(那时候也没想到Billg再过几个月就退休了,要不然怎么也应该折腾个一篇作为纪念 :)) 。

      上个月微软宣布了Live Mesh CTP, 媒体的介绍是:微软宣布推出数据存储及网络软件系统“Live Mesh”,欲迈出该公司从PC领域转型到云计算最为野心勃勃的一步。Live Mesh是微软进入发展迅猛的云计算市场的最新举措。所谓“云计算”是指通过网上的中央数据中心,实现PC上的各种应用与服务。目前,亚马逊、谷歌、Salesforce等数十家公司已经建立了计算中心,可以高效处理数据外包业务,并使之成为象电一样,企业可以轻松购买的商品。

      而公司的首席架构师Ray Ozzie发表关于微软服务战略的备忘录,其”核心是,我们要拥抱两个世界, 一个是网络(Web)的世界,一个是设备(Devices)的世界。在过去的10年间,PC时代已经让位于以网络为中心的体验时代。我们不仅可以通过浏览器来获得这些体验,而且可以通过PC、电话、媒体播放机、游戏机、机顶盒以及电视、汽车等等诸多不同设备来获得这些体验。”

      我对Live Mesh CTP的试用感觉是迷惑的,除了对其和Live Folder Share类似的不解,以及CTP只是一个technical preview外,可能还是因为我自己没有充分理解这些战略本身。 但无论如何,这令我继续想起了我自己当年揣摩微软战略而引发的思考,显然这些思考和目前公司宣布的战略有一些基本面的一致,但本质和方向上却有着相当的不同 — 我始终还是认为PC是一个中心,只不过这里的C已经有了更多的含义,但P却是永恒的。

      因此,我打算进一步来思考这个所谓“新PC时代”的问题,有很多时候一些想法看似合理但实际上是不可行的,但更多时候,看上去不太能明白的东西往往是不行的。:)  所以进一步的思考是非常必要的。

      我非常希望能有更多朋友能加入发表一些自己的看法,也许这些想法过于遥远了,但我总感觉最近这些时候很可能是一个分水岭式的时代,处于这个时代是困惑的,但也是有趣的。

       

      ---

      试图从一些其他类似的网络化服务中来寻找一些规律,先罗列一些资料,不说明什么,留着日后思考:

       

      现代计算机的发展过程

      第一代电子管计算机(1945-1956), 这些计算机的计算能力还比不上我女儿手里的NDS,或者我的手机,但这些计算机当年仍然可以认为是中心化的超级计算。

      第二代晶体管计算机(1956-1963), 这些计算机有一些开始走向了政府和大学,计算能力仍然不能和NDS相比,但他们仍然应该被认为中心化服务的计算。

      第三代集成电路计算机(1964-1971) IBM 的main frame事业从这一代开始腾飞,计算机仍然是中心化服务的代表

      第四代大规模集成电路计算机(1971-现在) 72年第一部PC的诞生促使了Microsoft的诞生,而81年IBM推出PC, 成就了辉煌的PC时代,成就了Microsoft的今天

       

      电话网络的发展过程(参考[1][2][3]):

      1876年…最原始的电话:  p2p, 一部电话连接另外一部… 

      1879 年…早期的电话:人工交换,存在多个孤立的电话网络. 第一个电话交换系统1879年在伦敦诞生(来源)。

      1898年… 步进式交换机,自动交换,本地网开始发展,可能存在着大量不互联或者互联能力很弱的本地网

      1926年… 纵横制交换机…长途网络开始形成, 多个本地网开始通过长途网连接成一个大的电话网

      1960年… 程控交换机…

      1992年… 智能网…

      200X年… NGN, Softswitch…

       

      电力网的发展过程:(参考[1])

      1888年… Nikola Tesla提出了三相电的高压传送原理,  早期的电力都是大量的本地小电厂提供的

      1891年…第一个高压(25KV)三相电力长距离(175KM)传输线出现在德国…毫无疑问这时候还不可能出现真正的电网

      1926年,英国的电网合并成为了National Grid.

      电网(Grid)的出现导致了大量小规模电厂和电网的消失。 今天计算机领域的Grid computing就是取了电网中的Grid概念。

       

       

      后续的一些思考和讨论计划涉及:

      • Web OS?  为什么我认为它不是?
      • 为什么不是Google, … ?
      • 为什么不是 S3, EC2, …?
      Close
      E-mail It