关于淘宝共享开放平台的技术讨论

系统
前段时间,酷客博主陈皓转战淘宝,了解了一下淘宝的共享开放平台,在其微博上提出自己的见解:“感觉可能需要像Linux+Git的方式才能适应高速开发。”引发众多技术人士热议。

2月18日,已经转战淘宝的著名技术人陈皓发布了一条微博,对淘宝内部的共享开放平台提出自己的见解:

 今天了解了一下淘宝的共享开放平台,感觉面对阿里内各种特殊异化的业务的需求,再加上各种降权开关,性能优化,这个平台要干的事越来越复杂,承载的业务逻辑越来越多,越来越不好维护。采用服务化模块化的解耦可以做到灵活性,但是还是不够。感觉可能需要像Linux+Git的方式才能适应高速开发。

他又补充了一条微博,指出:

 可尝试使用Linux+Git的方式,让各个业务团队把代码fork过去自行定制,一些定制过后的有价值的代码稳定后可以回到主干,各个fork出去的分支可以互相merge。而当主干代码升级后,各个fork出去的代码同样可以享受主干的升级。只有Git可以干这样的事。(不过,这需要对代码有强大掌控能力的团队)

同在淘宝工作的拔赤认为:

 淘宝里舍得花时间玩git的人太少了。

虽然淘宝千丫指出:“咱有git的”,但拔赤说:

 嗯,多数人仅仅拿git存代码,真真有些浪费啊,呵呵 对此,淘李福认为: 你说的挺对,不过目前的困难主要还是代码安全的问题,很多工程师想用git,但是没有内部开源就不能自由fork 淘宝玉伯: 如果能推动公司购买 GitHub 企业版就好了,很多问题都可以解决,很多内部平台都可以节省掉。我试着推动过公司去购买,最后集团只搞了个半残的免费的 GitLab …… 企业版不是将代码存放在 GitHub 网站上,而是在内网部署一个 GitHub,代码很安全,就如我们安装 Jira、Confluence 等软件一样。 …… 小团队不用购买企业版,开通私有库就好。目前我自己掏银子给团队买了些私库用,实在不想折腾公司的 SVN。

敲代码的张洋提到:

 我也曾多次吐过这个嘈。不过我这种小啰啰也就是想一下而已。力荐Github企业版啊。

同在淘宝的玄澄的问题是:

 具体可以替代哪些内部平台?

淘李福回复:

 目前 github + trello + travis + puppet + capistrano 可以符合研发过程的全部需求,唯一的缺失环节是联调和系统测试环节的自动化,这块我们正在尝试。

玉伯也指出:

 和程序员相关的平台基本都可以用 GitHub 企业版替代,比如源码管理、文档、QC、CR、CI,甚至发布、管控等都可以。其实我觉得阿里味也可以用 GitHub 企业版替代。

不仅仅是淘宝,豆瓣也有人出现,andyh说:

 豆瓣内部有 code,高仿 Github,今天一周岁。

在知乎上,可以搜索到豆瓣负责技术管理的耿新跃在2012年4月发布的一段话:

 豆瓣在用git,不过历史遗留的东西还在svn里,某些原因导致迁移到git上还有困难(比如我们目前有些地方依赖svn的目录级权限控制),在逐步解决中

另外,我们不单用了git,还用github发布开源项目,内部还买了github enterprise用作日常开发,大家用pull request的方式来实现code review和交流,效果不错。

当然,github enterprise比较贵,我们目前只在部分团队用,同时我们在尝试自己做一个类似的东西,基本上是在trac基础上增加github的功能。

对于陈皓提出的Linux+Git方案,火星前哨站3的看法是:

 要求相当高,不光是代码掌控能力,还包括架构设计能力。

onedear提出一个问题:

 有价值的代码回到主干,这个是否有专门的人来做这个工作?

余肖誉回复:

 一般是权威人做的工作,这个世界,这个工作做得最好的是Linus Torvalds本人。

Row_Li已经认识到了这样做的关键:

 跟咱们很神似,不过咱们没有相关团队掌控代码。最终弄成现在不堪入目。基本不想看那鸟代码第二遍。

@deljuven有同样看法:

 这是个理想的状态,需要许多人一直持续不断的努力~~ 但是觉得能把分支理顺的人实在太少了==说句实在话,我一直觉得我们的分支太少了==

morejam建议:

 这个陈首席应该有经验,搞网络设备的,各种开局,各种新需求各种从主线拉分支。

对此,陈怀临回应:

 这个TOT和Branch的研发代码的问题,是个很复杂的事情 …… branch之间不能做merge。branch出现一定要去“死”。必须保证TOT clean,回TOT要手工sync。

小米科技米聊产品研发经理瞿晋萍认为:

 用Git? 由此造成的多版本问题在快速开发,各个业务组独立发展的情况下会不会得不偿失?还是传统点,基于一个与业务无关的framework/mechanism, 各个业务在上面开发plugin/policy

丸子常在的一句话可作为本文的总结:

 中国和美国软件企业的真正差距之一,软件要拥有优秀的管理设计思想才可以应对未来复杂的业务需求 ,要不然基本上就会这样,越做越复杂,越做质量越差,越做需要的精力越大。

大家都在提GitHub的企业版,不妨让我们看看GitHub企业版都提供哪些功能:

  • 代码审查:其中包括未来风格的代码审查、评论提交、分支分析、对比视图等功能。
  • 团队管理:30秒即可让用户访问代码,不需SSH key,同时提供进度信息主动更新。
  • 工业标准的OVA:OVA是Open Virtualization Format(简称OVF)的一种实现,OVF是一种开放标准,用来定义对虚拟机中运行的虚拟应用和软件进行打包和分发的标准。GitHub Enterprise版本以OVA格式分发,兼容VMware和VirtualBox。
  • 企业级的安全性:通过启用SSL和私有模式,强制整个团队使用最安全的连接。
  • LDAP和CAS集成:GitHub Enterprise版本可以直接集成到支持LDAP和CAS团队管理的基础设施中。

    当然,还有出色的社区支持。

    目前,GitHub企业版的知名用户包括:暴雪、Rackspace和在线交易网站Etsy。

责任编辑:黄丹 来源: infoq
相关推荐

2011-12-12 14:59:11

淘宝开放平台

2011-12-08 13:42:50

2011-12-08 14:26:28

淘宝开放平台

2011-11-04 17:37:23

淘宝无线开放平台移动互联网

2011-12-08 14:08:12

淘宝开放平台

2011-12-13 15:59:17

淘宝开放平台

2011-08-12 10:55:29

客户服务物流平台规划

2009-06-23 09:31:36

淘宝开放平台

2011-12-12 14:48:43

淘宝开放平台

2012-03-07 14:26:59

淘宝无线开放平台

2011-12-12 15:20:05

开放平台

2009-08-27 16:30:10

interface继承

2011-12-19 17:47:28

移动电商淘宝无线开放平台

2016-10-15 14:12:03

APP阿里

2013-05-20 15:45:12

CSS

2011-05-19 15:51:54

测试专家

2010-09-28 15:42:36

DHCP服务故障排除

2010-07-13 15:36:33

2022-05-25 12:07:09

开发单元测试软件

2011-11-02 09:04:15

Node.js
点赞
收藏

51CTO技术栈公众号