南瓜电影7天内全面Serverless化实践

本文涉及的产品
Serverless 应用引擎 SAE,800核*时 1600GiB*时
云原生网关 MSE Higress,422元/月
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介: 本篇内容分享了南瓜电影7天内全面Serverless化实践。

分享人:李浩正 阿里云Serverless产品解决方案架构师

庄  徐 麟南瓜电影CTO

正文:

本篇内容将通过个部分来介绍南瓜电影7天内全面Serverless化实践。

一、南瓜电影概览

二、南瓜电影Serverless化实践

三、SAE重磅发布

image.png

一、南瓜电影概览

南瓜电影作为互联网全新商业模式,在国内视频行列中的实践者,异军突起,独树一帜,区别于传统视频软件。南瓜电影纯会员制,任何广告与附加费用,让用户感受纯粹的观影体验。image.png 

各种数据库的基础服务之上,是我们的自研能力中心,基于我们的算法,提供各项对用户的服务包括视频增强能力,搜索引擎,放映厅等等。再通过上面的全球调度以及安全揭露,对用户提供服务。对外的终端,我们基本上涵盖了市面上全部的终端类型我们通过云安全中心对整个流程做各种各样的安全管控

image.png

传统服务器运维无法满足业务的高速增长,遇到了很多问题。比如Scale-Out耗时太长,发版慢且易出错,回滚麻烦,运维监控困难,人员技能要求高,资源利用率低,权限分配繁琐,环境一致性难保证。

image.png

某电影上映后新注册用户爆发,自然爆点,日新增注册用户极速突破80万。

流量总入口,API,网关,撑不住,紧接着后端服务、数据库,全链路紧急扩容:

业务快速恢复,但整个运维过程耗时4小时。

image.png

于是,我们开始思考下一步应该怎么改造,当时内部有两个方案第一。把脚本进行深度优化在应急情况下很难完全满足第二,我们考虑通过K8s做自己的容器解决方案,我们团队当时没有那么多资源经验且成本较高

image.png

二、南瓜电影Serverless化实践

对于Serverless应用引擎的初印象是不用改造,WAR/JAR包部署,自动弹性,不用买机器,不用运维机器且监控安全。

image.png

我们的工程师写完代码提交之后,我们工具会自动进行集成,自动会进行单元测试测试全部通过后,自动把文件部署到OSS内部在这里,我们只需要从原来部署到ECS的变成SAE就行

image.png

SAE上线之后,第一个应用是API网关。因为API网关突发流量较多,最适合使用SAE。出于容灾考虑,我们做了SAE和ECS的组合服务,对流量逐渐切流,最后将ECS作为灾备链路。对用户来说,基本上是无影响的,而能最大程度测试SAE是否适合我们的业务。

image.png

测试过程中我们做了各种各样的操作。比模拟用户进行线上环境的高并发访问然后通过各种监控报警,获得实时的监控指标雪崩效应通过SAE一些功能,能够把这些问题隔离。避雪崩效应导致整个系统崩溃

image.png

接下来,我们聊聊SAE的监控诊断能力。我们能在SAE上看到应用的调用关系拓扑图、可以定位到慢SQL、慢服务、方法的调用堆栈、进而定位到代码级别的问题;也能查看各种维度的Top N关注应用,实现1人轻松运维成百上千个应用。通过这种方式我们发现系统的开发效率提高很多,开发人员可以快速定位问题所在。

image.png

面对企业的权限管理,事后追溯等问题。我们以前通过堡垒机分配每一个团队的权限。但操作繁琐,无运维,审批风险大。SAE以应用粒度添加权限,方便省心,运维操作可设置审批流。大大提高了安全性和可用性。

image.png

我们从知道SAE,到跟阿里云的沟通以及整个上线,一共是三天时间到第五天完成部署上线。剩下两天时间把剩下30多个系统同样的方式快速迁移到SAE上。针对整个七天的部署完以后,我们得出了这样的结论首先,弹性如果配置会按照你的最优化进行自动调整第二个叫免运维的运维速度人工更加的快捷第三发布更快。第四,监控更完善

image.png

