关于Unix-Center.Net后续发展的一些思路

By , April 15, 2010 10:16 pm

Unix-Center.Net这个站点的起源,我已经在多个场合陈述过了。那个时候我在Sun 公司负责技术推广工作,在推广Sun 公司的操作系统遇到了一些阻力。大部分学生和开发人员或者是因为缺乏硬件条件,或者是因为缺乏精神动力,即使是我们以每年十万张的速度向他们免费发放安装光盘,实际的装机量也不过在一两千左右。因为工作的关系,我每年都需要走访全国各级大专院校,发现Unix/Linux操作系统在大学机房里的占有率非常低,几乎到了零的地步。当时很直接的想法,就是中国需要一个免费提供Unix/Linux体验的环境,让年轻的学生和开发人员直接跨过硬件和安装等等进入门槛,轻松地开始学习Unix/Linux的使用和开发。就因为这么一个简单的想法,Unix-Center.Net于2007年2 月正式上线,免费提供Solaris和Fedora的SSH Shell服务。后来我们所提供的操作系统又逐渐扩展到AIX, Ubuntu, FreeBSD和Debian Linux for MIPS,处理器类型也由原来的x86/x64扩展到UltraSparc, PowerPC和MIPS。经过三年的时间,Unix-Center.Net已经演变成一个功能齐全的Unix/Linux体验平台。简单地讲,Unix-Center.Net的注册用户可以远程登录进入多个不同的操作系统,具备自己独立的用户空间和磁盘配额,享受该操作系统上普通用户的所有权限,学习和使用各种版本的Unix和类Unix操作系统的常用命令和功能,可以将自己正在开发的应用程序上载到Unix体验中心的服务器,在不同的软硬件平台上编译和运行。

去年下半年,由于我个人的一些变动,导致Unix-Center.Net的运营出现了一些不稳定的因素。在众多热心个人与团体的帮助下,Unix-Center.Net的服务器至今依然在正常运转。(目前,CSDN支付了Unix-Center.Net自2009年3 月份以来的所有运营费用。)一方面,我为所有关心和支持Unix-Center.Net的个人和团体所深深感动。另一方面,也促使我深入思考Unix-Center.Net的后续发展问题。

我必须承认,2007年初我决定做Unix-Center.Net的时候,完全是出于脑子一时发热。在过去的三年中,维持Unix-Center.Net正常运转所需要的资源远远超出我最初的设想。我也清楚地意识到,简单地依靠捐赠模式来维持一个公益性社区的正常运转,在中国是完全行不通的。在Unix-Center.Net这个特例上,我认为需要寻找一家或者是多家商业公司的帮助,依靠这些公司的赞助和扶持来维持其正常运转。这些公司之所以愿意赞助和扶持Unix-Center.Net,则是因为他们认同Unix-Center.Net的发展思路,或者是Unix-Center.Net所提供的服务与其战略目标是相一致的。

从根本上来说,Unix-Center.Net是一个最基本的云计算平台。最近几年,国内国外都在炒作云计算这个概念,不同的利益集团对云计算有不同的解读。我个人对云计算的理解是朴素无华的,那就是只要你拥有一台具备基本计算能力的计算设备以及一个有效的互联网连接,你就可以利用互联网上的计算资源,随时随地解决你的计算需求。举个例子来讲,只要你的计算机能够接入互联网,你就能够通过浏览器接收和发送电子邮件,因此Google认为Gmail是其提供的云计算服务之一。同样,只要你的计算机能够接入互联网,你就能够通过简单的SSH客户端连接到Unix-Center.Net的服务器,完成简单或者是复杂的计算任务。所不同的是,用户通过Gmail只能够接收和发送电子邮件,而通过Unix-Center.Net则能完成大量的计算任务 -- 这些计算任务所覆盖的范围既取决于Unix-Center.Net的计算能力,也取决于用户的想象力。

作为一个云计算平台,它所提供的服务具备几个明显的特征:

(1)服务无处不在 -- 用户只需要一台具备基本计算能力的计算设备以及一个有效的互联网连接,就可以随时随地使用该服务。从这个意义来讲,任何联网的应用,都具备成为云计算平台的潜力。

