Mirrorlake产品化

明天要给jianyu讲下Mirrorlake产品化这个topic。

还记得jianyu一开始把我安排到Mirrorlake Team时就告诉我说,他想把Mirrorlake做成一个在citi都通用有效的项目,成为让其他team只要进行一些简单安装就可以使用的产品。



做到产品化,谈何容易。我觉得产品化应该考虑以下几点:产品定位,产品亮点,定制拓展,简单易用。

软件产品化,即客户无需为软件添加或调整代码和即能完成软件的安装配置、应用初始化、系统管理、用户使用的全过程,并且软件至少能满足80%以上的用户的应用需求。


产品化意味着你的受众不再只是Mirrorlake的Stake holders,而是各个不同的team。你不能再把一些需要修改配置的参数写死在code中,你得把他们抽出来集中放置在容易修改和配置的的地方。产品化要求你把产品做成通用型产品,用户不可能通过修改源代码来修改系统的设置和参数,所以你的各项参数和配置得容易修改,这点我们可以依赖我们的CCS来做到。 这样来看,把参数和配置做成一个独立的package就非常有必要了。


感谢Yaoqing:

经验丰富的Yaoqing从Kafkaesque和HBase、Hadoop的安装使用过程中也发现:把参数配置放在源代码里非常不方便,每次要修改参数,都得更新源代码,这无疑是非常耗时的。因此Yaoqing提出了把获取参数配置做成单独的一个package的这样一个idea。在他的指导下,我也慢慢体会到了config package的优势:不用再仅仅为了修改配置项而去release一个新的版本。

任何一个package如Kafkaesque或者HBase的安装,都请先安装config package,调用config中的脚本去从CCS或者其他参数配置service去下载该package需要的properties,而不应是像现在这样把配置都写在代码里。


目前进度:

config package已经可以通过Jenkins build和uDeploy来自动部署。这周我会先用安装Kafkaesque来测试,先调用config package去下载配置文件,然后再执行Kafkaesque的其余安装过程。争取在年前实现把HBase和Hadoop也通过config package来安装。


谢谢!

你可能感兴趣的:(Mirrorlake)