节省 58% IT 成本,调用函数计算超过 30 亿次,石墨文档的 Serverless 实践

本文涉及的产品
简介: 石墨文档使用函数计算搭建文档实时编辑服务,由函数计算的智能调度系统自动分配执行环境,处理多用户同时编写文档带来的峰值负载,函数计算的动态扩缩容能力保障应用的可靠运行。

作者 | 金中茜


对石墨文档来说,“用户体验、成本消耗、上线速度”是决定能否在茫茫商海展露头角的重要因素。它需要一套弹性高可用、分布式的服务来实时处理文档编辑冲突:既要保证成本可接受,又要保证在负载突增时平滑处理峰值负载,实现毫秒级别的文档同步响应。

2021 年 7 月 20 日,一场特大暴雨打破了河南的宁静,也牵动着全国人民的心。当晚,大量河南暴雨的信息开始在各类社交媒体急速传播,“待救援人员名单”“救援现场信息”“住宿交通物资信息”......一个个在线文档承载着一条条救命信息。石墨文档在第一时间向抗汛一线的政府部门、医疗机构、公益组织、社会志愿者们提供了免费的高级版产品和服务。

两周内,全国共创建了超过 1600 个灾情协同文档,累积为数百万设备提供了在线协同服务,让抗汛的现场救援、物资运输、医疗及志愿者组织都更加高效。同时,也让石墨文档背后的 IT 系统面临着巨大挑战,尤其是:如何保证系统的平稳运行。

只有系统平稳的运行,才能让更多人参与到文档协作中,第一时间对各类救命文档进行整理、编辑、归纳,让救命信息及时传递出去。

石墨文档经受住了这次极端流量的考验,背后是五个月前便在阿里云上构建了一套智能运维系统,打通了系统全链路可观测数据,实现统一管理,智能告警和提前预检。


灾情一发生,石墨文档团队工程师就接到告警电话,语音自动播报石墨线上 K8S(Kubernetes,容器管控系统)集群资源使用率飙升,PV(Page View,页面浏览量)同比增加 200%以上;某些业务接口访问量骤增,多个资源即将到达压力位告警,原来是多个文档的读写次数和访问人数出现异常增多。

由于短期访问人数激增,且无法准确判断后续上涨趋势,工程师快速协调了数倍于往日的阿里云计算资源对基础设施进行了大规模扩容,确保这些救灾文档在数千人同时协作,数百万人次浏览的情况下也能保持稳定、流畅的体验,从而保障救灾工作顺利进行。最终,石墨文档出色完成了作为“信息载体”的任务,文档始终稳定可用。

能够快速应对极端情况下的流量压力,还有赖于石墨文档一直以来的技术积累。自 2014 年成立至今,石墨文档累计服务超过 20 万家企业,在 IT 层面主要面临两大挑战。


一是多用户实时协作。为了支持多用户多终端实时在线编写,石墨文档技术团队对 OperationalTransformation 算法进行了非常深入的探索和修改,解决了一段文字被多个客户端同时修改所引起的冲突问题。

但这会带来第二个挑战,就是多用户实时编辑对服务器带来的巨大压力。用户敲击键盘输入一个文字只需几毫秒,但如果是大量用户在石墨文档上同时编写文档,就很容易出现在一个很小时间段内数据分布不均的情况,一个直观的体现就是“写串行”。

对石墨文档来说,“用户体验、成本消耗、上线速度”是决定能否在茫茫商海展露头角的重要因素。它需要一套弹性高可用、分布式的服务来实时处理文档编辑冲突:既要保证成本可接受,又要保证在负载突增时平滑处理峰值负载,实现毫秒级别的文档同步响应。

为此,石墨文档与阿里云进行深度合作,借助公共云 Serverless 架构来应对流量挑战。

函数计算是阿里云提供的 Serverless 服务,根据请求量动态分配执行环境,毫秒级调度计算资源,确保在负载高时保持稳定的延时,在负载低时有着较高的资源利用率,且只会对代码运行时使用的计算资源付费。