(2)具备进入成本 -- 用户具备使用该服务的需求,但是并不具备独立提供该服务的经济或者技术条件。譬如说某些企业需要定期地进行大规模的运算,但是并不值得专门为此购置一台具备大规模运算能力的计算设备。超算中心通过发展客户群让多个用户来分担超级计算机的成本,使得其用户能够在不拥有计算设备的情况下以较小的成本完成计算任务。

(3)用户决定应用 -- 云计算平台提供计算能力(包括处理器、内存、存储、网络接口),但是并不关心用户的应用类型。用户利用云计算平台所提供的计算能力,并且充分考虑云计算平台所设定的(技术和经济)限制,开发出丰富多彩的应用。

满足如上几个条件的云计算平台,又可以按照其所提供服务之层次细分为基础设施服务(IaaS,例如在线存储和数据库服务)、平台即服务(PaaS,例如AMP虚拟主机和Java EE应用服务器容器)和软件即服务(SaaS,例如Google Docs)。很多厂商在提到云计算的时候,往往会同时提到分布式计算(Distributed Computing)、并行计算(Paralle Computing)、网格计算(Grid Computing)、实用计算(Utility Computing)等等概念。事实上用户并不关心这些五花八门的新名词,他们所关心的仅仅是某项服务是否可用以及使用该服务所需要的成本。说得难听点,这些概念仅仅是云计算平台提供商在创建云计算平台时才需要了解的技术细节,它们可以被认为是云计算的表象,但并不是云计算的本质。

Unix-Center.Net要做的,是为软件开发人员服务的云计算平台。Unix-Center.Net的目标,是让开发人员能够随时随地的开发、调试以及部署不同种类的应用。目前Unix-Center.Net已经具备了允许开发人员远程登录并且开发和调试应用程序的基本能力。但是作为一个云计算平台,Unix-Center.Net所提供的服务还不够丰富,在易用性方面也还有很多改进的余地。在资源允许的前提下,我个人希望对Unix-Center.Net进行如下改进:

(1)完善目前的项目中心服务,提供一个功能齐全的软件生命周期管理系统。目前Unix-Center.Net所提供的GForge服务仅仅提供了最基本的项目托管和协作功能,SVN和Bug 管理系统等等重要功能尚未开通,并且缺少必要的入门文档。

(2)开发或者是整合一个基于浏览器的集成开发环境,并与项目中心进行整合。举个例子来说,当用户需要修改某个源代码的时候,他只需要在项目中心里面点击相应的源代码,即可在浏览器里打开该文件进行编辑。通过浏览器界面用户可以进行存盘、编译、调试等等操作,所有的存盘、编译和调试操作实际发生在Unix-Center.Net的服务器上,操作结果则通过AJAX等手段返回给用户的浏览器。

(3)进一步改进Web 开发环境,稳定支持基于HTML, Java EE, ASP, PHP等语言的Web 应用。用户在项目中心里托管的Web 应用,可以直接部署到用户在Unix-Center.Net的Web 开发环境。

(4)提供基于浏览器的Office软件,并且与Unix-Center.Net系统进行整合,使得用户能够在浏览器中编辑和共享各类文档和文件。这个功能是有用但并非必要的,因此优先级可以稍微放低一点。

Unix-Center.Net的目标用户,是软件开发人员以及软件开发相关专业的教师和学生。与传统的基于个人开发桌面(或者是公用机房)的开发模式相比较,使用Unix-Center.Net进行开发具有一些不可替代的优势:

(1)Unix-Center.Net的服务是无处不在并且随时可用的。更为重要的是,不管是在公司、家庭、宿舍还是机房,用户所看到的是同一份数据,无须拷贝,无须备份。当你在进行一项需要花费较长时间的计算任务(例如编译Linux内核)时,你可以随时切换到其他的计算机上去进行操作(甚至是关闭计算机)也无须担心你的计算进程被中断,因为这些进程是运行在Unix-Center.Net的服务器之上的。

