转一些评价: Haibu
很多人看到这个名字都会感到非常陌生。不过它的东家nodejitsu在Node.js圈子里可是举足轻重的一家。Joyent虽然掌控着Node.js,但似乎并没有开源其Node PaaS的想法(或许真的没有PaaS也说不定),而nodejitsu则提供了很好的Node PaaS,不但能在Joyent的云上部署,也可以在EC2,Rackspace之类的地方部署。总的来说,Haibu的设计更加社区化,模块之间独立性更高。有很多组件被广泛用于其他项目。同时也使用了很多其他的开源组件,这点和Cloud Foundry完全不同,后者甚至连消息传递都是自己实现的一套。Haibu的代码不是很多,不用说基本上都是Node代码,所以有心的话,看一遍应该不是很困难。
当然haibu的缺点也是比较明显的。仅就只支持一种语言来说就不那么让人欢心鼓舞了。不过谁知道今后Node.js会不会成为诸如awk这样的经典之作呢?所以只做好一件事情也算符合KISS原则。至于对于其他相应的第三方组件,貌似不用担心,全交给Node.js本身去考虑了。但这些组件能不能有效的云化,能不能结合得好,只有使用者自己心里清楚了。所以说,haibu这种着眼点比较小的项目需要的是喜欢自己折腾的文艺青年,估计普通青年不会太喜欢。
这是一个看上去不起眼的项目。但是我却越看越觉得十分有趣。个人感觉他们充分学习了heroku的精华,这点非常重要。可能有的朋友会说,为什么不学Google App Engine,我只能说,在玩PaaS这个领域,Google真的是有点烂泥扶不上墙的感觉。项目维护得非常活跃,也是学习PaaS的好材料。至少国内的几家觊觎PaaS的公司应该好好学学,说句真心话,你们目前做得PaaS或者严格讲叫做伪PaaS真心叫人反胃。个人觉得问人要钱的底线是提供一些比免费更好的产品或者服务,所以有了这些免费的产品应该大幅提高自身的质量,否则死的会很惨。历史上做编译器的故事大家可以自己找找,觉得和今天的一些事情非常类似。
彻底的RESTful设计,虽说只用到REST的第二层(关于哪一层,详见《REST实战》),但不得不说有这种想法的人设计的API就是令人赏心悦目。学习云时代的API设计的话,这个应该是一个不错的范本。PaaS的本质不就是把运维专业化,从而彻底分离,降低开发和运维的依赖性,从而使得运维专业化,甚至独立出来形成专门的公司。此处省略马克思关于分工合作的论述数千字。这种解耦的核心看点就在于接口的设计啊,所以各位看官,一定要好好留意这个REST。我知道这不是他们首创,也不是他们最先鼓吹的,但若是和我们自己的设计相比有优点就该学习嘛。