当前位置: 首页 > news >正文

专访腾讯云沙开波:从无到有,打造全球领先调度系统

\\

“以前每个周末都去跑跑步、打打球,现在回家就是接接小孩,随着年龄的增长,很多爱好都丢了。”

\\\\

沙开波——腾讯云计算产品总监,从一名基础架构组的程序员,到如今腾讯云计算产品总监,这已是他在腾讯的第9个年头。

\\\\

在腾讯云内部,他是著名的腾讯云大规模调度系统VStation的技术负责人,同事们喜欢称他“老沙”。

\\

d8806d2433e8ab962122ebaa6182265d.png

\\

VStation是腾讯云自主研发的革命性虚拟化平台,承载了腾讯云 CVM 后台的整体集群管理与系统调度。VStation为腾讯云 CVM 业务的爆发式增长提供了坚实的技术基础,目前,单集群可以调度10万台计算机。

\\\\

时间回到2009年,初入腾讯的沙开波,就职于腾讯B2(Business2)研发部的基础架构组,也就是大家熟知的QQ空间、QQ会员、Q钻等业务基础架构组的一位程序员。沙开波表示:“2009年5月份来到腾讯,那个时候还没有腾讯云这个业务。”

\\\\

“我还是比较偏技术的,自己对技术这块也比较感兴趣,当一个技术难点被解决后,成就感会瞬间爆表,我觉得每个做技术的应该都有这样的感觉。”

\\

从2009年对云尝试,到2011年正式投入,再到2013年正式开放,最后到今天的成果,沙开波是腾讯云成长的见证人,而伴随腾讯战略、腾讯云逐渐走向成熟,沙开波也逐渐从技术走向了管理。

\\\\

自从他从技术走向管理,更大的精力是需要放在业务规划、整体技术架构、以及人才梯队建设、执行效率等上面。“虽然现在已经很少写代码,但是我并不担心淘汰或者落伍,最起码,现在同事问我一些技术层面问题,我还能解决,”老沙笑着说。

\\\\

5千节点是一道坎,10万节点的技术难度可想而知

\\\\

从技术转向管理,沙开波并不认为这是他技术人生的转折点。然而,当一个“吹毛求疵”的“技术宅”走上管理岗,会擦出什么样的火花?腾讯云分布式调度系统VStation的成绩足以说明。

\\\\

 “我们研究了国内外主要的大规模调度系统,不要说单集群10万,就是几千节点,一般的调度系统都很容易出现问题。”

\\\\

大家熟悉的OpenStack项目就是如此。要管理10万级别的计算机这样大规模的调度系统,国内外没有任何已有的系统和资料可以参考。对于腾讯云来说,只有从零开始,而且要做就做到最好。

\\\\

技术上,5000节点是一道大的门槛, 业界知名的Google、Amazon云平台都遇到过大规模停机的事情,很多问题你是无法预料到的。只有经历大规模部署,有些问题才会出现,所以背后的技术难度可想而知。

\\\\

“从开始决定做这个系统之后,我们就从各个技术小组抽调了10来个人,联合攻坚。前后1-2个月时间,就把系统做出来了,这个系统背后的每一条代码都是我们自己从无到有开发出来的。”沙开波介绍说。

\\\\

“我的个性是这样的,只要有一个事情放在那个地方没有解决的话,就会白天想、晚上想。”按照沙开波的描述,出身技术的他本身就是一个技术狂,或者说是工作狂。通常情况下,一个任务布置下来,两个星期交付都没有问题,但沙开波却一定要尽可能两天把它搞出来,然后留更多的时间去完善。

\\\\

“我们的目标是5秒创建虚拟机”,VStation再进化

\\\\

腾讯云分布式调度系统VStation通过消息压缩、镜像缓存、快照回滚等系列优化实践,实现了生产吞吐率从数百台 /分钟到数万台 /分钟、平均创建时间由 300秒下降到 30秒以下的惊人蜕变。

\\\\

在谈到VStation升级问题时,沙开波非常兴奋,并表示腾讯云内部的目标“希望虚拟机在5秒到10秒之间就可以创建出来,并希望通过软硬结合的方式,降低虚拟化带来性能损耗的问题。”

\\\\

从30秒降到10秒以内,对于技术来说又是一次质的飞跃。沙开波深知,这个计划如果完成,对于整个腾讯云技术来说,将是又一次洗礼,但是这个没有退路。

\\\\

创建速度快,意味着用户体验更好。站在用户的立场,如果能够快速的帮助企业创建出来,这不仅仅是时间的问题,更多的是对用户业务上的帮助。“我们在团队里一直强调,我们做弹性计算,首先计算要能弹,能快速地去交付给用户,如果创建一个机器需要几分钟,一个小时才能拿到的话,这不叫云计算!”

\\\\

关于创建速度的问题,沙开波直言不讳:“从目前来看,我们的创建速度非常有竞争力,即便和国内外更早布局云计算的公有云厂商对比,我们也有足够的自信。”

\\\\

