带你读《云原生架构白皮书2022新版》——南瓜电影 CTO 庄徐麟分享如何在 7 天内全面实现业务 Serverless 化(1)

本文涉及的产品
Serverless 应用引擎 SAE,800核*时 1600GiB*时
云原生网关 MSE Higress,422元/月
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: 带你读《云原生架构白皮书2022新版》——南瓜电影 CTO 庄徐麟分享如何在 7 天内全面实现业务 Serverless 化(1)

南瓜电影 CTO 庄徐麟分享如何在 7 天内全面实现业务 Serverless 化


南瓜电影成立于 2015 年,是国内近两年发展非常迅速的流媒体平台,凭借着无广告、纯付费的商业模式,在影迷圈

中打响了一定的知名度;之后又靠着很强的社区互动性(AI 智能推荐、影评互动、通过放映厅实现线上“云观影”等),

迅速完成会员增长及流媒体市场占位;接下来将逐渐往多元化视频平台发展:如纪录片、各类自制节目等。

作为互联网风口上的行业,流量和生命周期会因为市场风向的变化而有着截然不同的表现,这对企业的创新和低成本

试错提出了更高的要求。南瓜电影的整体应用架构也随着业务的高速发展,持续不断地进化。今天我主要从三个部分

来和大家分享这一段发展历程:


痛点:回顾南瓜电影当时的业务、架构现状和痛点。

选型:分享在技术选型之路上我们的思考和决策,以及为什么最终会选择使用 SAE 这款产品。

实战:我们是怎么一步步落地、在短短 7 天内将整个平台几百台服务器,30 多个系统全面 Serverless 化的。


1、痛点


从创业之初,南瓜电影的整体应用架构就构建在阿里云之上,是一个典型的“生在云上,长在云上”的企业。底层使用阿里云 ECS,基础设施、中间件,数据库、大数据服务、云安全等也全部使用阿里云产品,最大化云的价值。基

础服务之上是我们自研的能力中心,基于算法和视频增强能力,提供会员、自适应码率、搜索引擎、影评、放映厅等

服务。通过 SLB 全球调度以及 WAF 安全接入对各种用户提供服务。上层承接多端,基本涵盖了市面上全部的终端

类型:包括手机、Pad、网页以及各种客户端、车载设备等。


image.png


但随着业务的不断发展,基于 ECS 的运维架构逐渐暴露了很多问题,主要有:

1)弹性扩容太慢:流量洪峰时,需临时购买新机器再逐台部署,非常耗时也保证不了系统 SLA。


2)发版慢 & 易出错:互联网频繁发布是常态,但每次几百台服务器一台台部署发版非常慢,一不小心就出错。也尝

试过脚本化部署,跑顺确实省事,但当服务器组一多,脚本不断修改过程中,万一中间卡壳了,定位问题非常困难。


3)系统维护成本高:传统集群运维繁琐,人员技能要求非常高:既要精通 lua /ansible 脚本等,又要懂云产品网络

配置和监控运维。早期公司并没有专职运维人员,耗费了开发大量的精力,非常之痛。


4)容量规划难,资源利用率低:对流媒体行业,高峰期一般在中午或晚上,其它时间访问都比较低,但很难精准备容。

我们一般是按照峰值长期固定保有服务器,资源利用率相对比较低。


5)权限分配繁琐:面对企业多租户时,权限隔离往往是一个非常头疼的问题。尤其是新人到岗或者跨团队联调时,

配置用户组、RAM 权限,新机器登陆连接方式,非常繁琐,账号管理人员也时常会成为瓶颈。


一场热映电影加速了南瓜电影技术升级思考


相信会有很多企业也面临和我们一样的难题,同时也制约着公司的发展。但开发人员都存在一定的惰性,认为只要不

出事就先继续耗着。而真正让我们下定决心做技术升级的,还得感谢 19 年的那场热映电影。

那天早上接到同学的电话说业务压力大,我说:“不可能,一般早上流量比较少”, 他说:“不知道,各种业务都

开始预警,我已经开启了预案,不断的买买买机器了”。后来才知道 1 个小时内新增注册用户突破 80W+(是平时

峰值的 5 倍以上),对南瓜电影来说是一个巨大的挑战和机遇。很快服务器直接崩了,流量总入口 API 网关撑不住,

紧接着后端服务、数据库都异常。


大家紧绷着神经,开始了全链路紧急扩容:从买 ECS,上传脚本到新机器,运行脚本,扩容 DB…... 整个过程断断

续续对用户产生影响,有些用户直接访问不了,持续了 4 个小时才最终完全恢复。

因平台都是付费客户,那天我们的客服电话从早上忙到晚上,不断有用户来投诉,说早上不能使用,要求赔偿。


image.png

所以,像这种突然袭击对团队来说是比较锻炼团队的事,而对公司来说是损失比较大的事。我们对那天所有打开  APP 的用户都进行了赔偿:当天使用全部免费,这也是业务层面的损失。不过最终因为这场电影,南瓜电影的日新增注册用户一路高涨,业务增速明显。但回顾整个运维过程,耗时 4 个小时,太惊险刺激了,我们不想再经历第二次了。


