代码零改动Serverless架构升级?这家在线编程教育企业这么做的!

简介: 企业的开发模式、工具、脚手架已经标准化、流程化,存量业务正在线上稳定运行,如何将 Serverless 融入到现有开发模式和工具中,如何存量业务的迁移如何丝般润滑?阿里云Serverless云开发平台通过免费的架构服务和开发平台帮助合作伙伴快速完成Serverless架构升级,集成本地CICD工作流,通过对应的逻辑采用命令行工具将开发链路串联起来形成工具链,实现代码的零改动进行Serverless架构迁移。

背景

风变科技一个希望通过技术去推动下一代基础教育的组织。旗下产品包括第一代的熊猫书院(读书类产品)、第二代的熊猫小课(泛学科综合学习平台),以及现在的风变编程(成人python教育)和风变人生设计(个人职业生涯规划类)。

 

风变一直在挑战自动化教学时长的极限,探索自动化教学效果的边界。开辟了互联网在线教育的新纪元——交互式、游戏化的自动化教学方式,打造沉浸式的学习体验,让用户高效掌握知识,减少知识在传播过程中的损耗。

 

目前,风变聚焦于人工智能教学,主要产品为「风变编程」自2019年1月上线以来,为全球250万+用户提供了850万+ 堂课,并以实验环境下单节课98%的完课率创造了远超行业平均水平的神话。

 

在这些光鲜的数字背后,风变研发团队“新矩阵”面临着巨大的挑战,面对产品功能不断创新、业务规模迅速增长等挑战,通过不断升级前后端架构,提升团队技术水平以及依靠强大的运维团队攻克着每次的突发情况。"脚踏实地先把技术发展起来"是风变科技CTO一直以来对团队的要求,“用技术推动下一代的基础教育”是风变的使命,也是每位风变人心中的理想。


image.png

Serverless升级之路

 

风变科技前端架构师Function认为任何架构设计都是历史下的产物,脱离实际情况谈最优解都是不切实际的想法,如何在有限的人力资源和更优的方案中取得平衡,就像一栋大厦,工程师设计出结构稳定和考虑长远的方案(可扩展性),施工人员不偷工减料(代码质量),那么这座大厦才能长久屹立,也能更好的面对新工程不断改造。反之,如果缺乏对架构演进的理解,缺乏对于基础设施能力的理解,缺乏对风险的判断,盲目的上新技术可能不仅无法兑现业务价值,浪费精力,还会引入无谓的技术风险。

 

Serverless为什么让那么多前端着迷?它的魅力到底在哪里?

  1. 从前端工程师的个人角度来讲,前端技术已进入深水区(大前端时代),更能证明自己的不是资源,而是可以创造更多的业务价值。因此都希望能扩大自己的业务范围,进而才能有职业发展,仅做前台展现碰不到核心业务,价值得不到体现。
  2. 从公司和团队的考虑,前端团队的核心在于业务价值,接入Serverless不是目的,目的是让前端能够借助Serverless更加专注于业务逻辑,创造出更多业务价值,实现全栈工程师的角色转变。


纸上得来终觉浅,绝知此事要躬行。风变的开发模式、工具、脚手架已经标准化、流程化,存量业务正在线上稳定运行,如何将 Serverless 融入到现有开发模式和工具中,存量业务的迁移如何丝般润滑等等技术痛点,在风变前端基建团队的努力以及阿里云Serverless云开发平台团队的助力下,已经完成了serverless架构的整体建设,与前端工程化和自动化相结合,并且集成本地CICD工作流,通过对应的逻辑采用命令行工具将开发链路串联起来形成工具链,让风变所有前端工程师能更好地创造出更多的业务价值,让成为全栈工程师变成可能。

阿里云云开发平台赋能

 

阿里云云开发平台,https://workbench.aliyun.com,是阿里云面向广大开发者及企业提供的云上研发工作平台,助力研发团队实现工作的在线化(团队在线、环境在线、代码在线、协同在线)以及研发模式Serverless化,帮助研发团队实现对行业架构经验及架构服务的高效分享与传播,极致提升研发效率,极致降低研发成本。

 

