huaweilogo

   

感谢 Boss 忻哥,感谢广爷、文剑大神和冬卯大神等伙伴。

和乐视的因缘,源于一个 QQ 群,那时乐视正在招聘私有云开发,经电话面试后欣然由杭州赴往北京,在乐视历时约一年半,之后因为情感因素离开乐视前往上海。入职前曾问自己,如果没有 OpenStack,你还能做什么?离开乐视时,即使没有 OpenStack,即使离开 Python,我依旧有足够的信心。因为这段经历不是阻碍成长的篱笆,而是培养基础知识的土壤。

北京就是这样一座包容、奋斗的城市,海淀中关村步行街的两排,林立着各种咖啡厅,周末上演着大大小小的知识分享;在东城区的三联书店,那是京城一家 24 小时书店,喜欢在二楼点上一杯咖啡,安安静静的通宵夜读;喜欢延庆的百里画廊,门头沟的七彩妙峰,大兴的千年梨树,和南来北往萍水相逢的人。


900 物理节点

迭代开发 & 灰度上线

我有一种预感,最优秀的那些大型程序就是这样发展起来的,而不是像胡佛水坝那样从一开始就作为大型工裎来设计。 —— Paul Graham

roadmap

和多数做 OpenStack 发行版的方式不同,乐视云平台是逐步迭代演化起来的,从 Havana 起,仅采用 Keystone, Glance, Nova, Horizon 提供功能最基础的服务,之后逐步添加特性,灰度上线,运行稳定再升级全部节点。得益于小步快跑的模式,在保证稳定的前提下逐步试水深,走出一条适合自己的路,比如采用 RabbitMQ 替换最初的 Qpid,采用 Mysql Cluster 替换乐视自己维护的 DB,Neutron 采用 L2 大二层的网络模型等等,私有特性代码多达上万行。支撑的业务也从开发、测试,逐步覆盖到电商等线上业务;部署的地域从国内遍布到五湖四海(服务 CDN),节点也在一年多的时间里达到 900 个物理节点,并且还在快速增长中,平台的稳定性超乎想象。而这一切,研发和运维的有效总成员未超 8 人。

  • 选取成熟稳定的 Kernel、Qemu-kvm 等,走主流之路
  • 逐步迭代,保证质量、灰度上线
  • 与运维保持充分沟通,深入了解生产环境,共同上线

QA? NO,DevOps

workflow

开源社区优秀的项目管理和团队合作非常值得学习,严格的开发测试流程保证不同国界、不同能力的贡献者代码的健壮性。得益 OpenStack 单元测试的、集成测试的高覆盖率,所有新增的代码都必须添加单元测试,必须保证通过单元测试和集成测试,对于访问频率很高的 API,如 Keystone 的 authentication token,还必须由 Rally 测试并发性能。

每当一个版本 Release 后,我们将其打包并发布至私有的 yum server(pip server),与运维同事一起安装和升级。


成长

忻哥是一位非常注重底层知识的开明领导,非常关心团队的成长,他要求我们培养扎实的基础知识,为大家提供了很多和外界交流的机会。和大气开明的 Boss,大神伙伴们一起共事成长,是一种福气。

基础知识

Richard Stevens 所作有关 UNIX 和 TCP/IP 等领域的书籍非常值得拜读,它们解答我的许多疑惑,增强了定位和解决问题的能力,大有柳暗花明、云开雾散之感。

工具

开发工具的变化是这段经历带来的最明显的体现,当然我并没有评判某种工具的好坏,只是对于一个 Linux 开发者来说,找到更为适合自己的高效方式。

  • 操作系统: Ubuntu/Mac
  • IDE: Vim
  • 版本项目: Git, Wiki & Jira(Atlassian)
  • 文本编辑: Markdown, Google Docs
  • 搜索帮助: Linux Man, Google, Stackoverflow

社区

额外花点时间参与社区同样有助于成长:

  • Commit 代码: 学习标准规范的开发测试流程,培养编写测试用例的良好习惯
  • Meetup: 取长补短,认识优秀的同行