menu
5 文章
11884 浏览
0 当前访客
ღゝ◡╹)ノ❤️

钉钉的企业级架构:如何用 ToC 架构来服务 ToB 客户?

InfoQ:您认为企业 ToC 业务和 ToB 业务,在 IT 架构上最大的不同是什么?

**杨威:**一般来说 ToC 产品的架构是规模大、高可用高并发的,在云端要做到多地容灾,对网络、服务的质量重视度比较高。而传统企业级的 ToB 产品,其架构大多数都是偏向于实施交付的,从部署的角度看,私有云会更多;从产品角度来看,定制化的特征明显,所以软件和系统架构上可复用的部分会少一点。

如果我们把 ToB 企业级产品以行业特征来划分,特点又不一样。在医疗行业里面,应用架构相对会更偏保守;在金融行业,会关注数据的准确度和高容灾备份等;在一些特定行业里,由于行业特色,IT 架构和环境可能会更加复杂一些。

因此当 ToC 服务的架构为 ToB 的企业提供 SaaS 服务时,不得不面临的一个情况就是:在公有云上有一套软件技术架构,又有一套私有化的、或者混合式的架构提供服务。这时就要去选择:是用一套技术架构方案支持两套系统环境,还是用两套技术架构方案。目前不同的企业和环境下,大家在做不同的选择。

InfoQ:ToC 客户和 ToB 客户在架构上的这些不同,会造成钉钉在为企业级客户提供服务的时候,要重点考虑哪些客观因素?

**杨威:**对于企业级 SaaS 产品来说,高可用性即稳定性和安全性是核心竞争力。你要保证你的产品在千万级、亿级流量带来的高并发下,依旧可以保持稳定性和数据的一致性,数据不会错乱,服务不会中断,这对企业 SaaS 产品的挑战是很大的。同时在任何架构和物理环境下,都要能保障客户的数据安全和隐私。

在系统架构之外,重要的就是端的用户体验。好的产品交互体验,在企业级产品中是非常容易脱颖而出的。要重视到技术细节,比如启动速度,操作是否可以减少一次跳转,比如每一个应用的加载速度能不能在 500 毫秒内完成等。

第三就是高可扩展性。你的产品要能够支持定制化需求,易于面向开发者集成。这些定制化需求并不是通过代码去定制实现的,而是通过 PaaS 化能力,通过开放接口,插件、小程序、移动端动态化开发等技术架构来实现。

这三条就是钉钉在面对企业级提供服务时,为提高客户满意度而非常重视的因素。

InfoQ:钉钉要通过什么方式去满足企业级客户的这些要求呢?

**杨威:**实际上钉钉同时面对的是所有客户——既有中小客户,也有大客户、行业化客户、政务客户。钉钉以服务中小客户为主,他们使用的是标准的产品、标准的钉钉,这是一个非常经典的 ToC 的产品去服务 ToB 市场的场景。在国外,虽然我们和Slack定位并不一样,但 Slack 也是同样用 ToC 的产品在服务 ToB 的市场。

无论对于钉钉还是 Slack,在中小客户之上,对那些中大型、超大型的企业,以及行业化特色非常明显的企业,我们通过分层的技术架构去实现我们的服务。

  • 首先,我们有一个开放平台,提供开放的 API 接口能力,让客户去集成自己的产品,打造差异化的钉钉工作台;

  • 其次,我们提供了一些差异化的产品能力,开放给深度合作伙伴,允许客户去深度定制,包括对 App 进行一些改变;

  • 第三,我们的开放平台应用和一些行业化的解决方案能力,可以直接为客户的业务场景包装出最适合的产品和解决方案。

钉钉的系统架构是追求稳定性和前瞻性的,我们不会有两套技术栈,基础能力和协议是保持一致的。我们是通过分层的开放去支持企业级复杂的定制化诉求。对于细分的行业定制化市场,钉钉并不会自己投入大量的应用开发。钉钉有共创的文化,在成熟的市场,我们会跟熟悉该行业和市场的合作伙伴一起深度合作共创,打造具有行业特色的产品和业务。

InfoQ:钉钉在阿里巴巴经济体内部是什么样的角色和定位?有什么样的技术上的挑战?

**杨威:**钉钉是阿里巴巴内部一个创业文化的团队,我们是从一个很小的创业团队做出了钉钉这样的企业级市场的产品。除了为企业提供服务外,钉钉的 IM 的能力也是一直为集团提供服务。