阿里云云开发平台为企业开发Serverless应用提供了几种重要能力:

image.png

存量项目可迁移


目前开发者体验serverless项目大多是些简单的helloworld函数,这根本无法承载大多数业务项目。为此,阿里云云开发平台提供了存量项目迁移方案,通过抽象一层透明的serverless框架适配业务程序,使其可以运行在FAAS环境上。抽象Serverless框架层的好处在于无需修改用户存量代码,直接将项目升级为Serverless架构。

 

目前阿里云云开发平台支持多种技术栈的多种框架的适配升级:

·      Nodejs技术栈所有框架均无缝升级

·      Python常用框架Django、Flask、FastAPI、Tornado以及Twisted支持无缝升级

·      PHP的常用框架配合自定义运行时升级

 

风变科技采用阿里云云开发平台提供“Nodejs存量应用解决方案”,实现了代码零改动升级Serverless架构,目前已支撑公司官网系统以及其他重点业务。

 

云部署能力本地化

大多数公司都有自己的开发工作流程,这包括内部代码托管、团队协作、权限控制与风控、公司独特的CI/CD,如何低成本的兼容这套原有体系是Serverless应用能否“本地化”,让企业和开发者接受与认同的最关键的一点。


阿里云云开发平台提供了“云端一体化部署”与“本地部署”的能力,企业可以通过使用阿里云云开发平台部署套件实现本地部署,兼容企业原有CI/CD流程,让Serverless应用实现“端+云”加持,灵活可控。

 

风变科技采用阿里云云开发平台本地化部署能力,在兼容当前企业的发布规范、审核、风控以及灰度的前提下实现众多项目的无痛升级Serverless架构,大大赋能开发人员生产力,减少运维成本。

 

Serverless应用可调试

Serverless应用开发另一痛点是无法像在本地开发应用一样断点调试、实时预览,只有在部署到对应云厂商环境上才可测试预览。

 

阿里云云开发平台通过分析Serverless运行时架构,在开发态模拟函数运行时,实时轻量化运行、输出。实现serverless应用的实时调试。

通过阿里云云开发平台的赋能,不仅可断点调试Serverless应用,也可实时预览、查看运行时输出,不用部署即可完成功能性验证,敏捷开发灵活迭代。

 image.png

Serverless升级体验

风变科技的官网以及多个中后台系统升级到Serverless架构后,在某些方面感受到了明显的不同:

·      原有存量工程零改动直接升级Serverless架构,开发模式开发规范等均不改变

·      部署方便,直接集成到企业CICD流程中

·      通过阿里云云开发平台提供的Open API,集成进公司内部独有的开发命令行工具Rakete,实现团队内部开发链路一体化打通

·      上线后无需运维,自动弹性扩缩容

·      完备的日志和流量监测功能,实时掌握服务运行状态

·      上线一个月,成本环比下降了45%

 

下一步,风变科技会和阿里云云开发平台深入合作,将在全站推动项目升级,彻底拥抱云原生Serverless时代。

