9月7日-8日,相约 2023 腾讯全球数字生态大会!聚焦产业未来发展新趋势! 了解详情
写点什么

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

  • 2019-07-23
  • 本文字数:3463 字

    阅读完需:约 11 分钟

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

能够用 ToC 架构来服务 ToB 客户的 SaaS 产品,远有 Slack,近有钉钉。这样的产品,其 IT 架构是什么样?相信很多人都很好奇。而且更有意思的是,为什么这样的 IT 架构,既能满足消费级市场规模大、高可用高并发的特点,还能满足企业级市场实施交付、私有云部署、定制化开发的要求呢?InfoQ 记者近日在 ArchSummit 全球架构师峰会(深圳站)2019 现场,采访了阿里巴巴资深技术专家杨威,他也是钉钉技术稳定性、企业服务事业部产品技术的负责人。从钉钉怎么去服务企业级客户、怎么让自身的 IT 架构满足客户需求、怎么看待中台战略等角度,杨威为我们一一进行解答。

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 年加入阿里巴巴钉钉。


活动推荐:

2023年9月3-5日,「QCon全球软件开发大会·北京站」 将在北京•富力万丽酒店举办。此次大会以「启航·AIGC软件工程变革」为主题,策划了大前端融合提效、大模型应用落地、面向 AI 的存储、AIGC 浪潮下的研发效能提升、LLMOps、异构算力、微服务架构治理、业务安全技术、构建未来软件的编程语言、FinOps 等近30个精彩专题。咨询购票可联系票务经理 18514549229(微信同手机号)。

2019-07-23 10:097622
用户头像
张晓楠 InfoQ总编辑

发布了 144 篇内容, 共 89.8 次阅读, 收获喜欢 378 次。

关注

评论 2 条评论

发布
用户头像
感觉文不对题
2019-08-07 18:50
回复
用户头像
对于互联网企业来说,其实做To B还是相对容易一些的。最优势的一点是在于产品的用户体验上面,这是互联网企业相对传统企业来说最大的护城河。
2019-07-24 09:16
回复
没有更多了
发现更多内容

Python代码阅读(第56篇):获取列表的前n个最大/最小值

Felix

Python 编程 列表 阅读代码 Python初学者

【SpringMVC笔记】Ajax 入门,linux编程基础李养群课后答案

Java 程序员 后端

恒源云(GPUSHARE)_云GPU服务器如何使用Conda?

恒源云

深度学习

堪称神级的阿里巴巴“高并发”教程《基础+实战+源码+面试+架构》

Java 编程 程序员 高并发

彻底说透简单工厂那些你没有关注过的细节

Tom弹架构

Java 架构 设计模式

纳尼?华为首席架构师只用434页笔记,就将网络协议给拿下了

编程 程序员 面试 网络协议

电脑数据恢复用哪款软件比较好

淋雨

EasyRecovery

架构实战营-模块三作业

无名

架构实战营 「架构实战营」

❤️这应该是Postman最详细的中文使用教程了❤️(新手使用,简单明了)

六十七点五

软件测试 性能测试 Postman 自动化测试 接口测试

【SpringMVC 笔记】Json 交互处理(1),面试官都被搞懵了

Java 程序员 后端

[架构实战营] 模块三作业

张祥

架构实战营

还在刷面试题?NO!这份阿里内网Java面试通关手册才是你急需的

Java spring 面试 JVM mybatis

网络篇夺命连环12问

冇先生

外包学生管理系统架构文档

Steven

架构实战营

基于SVDD算法的半监督风控模型

索信达控股

算法 风控模型 半督导算法

Kafka 3.0 重磅发布,来看下值得关注的新功能

大数据技术指南

kafka 11月日更

【SpringMVC笔记】拦截器 ,java设计模式及实践百度云

Java 程序员 后端

千万不要小瞧复杂度分析,代码详解复杂度的重要性

小Q

Java Python 学习 数据结构 算法

安全漏洞之经典上传漏洞

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 安全漏洞

专题|防宕机,Pulsar 跨机房复制了解一下?

Apache Pulsar

云原生 中间件 Apache Pulsar 消息系统 防宕机 跨地域复制

IM开发基础知识补课(十):大型IM系统有多难?万字长文,搞懂异地多活!

JackJiang

架构设计 即时通讯 灾备 IM 异地多活

视频通信关键技术探索及实践

网易云信

音视频 通信云

【SpringMVC 笔记】Json 交互处理,顺丰java社招面试

Java 程序员 后端

以闭包方式实现一个Controller层打印日志的切面

LSJ

aop 闭包 切面

前端Node.js面试题

CRMEB

Aeron是如何实现的?—— Conductor

BUG侦探

Aeron Conductor

HTTP与HTTPS,HTTPS更加安全。

喀拉峻

网络安全 安全 信息安全 HTTP

腾讯AI专家整理最全Python学习体系(视频+源码+案例+路线)

小Q

Python AI 面试 爬虫

详细架构设计文档模板(笔记)

张祥

智能的统一哲学

木铎

人工智能 机器学习 智能

今天面了个腾讯拿38K出来的大佬,让我见识到了基础的天花板

收到请回复

Java 程序员 后端

  • 扫码添加小助手
    领取最新资料包
钉钉的企业级架构:如何用ToC架构来服务ToB客户?_文化 & 方法_张晓楠_InfoQ精选文章