编者按:2021 年10 月20 日,在2021 云栖大会·云计算产业升级峰会上,阿里云“因云而生”云原生心智大图正式发布,包含弹性计算、云网络、基础产品、基础设施、操作系统、云安全、开放平台等7个 IaaS 领域,以及云原生应用平台、数据库、大数据&AI、智能loT、云效平台、企业服务云、视频云、钉钉等8个 PaaS & SaaS 领域的阿里云核心技术逐一亮相,具体产品解读内容将在「凌云时刻」进行系列发布。本文根据时任阿里巴巴钉钉副总裁、钉钉技术委员会主席强琦的现场分享整理而成。
经过7年的快速发展,目前有5亿用户、1900万的组织和企业在钉钉进行沟通和协同。 钉钉作为一个移动办公平台,有非常强的企业业务特点,例如企业对数据的敏感性安全性,以及对数据权属管控的定义和要求是不一样的。钉钉作为一个办公工具,在业界来说对端的要求是最全的(七端),因为大家的工作需要同时使用各种移动端(iOS, Android)、PC端(Windows, Mac, Linux)、Web端,甚至是物联设备端(RTOS),这些都是钉钉要去支持的。
应该说钉钉是现在业界支持端最全的办公工具,如何保证端到端研发的效率和一致的用户体验,是钉钉技术团队需要解决的重要问题。
今天论坛前面分享的同事也介绍到了疫情期间钉钉面临的脉冲流量,其实不仅仅是面对疫情,钉钉日常的流量也是脉冲式的,比如在周末流量相对是比较低的,但是在工作时间数据是高峰。
钉钉业务的波峰和波谷相差非常大,所以面临很重要的问题是说我们必须要做很好的弹性。我们在疫情期间几百倍扩容需要云的弹性。这一切都源自于云原生的加持,很难想象不在云上的话钉钉如何坚持、如何克服疫情流量的冲击。 刚才也讲到了钉钉面临最全端的技术挑战。钉钉其实从最开始2014年就自研了端到端的运行时和开发框架,业务的同学只要一次接口定义就可以codegen出来各个端所有的接口服务代码,而且业务研发同学无需考虑移动端特有的复杂网络处理问题,比如说我们拿着手机,在Wi-Fi和4G数据网络之间切换,可能大家感知不到这些频繁的网络变化;再比如说坐高铁进出山洞等网络抖动等,所有的问题都会对业务研发的同学透明化。
我们会在比较关键的场景,例如视频会议、电话会议过程中,端到云端建立多个连接,当然我们也会同时利用长短连接、多连接、多通道,采用激进策略使用最快回包,云端会将多余请求取消。
当然还有很多,诸如灰度、端到端的反压自适应流控制、多版本等不需要业务去考虑。这些都是应用层协议,我们完全可以嫁接在不同网络层的协议之上。我们也支持了使用最广泛的两种IP网络通讯的标准,对于业务的研发不需要考虑这些协议,钉钉SDK可以很方便地运行在支持标准网络协议的任何办公设备上。
在弹性方面,钉钉本身业务具备很强的规律性,比如每天早中晚上下班高峰、工作日和周末等。钉钉从一开始坚持的原则就是水平扩展性大于一切。从最开始分布式系统的设计到异地多活,钉钉一开始就是按照更高起点的异地多活来设计。当然我们要求的扩展性需要有一个平衡,那就是我们所有的应用设计都尽量按照无状态原则去设计,以此来换极致的弹性。在疫情之后,我们也发现业务的冲击大大超出预期,所以我们也在积极地尝试自动扩缩容,它可以根据系统metric表现来进行分钟级自动操作。
前阿里巴巴钉钉副总裁 强琦
不同企业、不同公司对数据的权属、敏感性是不一样的,除了强大的标准钉功能之外,企业可以根据需求选择不同的权益包和服务支持,我们也提供了专业钉。此外,钉钉还提供了独立打包的产品,企业可以进行更灵活的定制,甚至是端上集成专用的sdk。对于一些超大组织和企业,完全可以在自己独立的专有网络上部署钉钉,从而进行更严格的管控,他们可以采用专有钉。 专有钉可以和其它的标准钉互联互通,不仅是聊天互通、音视频互通,而且可以文件互通、文档互通等等。钉钉提供这样的产品服务,把传统的软件交付变为可持续、订阅式服务的标准模式。
相对于ToC产品的丰富度,SaaS包括企业自建应用丰富度还有很大的不足,丰富度又是市场繁荣的一个必要条件。钉钉技术团队一直坚持技术普惠,致力于大幅度降低ToB应用的开发门槛、交付成本和维护成本,我们认为门槛不降,丰富度是不会起来的,所以坚定地推出了低代码平台,让人人成为开发者。
现在有些大学的行政人员用宜搭做出了一套澡堂管理系统,很难想象澡堂管理系统会有SaaS企业来开发,因为如果用传统fullcode方式去做,ROI太低了。坚持做低代码平台,让技术普惠和互联互通将客户和用户的价值最大化。 云钉一体,支撑5亿用户1900万企业背后的技术复盘