返回
**深扒1688的Serverless实践:如何化繁为简?**
见解分享
2023-10-23 10:52:14
正文
1. 前言
1688 隶属于阿里集团的国内贸易事业部(CBU),是阿里最早起家的业务,已有十几年的历史。1688 主要负责 PC 端 1688.com 以及手机端阿里巴巴批发 APP 的产品研发和运营,平台上的商家和买家数量众多,每天有大量的交易发生。
随着业务的不断发展,1688 的系统架构也变得越来越复杂。传统的单体架构已经无法满足业务需求,急需转型到更灵活、弹性、可扩展的云原生架构。
2. 痛点与挑战
在转型到云原生架构的过程中,1688 面临着以下痛点和挑战:
- 系统复杂度高,运维成本高。 传统的单体架构中,所有功能都耦合在一起,难以扩展和维护。随着业务的不断发展,系统变得越来越复杂,运维成本也越来越高。
- 资源利用率低,成本高。 在传统的单体架构中,资源往往是固定分配的,即使在业务低峰期,也会占用大量的资源,导致资源利用率低、成本高。
- 弹性扩展困难。 传统的单体架构难以实现弹性扩展,当业务量突然激增时,很难快速扩容,导致系统性能下降,甚至宕机。
3. Serverless的引入
为了解决上述痛点和挑战,1688 引入了 Serverless 技术。Serverless 是一种云计算服务模型,它允许开发者在无需管理服务器的情况下运行代码。Serverless 可以帮助开发者快速构建和部署应用程序,并降低成本。
4. Serverless的应用场景
1688 将 Serverless 技术应用到了多个场景,包括:
- 网站静态资源托管。 1688 将网站的静态资源,如 CSS、JavaScript 和图片等,托管在 Serverless 对象存储服务上。Serverless 对象存储服务可以自动扩展,并提供高可靠性和高可用性,可以满足 1688 对静态资源托管的需求。
- 数据处理。 1688 将一些数据处理任务,如日志分析和数据转换等,迁移到了 Serverless 函数计算服务上。Serverless 函数计算服务可以按需扩展,并支持多种编程语言,可以满足 1688 对数据处理的需求。
- 事件驱动。 1688 将一些事件驱动任务,如用户注册和订单支付等,迁移到了 Serverless 事件驱动服务上。Serverless 事件驱动服务可以自动处理事件,并触发相应的动作,可以满足 1688 对事件驱动的需求。
5. Serverless的技术选型
1688 在选择 Serverless 技术时,主要考虑了以下因素:
- 成熟度。 Serverless 技术的成熟度非常重要。1688 选择的 Serverless 技术必须是成熟可靠的,能够满足 1688 的业务需求。
- 性能。 Serverless 技术的性能非常重要。1688 选择的 Serverless 技术必须能够满足 1688 的性能需求。
- 成本。 Serverless 技术的成本非常重要。1688 选择的 Serverless 技术必须能够帮助 1688 降低成本。
6. Serverless的落地实践
1688 在落地 Serverless 技术时,主要采取了以下步骤:
- 需求分析。 首先,1688 对业务需求进行了分析,确定了哪些业务场景适合采用 Serverless 技术。
- 技术选型。 其次,1688 根据技术选型标准,选择合适的 Serverless 技术。
- 架构设计。 第三,1688 对 Serverless 架构进行了设计,包括服务划分、数据存储、安全策略等。
- 开发和部署。 第四,1688 开发和部署了 Serverless 应用。
- 运维和监控。 第五,1688 对 Serverless 应用进行了运维和监控,确保应用的稳定性和可靠性。
7. Serverless的优化建议
1688 在使用 Serverless 技术时,积累了一些优化建议,包括:
- 选择合适的 Serverless 技术。 Serverless 技术有很多种,每种技术都有其独特的特点和优缺点。企业在选择 Serverless 技术时,应该根据自己的业务需求和技术能力,选择合适的 Serverless 技术。
- 合理设计 Serverless 架构。 Serverless 架构的设计非常重要。企业在设计 Serverless 架构时,应该考虑以下几点:
- 服务划分。企业应该将应用划分为多个微服务,每个微服务负责一个独立的功能。
- 数据存储。企业应该选择合适的 Serverless 数据存储服务,以满足应用的数据存储需求。
- 安全策略。企业应该制定严格的安全策略,以保护应用的数据和隐私。
- 做好 Serverless 应用的运维和监控。 Serverless 应用的运维和监控非常重要。企业应该建立完善的运维和监控体系,以确保应用的稳定性和可靠性。
8. Serverless的发展前景
Serverless 技术是一种很有前景的技术。它可以帮助企业快速构建和部署应用程序,并降低成本。随着 Serverless 技术的不断成熟,相信它将在越来越多的场景中得到应用。
9. 总结
本文分享了 1688 在复杂业务场景下的 Serverless 提效实践。通过采用 Serverless 技术,1688 实现从传统架构到云原生架构的转型,并取得了显著的收益。我们希望本文能为其他企业在 Serverless 领域的探索提供一些借鉴。