明天要给jianyu讲下Mirrorlake产品化这个topic。
还记得jianyu一开始把我安排到Mirrorlake Team时就告诉我说,他想把Mirrorlake做成一个在citi都通用有效的项目,成为让其他team只要进行一些简单安装就可以使用的产品。
做到产品化,谈何容易。我觉得产品化应该考虑以下几点:产品定位,产品亮点,定制拓展,简单易用。
软件产品化,即客户无需为软件添加或调整代码和即能完成软件的安装配置、应用初始化、系统管理、用户使用的全过程,并且软件至少能满足80%以上的用户的应用需求。
感谢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来安装。
谢谢!