腾讯云 Serverless 应用初探 —— 印象笔记

逆变潮涌
• 阅读 1736

印象笔记是最具影响力的知识管理工具,它既是管理个人信息的智能助手、同时也是提高团队效率的企业工具、富集高价值信息的内容平台、优秀知识和信息相关智能硬件的生产商。

印象笔记服务用户为高教育程度、高收入的知识人群和广大知识工作者及学生。累积服务用户过亿。产品采用业界领先的 Freemium(免费增值)的商业模式,保持了非常高的用户活跃度,付费转化和续费率。同时积极拓展用户的使用场景,自主研发的多款智能硬件,有效支持了手写、扫描、语音等多种输入场景。印象笔记的愿景是成为用户的「第二大脑」。

腾讯云 Serverless 应用初探 —— 印象笔记

印象笔记自 2018 年完成资本重组以来,产品功能频繁迭代,业务增长迅速。技术团队频繁需要应对一部分短期需快速上线的功能或项目,沿用之前传统服务或微服务开发交付模式,都无法满足工程排期需求。因此我们开始寻找解决方案。

首先我们分析了自身业务特点,印象笔记推出的新功能相对独立,自身业务逻辑清晰,与其它模块耦合度低;同时并发处理量与用户实际行为有关,前期无法准确预估资源使用情况。经过技术团队反复评估后,认为适合采用无服务形式部署。

通过市场调研,我们了解到腾讯云 Serverless 已经为像新东方、芒果TV、哔哩哔哩、TP-Link、英孚、完美世界、快看等数百家企业提供 了Serverless 技术解决方案,并且已经服务的企业绝大多数都持续使用 Serverless 技术进行业务拓展,我们最终选择使用腾讯云 Serverless 技术。

目前,印象笔记逐步在一些内部业务数据处理和用户异步通知功能中尝试利用腾讯云 Serverless/SCF 等框架进行快速开发并交付上线。

使用腾讯云 Serverless 技术后,在开发体验上有了明显的提升:

  • 首先是开发速度明显加快,Serverless 或云函数 SCF 都提供丰富的预置工程模板,且与其它腾讯云服务如 CMQ,COS 等紧密集成;
  • 其次,部署方便,不需要前期复杂的任务编排和资源配置步骤;
  • 再次,业务上线后便于维护,运维人员不再需要考虑压力和扩容问题;
  • 最后,利用完备的日志和统计功能,可以即时、便捷的掌握功能服务的运行状态。

现在印象笔记还主要使用相对传统的 SCF 云函数服务,对于 Serverless 中有些高级特性还未深入研究。腾讯云 Serverless 和 CODING DevOps 结合,可以实现业务持续开发、持续集成部署上线,一个完整的 DevOps 流程链,对于印象笔记后期业务新旧功能整合是刚需,所以近期,我们也在和腾讯云 Serverless 团队探讨进一步解决如何与印象笔记内部现有的持续集成部署规范、代码管理标准、版本迭代流程、质量保障体系的整合,形成完整的 DevOps 流程链。

未来,印象笔记还将进一步拓展尝试使用 腾讯云 Serverless 技术,主要从以下几个方向进行:

  • 小程序服务端功能
  • SEO/SSR 相关
  • 用户异步交互,如定期提醒,帐户状态相关通知等

最后,给还在考虑使用 Serverless 技术的团队一些建议:

如果产品团队尝试做产品迭代或者产品新功能,可以考虑使用腾讯云 Serverless 技术,与其它模块耦合度低,且不需要担心用户使用量,Serverless 拥有无限弹性扩容的能力,集群稳定性和可用性的维护成本几乎没有。

另外就是,如果是团队初期要做一些新项目的验证,需要进行数据拉取、数据分析,可以考虑使用 Serverless ETL ,进行数据抽取(Extract)、数据转换(Transform)、数据加载(Load),Serverless 在这方面的优势在于灵活,不影响已经有项目的数据处理流程,可单独运行并满足数据验证需求,而且学习成本和费用成本都比较低。

One More Thing

立即体验腾讯云 Serverless Demo,领取 Serverless 新用户礼包 👉 serverless/start

欢迎访问:Serverless 中文网
点赞
收藏
评论区
推荐文章
blmius blmius
4年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
美凌格栋栋酱 美凌格栋栋酱
7个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Peter20 Peter20
4年前
mysql中like用法
like的通配符有两种%(百分号):代表零个、一个或者多个字符。\(下划线):代表一个数字或者字符。1\.name以"李"开头wherenamelike'李%'2\.name中包含"云",“云”可以在任何位置wherenamelike'%云%'3\.第二个和第三个字符是0的值wheresalarylike'\00%'4\
Wesley13 Wesley13
3年前
VBox 启动虚拟机失败
在Vbox(5.0.8版本)启动Ubuntu的虚拟机时,遇到错误信息:NtCreateFile(\\Device\\VBoxDrvStub)failed:0xc000000034STATUS\_OBJECT\_NAME\_NOT\_FOUND(0retries) (rc101)Makesurethekern
Wesley13 Wesley13
3年前
FLV文件格式
1.        FLV文件对齐方式FLV文件以大端对齐方式存放多字节整型。如存放数字无符号16位的数字300(0x012C),那么在FLV文件中存放的顺序是:|0x01|0x2C|。如果是无符号32位数字300(0x0000012C),那么在FLV文件中的存放顺序是:|0x00|0x00|0x00|0x01|0x2C。2.  
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
PHP创建多级树型结构
<!lang:php<?php$areaarray(array('id'1,'pid'0,'name''中国'),array('id'5,'pid'0,'name''美国'),array('id'2,'pid'1,'name''吉林'),array('id'4,'pid'2,'n
Wesley13 Wesley13
3年前
Java日期时间API系列36
  十二时辰,古代劳动人民把一昼夜划分成十二个时段,每一个时段叫一个时辰。二十四小时和十二时辰对照表:时辰时间24时制子时深夜11:00凌晨01:0023:0001:00丑时上午01:00上午03:0001:0003:00寅时上午03:00上午0
Wesley13 Wesley13
3年前
MBR笔记
<bochs:100000000000e\WGUI\Simclientsize(0,0)!stretchedsize(640,480)!<bochs:2b0x7c00<bochs:3c00000003740i\BIOS\$Revision:1.166$$Date:2006/08/1117
逆变潮涌
逆变潮涌
Lv1
纵然万劫不复纵然相思入骨我也待你眉眼如初岁月如故.
文章
3
粉丝
0
获赞
0