【技术领导力】专访特赞CTO黄勇:微服务在互联网系统中如何实施?

Screen Shot 2018-01-24 at 11.56.56 AM

黄勇,现任特赞科技CTO,曾任阿里巴巴公司系统架构师。具有丰富的互联网产品架构经验与技术管理经验,擅长敏捷开发模式,推崇“轻量级”系统架构。国内开源软件推动者之一,活跃于国内知名技术社区,Smart 开源框架创始人,畅销书《架构探险》作者,技术大会讲师,企业内训师。热爱技术交流,乐于分享自己的成长经验。

 

技术领导力:请先自我介绍下,目前所在公司以及所负责的领域。

黄勇:大家好!我是黄勇,目前担任特赞(tezign.com)CTO,负责技术团队管理与技术战略规划等工作。

特赞是一家利用大数据与人工智能技术为企业精确对接设计创意人才的科技公司,目前开放平面、UI/UX、插画、动画/视频等设计领域,积累了来自16个国家、74个城市的10000+位优秀设计师,服务了4000+企业客户。特赞重新定义未来企业和创意人的合作方式,让天下没有难做的设计。因此,特赞(Tezign)的形成来自于技术(Technology)与设计(Design)相结合。

Screen Shot 2018-01-24 at 11.57.07 AM

技术领导力:说一说特赞的业务场景,以及特赞为用户提供了哪些商业价值?

黄勇:我们特赞面向两类用户,一类是企业需求方,另一类是设计服务方。特赞为这两类用户提供了一个交易平台,让用户能在该平台上顺利完成项目需求。涉及到项目的发布、推送、报价、对接、支付、交付、评价等环节,同时也为整个工作流提供了法务、财务、税务等管理工具。

我们认为传统设计创意行业的供需双方对信息的理解是极其不对称的,我们希望能提供一个简单而高效的平台,当企业客户有设计创意类需求时,可以来到特赞,我们将以最快的速度为企业客户对接最优质的创意人才,也能为不同种类的创意人才提供更好的且更加专业的自由职业者平台。在这个过程中,精准对接显得尤为重要,我们打造的就是这样的技术型产品,使用了大数据与人工智能技术让这个过程变得更加标准化。

技术领导力:据我了解,您的职业生涯十分丰富,曾在易传媒、阿里巴巴等公司担任架构师,一路走来有没有重要的里程碑和转折点?

黄勇:在最近几年的职业生涯中,我经历了一次里程碑。2013年,我开始做开源项目,当时在“开源中国”网站上发布了自己第一款开源软件,名字叫SmartFramework,它是一款轻量级的Java Web框架,该框架借鉴了Struts、Spring、Hibernate等优秀开源框架的设计思想,进而打造了一款更加简单易用的开发框架。因此,我也在开源社区中认识了许多优秀的同行们,扩展了自己的人脉,同时也丰富了自己的专业技能。

技术领导力:您是位畅销书作者,先后出版了《架构探险:从零开始写Java Web框架》、《架构探险:轻量级微服务架构》(上/下册),怎么会想到写书?写作期间有没有难忘的人或事?

黄勇:正因为自己做了开源,专业技能得到了提升,也产生了一些知识体系的积累,我希望能将这些积累记录下来。随后,我就开始写技术博客,而且博客与开源几乎是同步进行的,我发现这两件事情结合起来可以发挥更大的价值,尤其帮助到那些希望在专业技能上得到提升的技术爱好者们。

2015年,电子工业出版社博文视点编辑部的陈晓猛老师找到了我,并邀请我写一本关于Java Web框架的书,不自信的我还是勉强答应了,从此就开启一段写书的历程。我希望自己能写一本对架构爱好者们有帮助的书,就将这本书命名为《架构探险:从零开始写Java Web框架》,我认为做架构就像探险一样,一步步去探索技术中未知的世界,让自己乐在其中,其乐无穷。

Screen Shot 2018-01-24 at 11.57.25 AM

同年,我离开阿里,加入特赞,接手了一支优秀的技术团队,自己也开始在技术上得到了更多的积累,尤其在微服务方面,我们团队有着非常深入的理解。我结合团队们的宝贵经验,继续写作了一本叫做《架构探险:轻量级微服务架构》的书(分为上下两册),我们认为微服务架构的未来一定会向着更加轻量级的路线去发展,并不断拥抱开源技术,而不是依附在特定的技术体系或厂商上。

Screen Shot 2018-01-24 at 11.57.30 AM

技术领导力:作为微服务架构的倡导者,请谈一谈,在大型网站应用当中,实施微服务架构都有哪些步骤?会遇到哪些问题,以及如何解决?

黄勇:我们实施微服务架构之前,首先会对整个研发团队进行合理的人员结构定义,确保前端、后端、测试、运维、架构等职能团队,并为每个团队定义相应的职责划分。随后即可通过以下四个步骤来实施微服务架构:

第一步,对现有业务进行全面梳理,确保业务清晰可见,务必确保核心流程具备文档化输出;

第二步,我们针对这些已经梳理的业务,进行服务切分,并定义每个服务对外所能提供的接口,此外还包括服务之间的依赖关系;

第三步,将搭建微服务基础设施,确保所有服务在发布过程中能做到自动化,在运行过程中能做到高可用,此时会借助许多开源技术(书中都有涉及);

第四步,逐步迭代现有微服务架构,并不断完善基础设施。

其中需要注意的是,在服务切分阶段,我们不要一开始将服务切分得足够细粒度,而要让服务边界尽可能清晰,最好不要有太多的耦合。随着微服务架构不断迭代,我们可将服务颗粒度进行细化。千万不要被微服务的“微”所误导,实际上“微”象征着“合理”,我们永远追求的是合理的服务切分方式。

技术领导力: 您认为作为一名称职的CTO,应该具备哪些基本素质?

黄勇:我曾经有一个错误的认识,以为CTO就是技术方面最牛的人,曾经也一直觉得这座“山峰”很难攀登,没有十多年的技术积累是绝对做不到的,最后我才理解到,其实真正的CTO并非如此。

CTO一方面需要具备一定的技术功底(硬技能),另一方面还需要较强的团队领导能力(软技能)。CTO应该是技术团队的灵魂人物,大家喜欢和他在一起工作,能够跟他学到更多对自己有价值的东西。因此,我认为CTO需要具备一些基本的素质:

1.    正直诚实的道德修养

2.    谦虚谨慎的工作态度

3.    随机应变的处事风格

4.    统领全局的战略思维

作为技术团队的领袖,CTO必须是一位正直的人,他有原则、有情怀、有态度,但绝不死板,而是非常灵活,懂得根据外界条件而随机应变,能够围绕公司业务发展趋势,以更高的层面,更全局的视角,为公司制定最合理的技术发展路线,并不断帮助队员们在这条路线上得到成长,实现自己的个人价值。

以上四点CTO基本素质也是对我自己的要求,需要不断努力才能达到,与君共勉。

 

 



特赞

发表评论

电子邮件地址不会被公开。