相关实践学习
【玩转ComfyUI】基于函数计算一键部署AI生图平台ComfyUI
本次实验将带大家通过使用阿里云产品函数计算FC,快速使用ComfyUI实现更高质量的图像生成。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
相关文章
|
数据采集 运维 Serverless
云函数采集架构:Serverless模式下的动态IP与冷启动优化
本文探讨了在Serverless架构中使用云函数进行网页数据采集的挑战与解决方案。针对动态IP、冷启动及目标网站反爬策略等问题,提出了动态代理IP、请求头优化、云函数预热及容错设计等方法。通过网易云音乐歌曲信息采集案例,展示了如何结合Python代码实现高效的数据抓取,包括搜索、歌词与评论的获取。此方案不仅解决了传统采集方式在Serverless环境下的局限,还提升了系统的稳定性和性能。
693 0
|
存储 运维 Serverless
千万级数据秒级响应!碧桂园基于 EMR Serverless StarRocks 升级存算分离架构实践
碧桂园服务通过引入 EMR Serverless StarRocks 存算分离架构,解决了海量数据处理中的资源利用率低、并发能力不足等问题,显著降低了硬件和运维成本。实时查询性能提升8倍,查询出错率减少30倍,集群数据 SLA 达99.99%。此次技术升级不仅优化了用户体验,还结合AI打造了“一看”和“—问”智能场景助力精准决策与风险预测。
1648 69
|
数据采集 运维 监控
Serverless爬虫架构揭秘:动态IP、冷启动与成本优化
随着互联网数据采集需求的增长,传统爬虫架构因固定IP易封禁、资源浪费及扩展性差等问题逐渐显现。本文提出基于Serverless与代理IP技术的新一代爬虫方案,通过动态轮换IP、弹性调度任务等特性,显著提升启动效率、降低成本并增强并发能力。架构图与代码示例详细展示了其工作原理,性能对比数据显示采集成功率从71%提升至92%。行业案例表明,该方案在电商情报与价格对比平台中效果显著,未来有望成为主流趋势。
731 0
Serverless爬虫架构揭秘:动态IP、冷启动与成本优化
|
Cloud Native Serverless 流计算
云原生时代的应用架构演进:从微服务到 Serverless 的阿里云实践
云原生技术正重塑企业数字化转型路径。阿里云作为亚太领先云服务商,提供完整云原生产品矩阵:容器服务ACK优化启动速度与镜像分发效率;MSE微服务引擎保障高可用性;ASM服务网格降低资源消耗;函数计算FC突破冷启动瓶颈;SAE重新定义PaaS边界;PolarDB数据库实现存储计算分离;DataWorks简化数据湖构建;Flink实时计算助力风控系统。这些技术已在多行业落地,推动效率提升与商业模式创新,助力企业在数字化浪潮中占据先机。
978 12
|
存储 人工智能 自然语言处理
Cursor这类编程Agent软件的模型架构与工作流程
编程Agent的核心是一个强大的大语言模型,负责理解用户意图并生成相应的代码和解决方案。这些模型通过海量文本和代码数据的训练,掌握了广泛的编程知识和语言理解能力。
1490 1
|
设计模式 机器学习/深度学习 前端开发
Python 高级编程与实战:深入理解设计模式与软件架构
本文深入探讨了Python中的设计模式与软件架构,涵盖单例、工厂、观察者模式及MVC、微服务架构,并通过实战项目如插件系统和Web应用帮助读者掌握这些技术。文章提供了代码示例,便于理解和实践。最后推荐了进一步学习的资源,助力提升Python编程技能。
|
机器学习/深度学习 设计模式 API
Python 高级编程与实战:构建微服务架构
本文深入探讨了 Python 中的微服务架构,介绍了 Flask、FastAPI 和 Nameko 三个常用框架,并通过实战项目帮助读者掌握这些技术。每个框架都提供了构建微服务的示例代码,包括简单的 API 接口实现。通过学习本文,读者将能够使用 Python 构建高效、独立的微服务。
|
存储 消息中间件 人工智能
基于 Apache RocketMQ 的 ApsaraMQ Serverless 架构升级
基于 Apache RocketMQ 的 ApsaraMQ Serverless 架构升级
555 0
|
人工智能 运维 Kubernetes
Serverless 应用引擎 SAE:为传统应用托底,为 AI 创新加速
在容器技术持续演进与 AI 全面爆发的当下,企业既要稳健托管传统业务,又要高效落地 AI 创新,如何在复杂的基础设施与频繁的版本变化中保持敏捷、稳定与低成本,成了所有技术团队的共同挑战。阿里云 Serverless 应用引擎(SAE)正是为应对这一时代挑战而生的破局者,SAE 以“免运维、强稳定、极致降本”为核心,通过一站式的应用级托管能力,同时支撑传统应用与 AI 应用,让企业把更多精力投入到业务创新。
1144 30
|
存储 人工智能 Serverless
函数计算进化之路:AI 应用运行时的状态剖析
AI应用正从“请求-响应”迈向“对话式智能体”,推动Serverless架构向“会话原生”演进。阿里云函数计算引领云上 AI 应用 Serverless 运行时技术创新,实现性能、隔离与成本平衡,开启Serverless AI新范式。
1146 12

热门文章

最新文章

相关产品

  • 函数计算