《云原生架构白皮书2022新版》——各个行业面临的挑战及解决方案——南瓜电影 CTO 庄徐麟分享如何在 7 天内全面实现业务 Serverless 化(2) https://developer.aliyun.com/article/1232778

相关实践学习
基于函数计算一键部署掌上游戏机
本场景介绍如何使用阿里云计算服务命令快速搭建一个掌上游戏机。
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
25天前
|
人工智能 运维 Cloud Native
云原生技术实践营 · 深圳站——Serverless + AI 专场邀您参会!
云原生技术实践营深圳站聚焦Serverless+AI,6月21日探索技术结合新思路,助力降低GPU成本,简化开发运维。限额80人,报名审核制,活动涵盖Serverless趋势、AIGC应用、AI算力优化等议题,还有实操体验与现场抽奖。
云原生技术实践营 · 深圳站——Serverless + AI 专场邀您参会!
|
6天前
|
运维 Cloud Native 云计算
云原生架构的演进:从微服务到无服务器计算
【6月更文挑战第30天】 在数字化转型和技术创新的浪潮中,云原生技术以其灵活性、可扩展性和成本效益成为企业IT战略的核心。本文将探索云原生架构的关键概念,从早期的微服务架构到现代的无服务器计算模型,揭示这一演变如何推动企业更高效地开发、部署和管理应用程序。我们将深入讨论这些技术背后的原理,以及它们如何帮助企业实现敏捷性、弹性和自动化运维。
|
7天前
|
关系型数据库 MySQL Serverless
Serverless 应用引擎产品使用合集之在SAE2.0上的应用如何访问云原生数据库PolarDB MySQL版集群
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
13天前
|
人工智能 Cloud Native Serverless
云原生技术实践营 · 深圳站:Serverless + AI 专场开启报名!
“云原生技术实践营 · 深圳站 ——Serverless + AI 应用开发专场”是一场以 Serverless 为主题的技术活动,通过一个下午的时间增进对 Serverless 技术的理解,快速上手,活动受众以关注 Serverless 技术的开发者、企业决策人、云原生领域创业者为主,活动形式为演讲、动手实操。
|
13天前
|
人工智能 运维 Cloud Native
活动回顾丨云原生技术实践营 Serverless + AI 专场 (深圳站) 回顾 & PPT 下载
云原生技术实践营 Serverless + AI 专场 (深圳站) 回顾。
|
8天前
|
Cloud Native 安全 开发者
云原生架构的演进与实践:从微服务到无服务器计算
本文深入探讨了云原生技术的最新进展,特别关注微服务和无服务器计算模型。通过分析相关研究数据和行业案例,文章揭示了云原生架构如何推动现代应用开发,提升运维效率,并实现资源的最优化配置。文中详细讨论了云原生生态系统中的关键组成部分,包括容器化、自动化管理工具和服务网格,以及它们如何共同促进敏捷性和可扩展性。此外,文章还分析了云原生安全策略的重要性,以及如何在保障安全的同时,保持系统的灵活性和高效性。
|
1月前
|
资源调度 运维 Cloud Native
云原生架构技术之无服务器技术
当这些BaaS云服务日趋完善时,无服务器技术(Serverless)因为屏蔽了服务器的各种运维复杂度,让开发人员可以将更多精力用于业务逻辑设计与实现,而逐渐成为云原生主流技术之一。
40 5
|
2月前
|
运维 Cloud Native 开发者
云原生架构的未来演进:从容器化到无服务器
【5月更文挑战第28天】 在现代IT领域,云原生技术正成为推动企业数字化转型的核心力量。本文将探讨云原生架构的关键组成部分,包括容器化、微服务以及无服务器计算,并预测这些技术的发展趋势。文章旨在提供一个全面的视角,以理解云原生生态系统如何适应日益复杂的业务需求,并支持构建更加灵活、可扩展的应用程序。
|
2月前
|
运维 监控 JavaScript
【阿里云云原生专栏】Serverless架构下的应用部署与运维:阿里云Function Compute深度探索
【5月更文挑战第21天】阿里云Function Compute是事件驱动的无服务器计算服务,让用户无需关注基础设施,专注业务逻辑。本文详述了在FC上部署应用的步骤,包括创建函数、编写代码和部署,并介绍了运维功能:监控告警、日志管理、版本管理和授权管理,提供高效低成本的计算服务。
247 6
|
2月前
|
运维 Cloud Native Serverless
【阿里云云原生专栏】阿里云云原生实践:从容器化到Serverless的无缝过渡
【5月更文挑战第20天】本文介绍了如何在阿里云上实现从容器化到Serverless的平滑过渡。首先,通过阿里云容器服务(ACK)创建和管理容器集群,部署应用。接着,利用函数计算(FC)构建Serverless架构,编写和部署函数代码。最后,借助函数工作流(Fn)进行任务编排,实现容器化应用与Serverless应用的统一管理,从而提升应用弹性和可扩展性,降低运维成本,支持企业高效数字化转型。
356 3