(2)Unix-Center.Net的环境对所有用户来说是一致的。这一点在团队协作和教学实践中尤为重要。举个例子来讲,同样的Java SE应用在某甲的机器上可以正常运行但是在某乙的机器上没有通过编译,很有可能是某乙的机器没有正确配置类路径(CLASSPATH)的原因。环境的一致性使得开发人员所遇到的问题能够更容易地被其他团队成员所重现,从而大大地提高了问题被解决的可能性。

(3)Unix-Center.Net的服务是基于浏览器和SSH 客户端的。这意味着用户所使用的机器只需要具备最基本的计算能力,从而大大地降低了用户进行开发所需要的软硬件成本。

(4)Unix-Center.Net的开发、调试、部署和协作环境是无缝整合的。用户无须在多台开发机器上反复拷贝和覆盖不同版本的源代码,也无须将源代码和目标代码从开发环境迁移到部署环境。

用户也许会问:基于浏览器的集成开发环境,能用吗?事实上Unix-Center.Net并不打算从头写一套集成开发环境,而是希望整合一些现成的解决方案。看一看Mozilla Labs最近发布的Bespin 0.7.2,就知道基于浏览器的代码编辑器已经到了基本可用的程度。将这样一套系统与Unix-Center.Net进行整合,从而提供远程开发、调试、部署和协作功能,其实不是多难的事情。

我一厢情愿地期望,Unix-Center.Net所提供的服务应该是完全免费的。我们目前还在提供通过“捐赠”100元以升级为“标准用户”的方案,每个月都有两三个用户通过这种方式获得获得更大的硬盘空间以及Web 开发环境。坦率地说,若不是担心我们所提供的Web 开发环境被滥用,这个所谓的“升级”门槛也早就取消了。

那么,谁会为Unix-Center.Net的运营买单?

我们最近把Unix-Center.Net的中文名称改为“开放源代码技术开放实验室”,也借此名称表明了我们所期望的发展方向。如果 -- 我是说如果 -- 我们有能力将Unix-Center.Net继续运营下去,我们希望能够维持其公益性质,以非盈利的方式培育国内的云计算服务市场。在2008年第9 期《程序员》杂志上,我曾经发表了一篇题为《开发者社区:规模产生价值》的文章。文章认为一个日益壮大的用户群体是开放源代码技术实现盈利的必要条件之一。Unix-Center.Net就像一个幼儿园,只能够提供一些基本、有限和不稳定的云计算资源。当免费使用云计算服务进行开发的从业人员达到一定规模的时候,会逐渐产生一些使用商业(付费)云计算服务的需求。Unix-Center.Net暂时没有提供商业云计算服务的计划。实施这样一个计划所需要的资源,远远超过维持Unix-Center.Net目前各种服务的正常运转。但是我们知道阿里巴巴在作云计算平台,亚马逊在作云计算平台,微软在作云计算平台,IBM 在作云计算平台,Google也在作云计算平台。他们也许会乐于看见在中国有一个免费的面向普通开发人员和学生的云计算平台,使得越来越多的人能够体验和接受云计算的概念,而他们所在的企业则将在他们的影响下逐渐成为商业(付费)云计算平台的用户。

没有人知道明天会发生什么。也许过不了多久,我们天真的想法就会以失败为告终。但是等我们慢慢老去的时候,我们也许会为这样一件事情感到骄傲 -- 在那个没有信仰的时代,我们产生了一个想法,毫不犹豫地将其付诸实施,并且有一些人从我们的行动中获益。

就这么简单。

观沧海.大风歌.春夜喜雨 (Perfomance by Wanqing)

By , April 3, 2010 3:58 pm

清扬婉兮即兴演唱的古诗词。点击此处下载WMV格式的视频(总共16MB)。

观沧海

曹操

东临碣石,以观沧海。水何澹澹,山岛竦峙。
树木丛生,百草丰茂。秋风萧瑟,洪波涌起。
日月之行,若出其中;星汉灿烂,若出其里。

大风歌

刘邦

大风起兮云飞扬,威加海内兮归故乡。安得猛士兮守四方?
<pre>春夜喜雨 

杜甫 

好雨知时节, 当春乃发生。 随风潜入夜, 润物细无声。
野径云俱黑, 江船火独明。 晓看红湿处, 花重锦官城。

Panorama Theme by Themocracy