另外,云计算最开始考虑的是如何把计算或网络跟物理机解耦,其中虚拟化技术起到了关键的作用。但不可否认,云变成一个基础设施的时候,虚拟化虽占尽优势,但却增加了性能上的损耗,其中包括网络、存储等等。

\\\\

而在采访中,沙开波也表示这也是腾讯云所关注的问题。“我们正在做一些软硬结合的工作,来降低虚拟化带来性能损耗的问题,不论是网络还是存储,我们最终目标还是弹性的计算,希望用户可以按需获得媲美物理计算资源的弹性云计算资源。”

\\\\

用户是最好的“裁判员”,“靠近”才能明晰方向

\\\\

2015年,马化腾在给合作伙伴的一封信中提到:“一切以用户价值为依归,自始至终,用户、员工都是我们的两条生命线。”

\\\\

而在沙开波的眼中,用户才是最好的“裁判员”,所有的技术升级和突破,归根结底就是要让技术普惠化,让技术为人所用。

\\\\

不可否认的一条市场定律,“需求才是生产力”。或许正是沙开波想法的诠释。据了解,腾讯云产品的优先级是基于客户的需求来的,很多产品和技术都是来自于客户实际的想法以及真实的诉求。

\\\\

另外,基于“以用户价值为依归”的理念,沙开波也正在带领团队走近用户。“今年从上到下希望离用户更近一点,也多跟客户去聊,了解客户的诉求和需求”。他透露这是2018年重点要去改变的方向。

\\\\

正如沙开波口中“裁判员”的说法,一个产品团队产品做得好和不好,客户的评价往往是最中肯、实用的。在谈及工作中遇到的问题、以及如何解决问题的时候,沙开波描述了他们解决问题的思路。

\\\\

“先去帮助客户去解决问题,虚心接受客户的吐槽,之后再优化产品。”

\\\\

以这样的工作理念,沙开波在腾讯已经走过了9年的时间。目前,在沙开波眼中腾讯云还在不断“闯关升级”,但可以肯定的是,未来在千万个具备匠人精神的“沙开波”努力下,腾讯云将会更茁壮,为用户带来更多的价值。

相关文章:

  • 巨杉数据库:金融级数据库未来方向
  • Python之md5.update才过的哪些坑
  • IIS7/7.5/8如何实现访问HTTP跳转到HTTPS访问
  • overflow问题--滚动设置?
  • Apache Curator操作zookeeper的API使用
  • AutoEx应用崩溃自动匹配Stack Overflow的解答
  • Hessian入门
  • node常用模块---path
  • JPA的配置文件
  • 简单了解JS中的几种遍历
  • Go语言中的反射机制reflect
  • 面试题:servlet jsp cook session 背1
  • linux下安装redis扩展
  • 总结:设计模式之Template Method模式
  • 深入浅出以太坊智能合约
  • [译]如何构建服务器端web组件,为何要构建?
  • gulp 教程
  • iOS 系统授权开发
  • JavaScript标准库系列——Math对象和Date对象(二)
  • MaxCompute访问TableStore(OTS) 数据
  • OSS Web直传 (文件图片)
  • React 快速上手 - 06 容器组件、展示组件、操作组件
  • 搞机器学习要哪些技能
  • 基于遗传算法的优化问题求解
  • 开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
  • 前端学习笔记之原型——一张图说明`prototype`和`__proto__`的区别
  • 如何借助 NoSQL 提高 JPA 应用性能
  • 项目实战-Api的解决方案
  • MiKTeX could not find the script engine ‘perl.exe‘ which is required to execute ‘latexmk‘.
  • Python 之网络式编程
  • ​​​​​​​Installing ROS on the Raspberry Pi
  • ​LeetCode解法汇总1410. HTML 实体解析器
  • ​软考-高级-系统架构设计师教程(清华第2版)【第20章 系统架构设计师论文写作要点(P717~728)-思维导图】​
  • ###项目技术发展史
  • (三)模仿学习-Action数据的模仿
  • (一)pytest自动化测试框架之生成测试报告(mac系统)
  • (转载)虚函数剖析
  • .axf 转化 .bin文件 的方法
  • .bashrc在哪里,alias妙用
  • .form文件_SSM框架文件上传篇
  • .NET Core 2.1路线图
  • .NET Framework 4.6.2改进了WPF和安全性
  • .Net 应用中使用dot trace进行性能诊断
  • .Net程序帮助文档制作
  • /usr/lib/mysql/plugin权限_给数据库增加密码策略遇到的权限问题
  • @value 静态变量_Python彻底搞懂:变量、对象、赋值、引用、拷贝
  • [<MySQL优化总结>]
  • [100天算法】-x 的平方根(day 61)
  • [1525]字符统计2 (哈希)SDUT
  • [C#基础知识]专题十三:全面解析对象集合初始化器、匿名类型和隐式类型
  • [C++] sqlite3_get_table 的使用
  • [Docker]十.Docker Swarm讲解
  • [Electron]ipcMain.on和ipcMain.handle的区别
  • [FTP]pureftp部署和优化
  • [Kubernetes]8. K8s使用Helm部署mysql集群(主从数据库集群)