石墨文档使用函数计算搭建文档实时编辑服务,由函数计算的智能调度系统自动分配执行环境,处理多用户同时编写文档带来的峰值负载,函数计算的动态扩缩容能力保障应用的可靠运行。


借助函数计算毫秒级别的资源伸缩能力,石墨文档解决了高峰期负载突增的计算资源扩容问题,相比于自建机房维护服务器,节省了 58% 的 IT 成本,目前石墨文档每月调用函数计算超过 30 亿次。

云原生时代,逐渐完善的 IT 基础设施,让企业能更高效地进行数字化创新。

由于不用再考虑 CPU 密集型计算的负载均衡问题,不仅开发的稳定性提高了,各个项目的迭代与上线的步伐也快了起来。作为中国第一款支持云端协作的企业办公服务软件,石墨文档实现了以毫秒级同步响应速度,来实现多成员多终端的在线实时协作,强大稳定的技术支撑着平台高效稳定的服务体验,也正激发更大想象空间。

借助阿里云函数计算极致弹性,石墨文档发布“远程办公版”,为企业带来一系列远程办公模板。这些模板使用方便,实现多人多地在线实时办公。更进一步,12 月 1 日,在“重塑在线办公”的主题下,石墨文档正式推出为企业和组织打造的国产企业级云端 Office——石墨办公,向更广阔的市场迈出关键一步。

石墨团队一直围绕企业文档协同的需求不断创新,这为未来的办公协同模式,进行了重要探索。


更多内容关注 Serverless 微信公众号(ID:serverlessdevs),汇集 Serverless 技术最全内容,定期举办 Serverless 活动、直播,用户最佳实践。

相关实践学习
基于函数计算一键部署掌上游戏机
本场景介绍如何使用阿里云计算服务命令快速搭建一个掌上游戏机。
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
存储 容灾 安全
降本增效|微财引入阿里云瑶池数据库Serverless备份解决方案,最高可节省50% IT成本
微财也是金融行业首个大规模应用云数据库RDS Serverless的企业。
257 0
降本增效|微财引入阿里云瑶池数据库Serverless备份解决方案,最高可节省50% IT成本
|
运维 Kubernetes 负载均衡
节省 58% IT 成本,调用函数计算超过 30 亿次,石墨文档的 Serverless 实践
云原生时代,逐渐完善的 IT 基础设施,让企业能更高效地进行数字化创新。
|
消息中间件 Cloud Native 安全
阿里云发布新一代容器、Serverless等云原生产品,加速企业向现代IT架构演进
随着数字经济的快速发展和扩张,越来越多的企业开始采用云原生计算的思想和技术,以主导企业的数字化转型架构。
2215 0
|
13天前
|
运维 Serverless 应用服务中间件
Serverless 应用引擎产品使用之在阿里云Serverless中函数计算FC nginx 部署上去之后放置静态页面如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
219 0
|
13天前
|
弹性计算 运维 Serverless
Serverless 应用引擎产品使用之在阿里函数计算中,使数据库和阿里云函数计算位于同一个内网中如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
986 0
Serverless 应用引擎产品使用之在阿里函数计算中,使数据库和阿里云函数计算位于同一个内网中如何解决
|
13天前
|
运维 监控 Serverless
Serverless 应用引擎产品使用之在阿里函数计算中,在response.send()之后继续执行其它代码如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
162 0
|
13天前
|
运维 负载均衡 Java
Serverless 应用引擎产品使用之在阿里函数计算中,创建了个关于 stable diffusion 的函数服务,总是很卡如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
142 0
|
13天前
|
人工智能 运维 Serverless
Serverless 应用引擎产品使用之在阿里函数计算中使用自定义字体如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
139 0
|
13天前
|
弹性计算 运维 监控
Serverless 应用引擎产品使用之在阿里函数计算中,函数计算的的自定义域名的路由节约时间如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
143 0
|
13天前
|
运维 监控 Serverless
Serverless 应用引擎产品使用之在使用阿里云函数计算部署网站时,网站打开不稳定如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
169 0

热门文章

最新文章

相关产品

  • 函数计算