「如何实现流动式软件发布」线上课堂开课啦,快来报名参与课堂抽奖吧~ 了解详情
写点什么

技术的角度,业务的角度,人的角度

2013 年 8 月 03 日

在 2013 年 7 月的阿里技术嘉年华上,来自阿里巴巴的刘昊旻(伯昊)和侯前明(林轩)介绍了为第三方代码提供托管平台的 TAE。TAE 是建立在淘宝私有云 T4 基础上的一个第三方代码托管平台,是一个 PaaS,发端于店铺系统,现在应用于淘宝 U 站,淘宝 TMS,天猫品牌站等。

我最近在整理 ADC 上对伯昊和林轩的采访实录,最近采访实录已经整理完毕,经过两位的确认,已经准备发布。今天的微信内容选择了本次采访的一些相关内容分享给大家,主要讲的是 TAE 是如何起源的,以及它在发展过程中经历的不同阶段。里面反映出一些很有意思的观念,尤其是对技术、业务与人这三个层面的思考。

InfoQ:TAE 是什么时候开始做的?经历过哪些发展阶段?

林轩:TAE 是从 11 年 7 月底以后发起,当时最初的需求是来自旺铺的装修市场。淘宝的店铺有个装修市场,当时装修市场的功能是允许第三方设计师通过 PHP、HTML5、CSS 来为卖家的店铺提供美化和渲染,主要是一些偏前端的展现的问题。

到后期我们有 Java 的需求慢慢浮现出来的时候,就开始做 Java 这块系统层面的安全。因为围绕托管,Java 代码、系统和容器本身都是 Java 的,这样容器的代码和第三方代码是同质的,它一旦通突破 Java 这个沙箱之后,那它和系统代码是同一水平的,具有完全相同的权限。这个一定要通过系统层面来解决。

(从技术的层面,)大致可以分为这么两个阶段:一个前期的 PHP 容器阶段,后期的 Java 容器的阶段。

伯昊:我从另外一个侧面补充一下,就是从人的层面。这个项目刚开始还是声势浩大的,不少牛人在里边的,后来因为业务还不明朗,资源投入减小了很多。

林轩:这个跟淘宝的业务有关系。在淘宝内部,很多项目的特点就是一定要有业务场景、有需求才会投资源去做。在业务需求不是很明朗、或者不是很急迫的时候,就没有更多的资源投入进来。

伯昊:从这个角度来讲,第一个阶段差不多是从 11 年初到大概 12 年年中的时候,这个阶段主要是打基础,做了很多重要的事情。

然后就进入了第二个阶段。12 年下半年的时候,我们有一个业务终于进来了,是淘宝 UZ,UZ.taobao.com,它的业务是把第三方的开发者引入进来,让他们在淘宝提供的环境上开发,包括使用淘宝的域名等,在店铺业务服务的帮助之下,让他们在去建导购网站。这个业务进来之后,我们就有更多的人加入。这段时间我们做了很多工作,第一个是产品化,第二个是把我们整个 PaaS 的运维、弹性这套东西给做起来。这是真正能够让 PaaS 运转起来的、底层的基础支撑系统。

从第二个阶段开始,我们逐渐发现,我们的定位实际上就是去支持淘宝的开放。

淘宝的开放有个特点:需要受控的开放。这些开放肯定都是插入到淘宝整个体系当中去的,比如说店铺里面有模块,UZ 里边有别人写的网站,但是他们都是共同在淘宝或者天猫这样的域名之下。受控的开放有几个点,一个是要保护浏览淘宝网站的用户,保护他们的体验和安全;第二是要保护这些开发者们的数据和安全,不要因为他们经验不够导致他们的数据经常被干掉;第三是要确保淘宝自己的数据安全。

从淘宝业务线的发展可以看到这种特点。比如淘宝最开始做 TOP,后来我们弄了聚石塔,把第三方的程序拿到淘宝的机房去运行。但是还不够,因为他拿到你的机器后还是可以做很多东西。第三步就是我们推出的 PaaS 这样的一些产品,希望能够把第三方应用程序的生命周期都接管过来。接管过来之后,第一是为他们提供更多的服务,第二个是可以做更多的控制。