从使用方的角度给大家分享SAE的避坑指南和对SAE的一些期待。SAE的容灾多可用区部署和应用最小存活实例数。SAE灰度推荐启用分批灰度发布策略,安全生产。大家需要提前验证,健康检查的正确使用。提高稳定性,扩容阈值的合理设置。最后建议配置SLS日志和ARMS报警。

image.png

回顾过去,我们基于K8S的底座,以应用为中心,屏蔽掉一些K8S底层实现这种技术细节同时我们也开发了一些面向应用级别的ui和api,极大降低了客户在使用K8S的技术门槛。基于此,我们现在也可以郑重地对外宣告我们已经服务了阿里云上的万家企业级客户,同时得到了客户的广泛认可。

image.png

三、SAE重磅发布

接下来,我将介绍一下SAE近期发布的一些新特性。第一个特性是弹性能力2.0。业界首发混合弹性策略;定时和指标策略混用;在开源K8s能力上,丰富业务弹性指标,支持高级弹性配置。第二个特性Java冷启动提速40%。我们联合Dragonwell突破Java应用冷启动瓶颈,提速40%。第三个特性极致部署效率15s。应用发布全链路升级:阿里沙箱容器2.0、镜像加速、ACREE等。提供端到端部署极致体验。个特性一站式PHP应用托管。我们支持PHP zip源码包部署,支持多种运行时环境和自定义扩展,无缝集成应用监控能力。

image.png

在企业不断的发展过程中,很多企业都会面临从单体到微服务架构转型的难题通过阿里云SAE提供的服务能力和我们的稳定性兜底的能力可以快速地帮助企业完成微服务的架构转型同时我们还可以让企业尝试一些新的业务创新。

image.png

开发测试环境和预发布环境,生产环境已经成了所有企业开发环境的标配。很多情况下,开发测试与发布没有必要24小时连轴转的运营。如果客户有降本诉求,通过阿里云SAE一件起订的环境,我们可以灵活地按需开通和释放资源。节省闲置成本,光测试环境能节省2/3的机器成本。同时保证我们所有环境的配置。

image.png

第三,全链路灰度的解决方案。适用场景调用链中因个别应用新上线,需要精准用户灰度验证。它可以控制最小爆炸半径,无需重新搭建一整套新环境,降低部署运维和硬件成本。它还能能覆盖七层流量到四层微服务接口、方法的灰度。

image.png

