腾讯云 Serverless 技术在「老司机汽车 app」的落地实践

首先简单介绍下,咱们是一个有趣、有态度的汽车新媒体分享平台,咱们有本身的 APP 和网站。目前服务超过 2 亿的汽车消费者与汽车兴趣用户群体,为广大汽车用户提供专业原创出品的图文、短视频、视频、直播、音频等多元化泛汽车生活领域节目。针对汽车消费者选车、用车、玩车等核心需求,老司机会让「新司机们」选得轻松、买得安心、玩得尽兴,让「新司机们」体验乐趣,享受汽车生活。前端

个人团队是老司机数据智能组,负责公司 AI、大数据、推荐、搜索系统等业务和对外网站业务,团队成员包括算法工程师、数据挖掘/分析工程师、前端工程师、后端开发工程师。随着业务的快速增加,需求迭代、资源投入、运维压力也随之变得愈来愈紧迫。怎样提高研发效能、保障业务快速上线,提高资源利用效率、下降成本开销,减小运维的压力、又能保障系统的可靠运转,轻松应对流量洪峰,逐渐成为咱们的重点诉求。git

咱们发现最近云计算领域很是火的一个技术方向 Serverless 有诸多优点,不只能够节省运维人力和时间消耗,缩短开发周期,提高效率,同时提供了可靠的管理后台集成开发,测试,上线,监控等一系列功能,保证服务拆分后各个服务之间达到自动解耦自治的效果,大大下降了生产环境的部署成本,同时容量巨大的弹性伸缩性能,很是适合应对流量洪峰场景。github

针对项目开发、项目维护及现有服务的迁移成本等方面的调研以后,咱们最终选择了腾讯云 Serverless 技术。算法

咱们主要在推荐系统和用户画像以及后端的相关业务上使用了 Serverless 技术方案,一些轻量级的服务根据 Serverless 的技术方案进行了部署; 部分机器学习算法推理引擎分拆为算法迁移和数据迁移同时部署,部分实时数据 pipeline 的消费端进行迁移部署,部分定时批任务分批次进行迁移部署。express

使用 Serverless 的技术方案后,对开发人员来讲帮助挺大的,首先,团队协做模式带来了巨大改变,Serverless 的服务由开发人员本身监控管理及部署,不须要和运维人员配合服务的管理部署,包括测试/线上环境的服务更新,版本控制也更为轻松,极大地简化应用从开发到部署和维护的整个过程。其次,解决了高并发的问题,服务的响应也是极快的。最后,对众多微服务进行统一管理和调度,轻松实现服务解耦、抽象、可重用、服务自动发现和服务自治。例如:版本控制、流量控制、测试/预发布/发布环境、日志记录、监控、告警等一系列服务支持,让开发人员在项目中不管是开发仍是平常管理,都起了极大的做用。编程

固然,和其余新技术的应用同样,Serverless 的技术方案也有一些能够优化的空间,好比:后端

  1. 开发人员须要修改设计去适应它,对熟悉的编程模型进行调整。
  2. 开发人员须要解决诸如规划预算、安全的问题,好比在弹性伸缩时对预启动服务时间比较久的服务不是很友好。
  3. 服务运行最大内存也限制了一些服务运用 Serverless。
  4. Serverless 内部引发的错误告警能够更加完善,能够在发生错误的第一时间告知使用者,目前咱们只能根据服务接口响应时长去预防,但没法解决根本性问题。

但愿将来在使用 Serverless 的时候能给使用者在各个方面有更多的选择。浏览器

对于还未开始 Serverless 的技术方案团队,我推荐能够将部分轻量化服务迁移到Serverless 进行部署的,待熟悉 Serverless 的整套流程后根据迁移成本以及应用场景去考虑是否大量的使用。固然,不管是否会在业务中使用,Serverless 的技术都是值得去学习研究的。安全

推荐学习腾讯云 Serverless 官方文档:前端工程师

One More Thing

3 秒你能作什么?喝一口水,看一封邮件,仍是 —— 部署一个完整的 Serverless 应用?

复制连接至 PC 浏览器访问:https://serverless.cloud.tencent.com/deploy/express

3 秒极速部署,当即体验史上最快的 Serverless HTTP 实战开发!

传送门:

欢迎访问:Serverless 中文网,您能够在 最佳实践 里体验更多关于 Serverless 应用的开发!


推荐阅读:《Serverless 架构:从原理、设计到项目实战》

相关文章
相关标签/搜索