对钉钉的技术团队和架构来讲,前期主要是发展,扩大规模承载更多的流量和服务。后来随着跟集团融合增多也越来越多的支持集团的服务和业务。包括支持了一些流量非常大的 App,其 IM 技术是承载在钉钉上的。原来我们支持的是一个钉钉的流量和技术,现在我们可能会支持数个原有的钉钉体量的流量,甚至有较大的规模化爆发。所以对我们技术平台的开发同学,面临的挑战也是以前的数倍。

从产品和业务来看,钉钉和集团的融合也是增多很多,比如集团经济体在企业操作系统提的是”一云两端“。所以钉钉会跟阿里巴巴集团产品一起提供综合性的解决方案给客户,比如当我们进入到金融、政府或教育行业的时候,钉钉提供的高效的组织协同能力会作为包括阿里云在内的综合解决方案的一部分为客户提供服务,这也就要求我们在产品上更多的融合。

InfoQ:钉钉的产品特性,促使你们在 IT 架构上会面对什么样的压力和挑战?

**杨威:**首先,企业级市场对安全性要求非常高。C 端产品一般更多关注自己的上下游业务,只要产品不被攻破,安全是可以保障的。但是 B 端产品链路复杂,环境复杂,所以全链路都是要加密的,很多数据是在公有云和企业之间流转的,因此接口的鉴权、加密、访问性控制权限等,要在每个链路上都去控制,如果有一个点没有控制好,可能从这一个点上,数据就可能会被泄露。

实际上很多传统企业级产品并不具备很高的安全性,而钉钉的定位是给企业用户使用的,安全和隐私是最优先考虑的事情,也是产品的生命线。首先,钉钉背后有阿里巴巴数千名工程师的技术保障,阿里巴巴集团整个体系多年的积累确保我们可以面对各种复杂极端的风险考验;其次,我们还引入第三方加密,确保数据只属于客户自己;此外,我们在国际顶级的数据安全认证方面已获“大满贯”。

安全之外,就是稳定性的要求。对于企业级客户来说,业务连续性非常重要。钉钉的核心能力是即时通信,通信必须保障高可用能力,不管是网络变化还是环境不佳,对于客户来讲,任何情况下通讯必须保持畅通。举个例子:当发生异常灾害或者故障的时候,通信要必须可用,否则连故障通知都收不到,消息都不知道发给谁,何谈去做故障响应呢?

除了自身业务稳定之外,钉钉上的应用工作台很多是企业自建的,但是如果它一旦不可用,用户的体验还是受损了,投诉也有可能投到钉钉这里,这个挑战对我们来讲也是比较大的,因为它并不是我们自己的服务。但钉钉必须在这样的背景下,本着客户第一的价值观,去做好系统稳定性的工作,给客户提供工业级的高可用性的稳定持续的产品体验。

InfoQ:我们知道阿里巴巴的中台做得很好,钉钉有自己的中台吗?您怎么看待中台战略?

**杨威:**中台是本次架构师大会的热门话题,阿里有非常多优秀的中台产品,这个概念对架构师来讲是非常好的事情,机会和挑战越多,架构师们越应该拥抱中台。但是对于企业的业务决策层来讲,要辩证和谨慎的去看待这个话题——中台战略实际上是 CTO 的战略,是企业的战略决策,而不是一个架构设计问题。

在没有施行中台战略的公司里面,系统架构师、业务架构师或者是业务负责人,也要敏锐的捕捉和感知中台概念,主动的把自己的能力和产品向前去服务。

钉钉不是属于中台体系的,我们是面相客户的产品,我们会集成阿里巴巴的中台产品。对钉钉自己的开发团队来讲,我们有些团队也是偏后台或者是偏平台性的技术团队。我们会提这样的要求,用服务型心态支撑业务,并不是我坐在这里,等着你给我提需求。而是说我们要深入到业务里,去看我们要支持和服务的业务它的业务和战略优先级。架构师要全部了解业务,然后要把手上的资源去搭配、配比之后,用向前一步的架构设计能力和对产品业务的理解去服务好业务。

阿里巴巴的中台团队也都是非常前的进到业务里的,比如钉钉所使用的很多产品,中台的业务团队,很多时候是坐在钉钉这边的,跟我们一起来做产品服务的。一起保障钉钉有极致的产品体验和稳定安全的服务。

嘉宾介绍:

杨威,阿里巴巴资深技术专家,花名威立,钉钉技术稳定性负责人,大客户和行业化产品技术负责人。1998 年进入北京邮电大学。2007 年起加入三星通信研究院从事智能手机的研发工作,融合通信技术首席专家。后参与云服务平台创业。2017 年加入阿里巴巴钉钉。


标题:钉钉的企业级架构:如何用 ToC 架构来服务 ToB 客户?
作者:htc10
地址:https://www.mmcat.cn/articles/2019/07/24/1563935501482.html