所以说到 TAE 分几个阶段,我觉得是三个。第一阶段是实验室,通过一些非常重要的实验对重要基础点进行验证和突破;第二阶段是产品化。我们现在属于第三个阶段:发展期。我们认识到自己的定位之后,现在就打着这个旗号在集团内部到处去接业务。

InfoQ:TAE 开发过程中遇到过什么难点?不一定是技术方面的,也可以包括一些业务调度方面的。

林轩:安全肯定是最难的。

(技术细节略)

伯昊:非技术上的难点,就是在推广。

林轩:从业务线做平台性的产品,有优势也有劣势。优势是,做出来如果有合适的业务产品马上可以落地,马上就会有大量业务过来,平台可以不断的成熟,成长会很快。但是劣势也是这个:如果没有业务,就没有资源投入。

伯昊:没有资源投入,就很难进行快速的技术积累。这个是比较矛盾的,有时候就是鸡生蛋,蛋生鸡的问题,这个很痛苦。所以,就看你能不能坚持了。

2013 年 8 月 03 日 04:12454

评论

发布
暂无评论
发现更多内容

为什么泡泡玛特是一个好生意

lidaobing

28天写作 泡泡玛特

基于网络开放可编程技术构建新一代网络设备运管平台

华为云开发者社区

运维 网络 运维自动化 金融

【JS】防止浏览器控制台被直接查看(2)

学习委员

JavaScript chrome 前端 js 28天写作

代码编译时自动完成白盒测试,这真的可以

华为云开发者社区

c++ 测试 代码 框架

技术人小故事-团队愿景篇-第4段

Ian哥

28天写作

微服务该如何拆分?

xcbeyond

微服务 方法论 微服务拆分 架构设计原则 28天写作

距离Java开发者玩转 Serverless,到底还有多远?

博文视点Broadview

做视频最大的困难是什么?为什么要保持日更? | 视频号 28 天 (05)

赵新龙

28天写作

SpringCloud 从入门到精通 07--- 订单服务和支付服务注册进Eureka

Felix

我是如何在短期内快速掌握Dubbo的原理和源码的(纯干货)?

冰河

分布式 微服务 dubbo 系统架构 服务治理

生产环境全链路压测建设历程 27:FAQ 之 业务模型相关

数列科技杨德华

28天写作

Java 源代码解析 | 集合类 | Set

肥鱼先生

SpringCloud 从入门到精通 06--- Eureka服务端

Felix

新官上任,如何开始你的管理工作(下)

一笑

团队管理 管理 28天写作

kafka如何做到无消息丢失配置

topsion

kafka 消息不丢失

Java单例7种测试实践

叫练

单例模式 单例 手写单例 饿汉式 懒汉式

影响DevOps和DevSecOps采用的7种趋势

啸天

安全 DevSecOps 应用安全

HDFS SHELL详解(5)

罗小龙

hadoop 28天写作 hdfs shell

Elasticsearch 核心概念

escray

elasticsearch elastic 28天写作 死磕Elasticsearch 60天通过Elastic认证考试

这5个让人窒息的烂代码,你看完都忍不了

华为云开发者社区

GitHub 代码 代码注释 null

Python解释器和IPython

程序那些事

Python 数据分析 ipython 程序那些事 Python解释器

技术干货!HDFS读写原理和代码简单实现

华为云开发者社区

hadoop hdfs 架构 MRS 元数据

智联招聘的微前端落地实践——Widget

智联大前端

前端 前端架构 前端框架 微前端

28天瞎写的第二百一五天:为了看片儿折腾 Linux 的故事

树上

28天写作

Java 源代码解析 | 集合类 | LinkedList

肥鱼先生

没有调查,就没有发言权 Jan 12, 2021

王泰

28天写作

作为社畜,如何做好精力管理

熊斌

精力管理 28天写作

在时间的缝隙里打了个盹「幻想短篇 4/28」

道伟

28天写作

hive JOIN操作分析

梧桐

智能合约APP开发|智能合约系统软件开发

开發I852946OIIO

系统开发

Dubbo 就是靠它崭露头角!

yes

dubbo 后端 RPC

技术的角度,业务的角度,人的角度-InfoQ