嘉宾丨Yunong Xiao
作者丨冉叶兰
随着互联网技术的发展,前端领域的从业人员越来越多,随之而来的还有工程师的成长问题。Yunong Xiao,在互联网领域深耕 12 年,他曾在腾讯、AWS、Netflix 等知名互联网公司,从最开始的工程师到现在的腾讯云中间件总经理。为此我们请到了 Yunong 来聊下,国内外顶尖互联网公司的氛围区别,以及自身快速成长的经验。
InfoQ:首先请向读者介绍一下你自己。
Yunong:大家好,很高兴接受 InfoQ 采访。我是腾讯云中间件总经理 Yunong Xiao,目前主要负责 Serverless、微服务、Middleware 和 DevOps 等多条业务线,同时也兼任中间件团队的首席架构师。在此之前,我是 Netflix 公司 Netflix API Serverless 平台负责人,负责一些架构、微服务、容器技术等相关工作,使之更易于开发人员使用。再早的话,我曾在 AWS 和 Joyent 任职,主要从事分布式系统相关研究和工作,在此期间构建了 AWS IAM 和 Triton Object Storage 等云产品。以上是我的一些职业经历。
InfoQ:你在腾讯云的主要工作是什么?
Yunong:我的团队叫腾讯云中间件团队,中间件(Middleware)是一个比较传统的概念。对于中间件如何理解呢?
云应用的架构主要有三层:最顶层是各种应用业务的应用和服务;最底层是由云提供的各种的底层资源和基础设施;而中间件就是中间的一层。
之所以叫中间件,它的意义就是为了让顶层的应用和服务能够更好的管理、配置和使用底层的云资源和基础设施。
所以,我和我的团队的工作目标就是,为了让云资源更易于开发人员使用,让开发者能够基于 Serverless、微服务、DevOps 等能力,更快、更好、更简单地开发自己的应用程序。
InfoQ:你在中国和美国的知名互联网公司都有工作经验,可以从你的角度介绍一下在中美互联网公司工作的不同经验吗?
Yunong:在公司文化方面,无论是美国硅谷还是中国的公司,都有很好的程序员文化和极客思维。现在国内外的工程师还是有很多交流机会的,比如,各种技术会议也会邀请中外工程师同台演讲。在 Github 上的一些项目中,你可以看到中外程序员都在贡献和讨论。中外文化的差异,并不会对工程师的工作产生较大影响。但是也有一些不同的体验,感觉中国互联网公司,工程师会更加勤奋,在公司的时间也相对比较长。
我发现大家之所以工作时间长,其中一个重要原因,是开发者很大程度上是因为效率问题,或是说工程师需要去关注一些与写代码无关的工作,比如处理服务器的稳定性,或是优化架构。说到这里,我想这也是我带领的团队正在做的事情的价值所在。包括我之前做过的 API 平台,以及目前专注的 Serverless 领域,共同点就是能让开发者更高效、更快速、更低成本的去做开发工作。我也希望 Serverless 能够赋能开发者,从技术角度去解决或者缓解这个问题。
InfoQ:价值观对工程师成长影响很大。比如,腾讯的“正直、进取、合作、创新”,Netflix 的“自由与责任” 的,这些对工程师有何影响?吗?
Yunong:这是一个很好的问题。评价一个优秀的工程师,价值观是很重要的因素。自由和责任也是完全不冲突的,我带领团队时也对价值观有很高的要求。整体来说,我对团队的管理方式是很自由灵活的。举个例子:在我的团队中,工程师可以灵活地安排工作地点和时间,如果工程师觉得咖啡馆更有效率,产出更好,那也是允许的。这是自由的方面,价值观方面我们同样需要达成一个共识,除了公司要求的价值观之外,我对大家也有三点要求:客户第一、平等、协作。这也是我们团队的价值观,大家必须做到。
- 客户第一,就是把客户的需求摆在第一位,一切从客户的角度出发去思考问题。如果一个方案或者产品对客户没有价值,不是从客户的视角考虑的,就不会得到支持和资源。
- 平等,在团队里每个成员都是平等的。在沟通的时候每个成员都拥有相同的话语权,需要靠自己的知识、专业性来说服大家,不会因为职位高,或者工作年限长而获得更多的话语权。
- 协作,个人的力量是极其有限的,每个团队成员都应以开放的心态,去沟通、去协作,只有彼此协作起来,才是真正的 teamwork。
InfoQ:能否根据您的教育和成长经验,和工程师读者朋友们分享一下快速成长的经验?
Yunong:关于工程师的成长经验,这是一个见仁见智的问题。不同背景不同领域的人,可能给出的答案也不同。就我个人观点,工程师快速成长要做好三个方面:
- 认真做好当前自己手里的事情。这是成长之本,工程师最忌惮的就是浮躁。在当前的领域内,长期积累起丰富的知识和足够的经验,是支撑成长的底子。
- 在做好手里本职工作之后,保持对技术的追求和敏感性。并不是说要去盲目地追求新技术,而是要真正思考某个新的技术和方向,到底解决了业务和行业中的什么问题,什么痛点,为什么是值得投入的?只有深入思考,才能准确把握好当前的技术和行业风向,在准确的位置对自己进行技术投资。
- 工程师需要拥有产品思维。工程师不仅需要理解技术,还需要站在用户、产品、市场的角度去思考问题。技术的价值是解决实际问题,只有站在了这个角度,才能更好地理解技术的价值,提升段位。
InfoQ:您以前在 Netflix 负责过大规模的 Node.js 应用,腾讯也有类似的应用吗?
Yunong:我之前负责过 Netflix Serverless API 平台,这是一个规模非常大 Node 应用程序,支撑了 Netflix 很多核心业务。这说明 Node 的能力完全能够支撑起公司的核心业务模块,大家要对 Node 有信心,这一点无论在 Netflix 还是腾讯都得到了证明。比如腾讯公司内部也有一个叫 NGW(Node GateWay)的 Serverless 中台应用,撑起了很多腾讯业务的 BFF 和 SSR,量级也很大,类似案例在其他公司也有。
这些大多都是公司内部的应用案例,我现在专注于云计算 Serverless 方向,是一个 80% 的应用都是基于 Node 的平台。我希望能将我的一些经验和积累,赋能给整个互联网行业,使 Node 能在互联网行业得到更大的应用。
InfoQ:Serverless 是腾讯云的主要发展重点。去年,腾讯云还提出了 Serverless 2.0 的概念。去年以来这方面有什么新变化吗?它们将如何发展?
Yunong:Serverless 2.0 发布之后,我们持续做了如下几个方面的建设,也取得了一些不错的成果:
首先,我们在 2019 年 Q3 和 Serverless.com 公司达成战略合作,共同建设中国的 Serverless 生态。Serverless.com 公司的产品 Serverless Framework 是全球最受欢迎的 Serverless 开发平台,Github 上拥有近 3.5 万的 star。
此外,众所周知在 Serverless 开发领域存在几大痛点,分别是计费体验、开发体验和上下游生态方面。Tencent Serverless 也通过构建 “铁三角” 能力,将开发者在 Serverless 中的痛点逐个击破,让 Serverless 变得更加可用、易用、好用。
- 计费方面:支持毫秒计费能力,和业界的 100ms 粒度计费相比,腾讯 Serverless 独家支持 1ms 级别计费,像水和电一样按需付费。
- 开发体验:Serverless 云端一站式的开发解决方案,提供实时日志、云端调试以及丰富的开发工具支持,极大降低开发者学习门槛。
- 开源生态:建设 Serverless 中文站 /Serverless 中文社区。开源社区共建,也和 Authing 等第三方合作伙伴共建 Serverless 开源生态。
这些新进展也得到了行业的肯定,非常值得一提的是,近期我们在 Forrester New Wave 的 FaaS 领域全球评测中,取得了全球 Top 3 的好成绩,在产品体验、战略视野和安全性方面肯定了腾讯 FaaS 平台的优势。我对腾讯云 Serverless 的未来发展充满信心。
文章转载自公众号:前端之巅
Serverless Framework 免费试用计划
Serverless Framework 免费试用名额已开放,我们诚邀您来试用和体验最便捷的 Serverless 开发和部署方式。包括服务中使用到云函数 SCF、API 网关、对象存储 COS 等产品,均在试用期内提供免费资源,并伴有专业的技术支持,帮助您的业务快速、便捷实现 Serverless !
Serverless Framework 落地 Serverless 架构的全云端开发闭环体验,覆盖编码、运维、调试、部署等开发全生命周期。使用 Serverless Framework 即可在几秒钟内将业务部署至云端。
详情可查阅:https://cloud.tencent.com/document/product/1154/38792
立即使用Serverless,只需三步
Serverless Framework 是构建和运维 Serverless 应用的框架,简单三步,即可通过 Serverless Framework 快速实现服务部署。
1、创建本地应用
- 通过 npm 安装 Serverless
$ npm install -g serverless
- 基于 tencent_nodejs 模板创建 hello_world
$ serverless create --template tencent-nodejs --path my-service
2、安装相关依赖
- 执行 npm install 安装相关依赖
$ cd my-service$ npm install
3. 部署
- 扫描微信二维码一键登录腾讯云账号,部署函数到云端
$ serverless deploy
- 触发云函数
$ serverless invoke -f hello_world
部署完成后,即可在命令行中看到部署情况,也可以在腾讯云控制台看到对应资源。