第四,作为弹性资源池降本。在弹性时长极短,或者峰值流量和常态流量差异较小的场景下。实现了免容量规划,弹性实例免运维,提升扩容效率,轻松应对突发流量;降低硬件成本业务侧,SAE和ECS的实例需使用同一个SLB,同一个注册中心自建发布系统需保持SAE和ECS实例版本一致性;自建监控系统,需规整SAE和ECS的监控数据。

 

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
1月前
|
运维 Kubernetes 前端开发
拥抱Knative, 合思加速Serverless化演进实践
合思信息基于阿里云容器服务Knative, 实现Serverless化演进的最佳实践。
拥抱Knative, 合思加速Serverless化演进实践
|
2月前
|
弹性计算 关系型数据库 Serverless
函数计算驱动多媒体文件处理:高效、稳定与成本优化实践
本次测评的解决方案《告别资源瓶颈,函数计算驱动多媒体文件处理》展示了如何利用阿里云函数计算高效处理多媒体文件。文档结构清晰、内容详实,适合新客户参考。方案提供了一键部署与手动部署两种方式,前者简便快捷,后者灵活性高但步骤较多。通过部署,用户可体验到基于函数计算的文件处理服务,显著提升处理效率和系统稳定性。此外,测评还对比了应用内处理文件与函数计算处理文件的不同,突出了函数计算在资源管理和成本控制方面的优势。
22707 19
|
2月前
|
运维 Kubernetes Serverless
Serverless Argo Workflows荣获信通院标杆实践案例,引领大规模离线任务处理新方法
阿里云容器服务Serverless Argo Workflows大规模离线计算工作流平台荣获2024信通院Serveless实践标杆案例。本文介绍其应用场景、平台特性以及领域实践。
|
3月前
|
分布式计算 Java Serverless
EMR Serverless Spark 实践教程 | 通过 spark-submit 命令行工具提交 Spark 任务
本文以 ECS 连接 EMR Serverless Spark 为例,介绍如何通过 EMR Serverless spark-submit 命令行工具进行 Spark 任务开发。
378 7
EMR Serverless Spark 实践教程 | 通过 spark-submit 命令行工具提交 Spark 任务
|
2月前
|
前端开发 大数据 数据库
🔥大数据洪流下的决战:JSF 表格组件如何做到毫秒级响应?揭秘背后的性能魔法!💪
【8月更文挑战第31天】在 Web 应用中,表格组件常用于展示和操作数据,但在大数据量下性能会成瓶颈。本文介绍在 JavaServer Faces(JSF)中优化表格组件的方法,包括数据处理、分页及懒加载等技术。通过后端分页或懒加载按需加载数据,减少不必要的数据加载和优化数据库查询,并利用缓存机制减少数据库访问次数,从而提高表格组件的响应速度和整体性能。掌握这些最佳实践对开发高性能 JSF 应用至关重要。
51 0
|
2月前
|
分布式计算 Serverless 数据处理
EMR Serverless Spark 实践教程 | 通过 Apache Airflow 使用 Livy Operator 提交任务
Apache Airflow 是一个强大的工作流程自动化和调度工具,它允许开发者编排、计划和监控数据管道的执行。EMR Serverless Spark 为处理大规模数据处理任务提供了一个无服务器计算环境。本文为您介绍如何通过 Apache Airflow 的 Livy Operator 实现自动化地向 EMR Serverless Spark 提交任务,以实现任务调度和执行的自动化,帮助您更有效地管理数据处理任务。
173 0
|
3月前
|
分布式计算 Hadoop Serverless
数据处理的艺术:EMR Serverless Spark实践及应用体验
阿里云EMR Serverless Spark是基于Spark的全托管大数据处理平台,融合云原生弹性与自动化,提供任务全生命周期管理,让数据工程师专注数据分析。它内置高性能Fusion Engine,性能比开源Spark提升200%,并有成本优化的Celeborn服务。支持计算存储分离、OSS-HDFS兼容、DLF元数据管理,实现一站式的开发体验和Serverless资源管理。适用于数据报表、科学项目等场景,简化开发与运维流程。用户可通过阿里云控制台快速配置和体验EMR Serverless Spark服务。
|
4月前
|
分布式计算 运维 Serverless
通过Serverless Spark提交PySpark流任务的实践体验
EMR Serverless Spark服务是阿里云推出的一种全托管、一站式的数据计算平台,旨在简化大数据计算的工作流程,让用户更加专注于数据分析和价值提炼,而非基础设施的管理和运维。下面就跟我一起通过Serverless Spark提交PySpark流任务吧。
193 1
|
4月前
|
Cloud Native 安全 开发者
云原生架构的演进与实践:从微服务到无服务器计算
本文深入探讨了云原生技术的最新进展,特别关注微服务和无服务器计算模型。通过分析相关研究数据和行业案例,文章揭示了云原生架构如何推动现代应用开发,提升运维效率,并实现资源的最优化配置。文中详细讨论了云原生生态系统中的关键组成部分,包括容器化、自动化管理工具和服务网格,以及它们如何共同促进敏捷性和可扩展性。此外,文章还分析了云原生安全策略的重要性,以及如何在保障安全的同时,保持系统的灵活性和高效性。
|
5月前
|
运维 Cloud Native Serverless
【阿里云云原生专栏】阿里云云原生实践:从容器化到Serverless的无缝过渡
【5月更文挑战第20天】本文介绍了如何在阿里云上实现从容器化到Serverless的平滑过渡。首先,通过阿里云容器服务(ACK)创建和管理容器集群,部署应用。接着,利用函数计算(FC)构建Serverless架构,编写和部署函数代码。最后,借助函数工作流(Fn)进行任务编排,实现容器化应用与Serverless应用的统一管理,从而提升应用弹性和可扩展性,降低运维成本,支持企业高效数字化转型。
570 3

相关产品

  • 函数计算