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

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

背景

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

 

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

 

目前,风变聚焦于人工智能教学,主要产品为「风变编程」自20191月上线以来,为全球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常用框架DjangoFlaskFastAPITornado以及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时代。

相关实践学习
基于函数计算一键部署掌上游戏机
本场景介绍如何使用阿里云计算服务命令快速搭建一个掌上游戏机。
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
2天前
|
运维 Cloud Native 持续交付
构建未来:云原生架构在企业转型中的关键角色
【5月更文挑战第21天】 随着数字化转型的浪潮席卷全球,企业正面临前所未有的挑战与机遇。本文深入探讨了云原生架构如何成为推动企业敏捷性、可扩展性和创新能力的核心动力。通过分析云原生技术的基本原理及其在各行各业中的应用案例,揭示了该技术如何助力企业实现资源优化、加快产品上市时间以及提高服务质量。文章旨在为企业决策者和技术实践者提供洞见,以便更好地理解和应用云原生架构,从而在竞争激烈的市场中保持领先地位。
|
2天前
|
Cloud Native Devops 持续交付
构建未来:云原生架构在现代企业中的应用与实践
【5月更文挑战第21天】 随着数字化转型的加速,企业对于敏捷性、可扩展性和成本效益的需求日益增长。云原生技术以其独特的优势应运而生,成为推动企业IT架构现代化的重要力量。本文将深入探讨云原生架构的核心概念、关键技术以及如何在企业中实施云原生解决方案,以实现真正的弹性、自动化和持续交付。
|
2天前
|
运维 监控 JavaScript
【阿里云云原生专栏】Serverless架构下的应用部署与运维:阿里云Function Compute深度探索
【5月更文挑战第21天】阿里云Function Compute是事件驱动的无服务器计算服务,让用户无需关注基础设施,专注业务逻辑。本文详述了在FC上部署应用的步骤,包括创建函数、编写代码和部署,并介绍了运维功能:监控告警、日志管理、版本管理和授权管理,提供高效低成本的计算服务。
126 6
|
3天前
|
存储 弹性计算 Cloud Native
AutoMQ:如何基于阿里云计算与存储产品实现云原生架构升级
AutoMQ:如何基于阿里云计算与存储产品实现云原生架构升级
|
6天前
|
安全 Serverless API
Serverless架构在图像处理中展现出高成本效益,按需付费降低费用,动态调整资源避免浪费
【5月更文挑战第16天】Serverless架构在图像处理中展现出高成本效益,按需付费降低费用,动态调整资源避免浪费。其出色的并发处理能力和自动扩展确保高并发场景的顺利执行。简化开发流程,让开发者专注业务逻辑,同时提供丰富API和集成服务。安全方面,Serverless通过云服务商管理基础架构和多种安全机制保障任务安全。因此,Serverless是处理高并发、动态需求的理想选择,尤其适合图像处理领域。随着技术发展,其应用前景广阔。
18 4
|
8天前
|
Cloud Native 安全 持续交付
构建未来:云原生架构在现代企业中的应用与挑战
【5月更文挑战第12天】 随着数字化转型的浪潮不断冲击传统IT架构,企业亟需灵活、高效且可扩展的技术解决方案以保持竞争力。云原生技术作为一种新兴的系统构建方式,以其独特的弹性、微服务和持续交付等特性,成为推动企业快速响应市场变化的关键因素。本文将深入探讨云原生架构的核心组件,分析其如何促进企业的敏捷性,以及在实施过程中可能遇到的挑战和解决策略,为企业采纳云原生技术提供参考。
|
8天前
|
Cloud Native Devops 持续交付
构建未来:云原生架构在现代企业中的应用与挑战
【5月更文挑战第11天】 随着数字化转型的深入,企业对技术的敏捷性、可扩展性和成本效益提出了更高的要求。云原生架构作为一种新兴的设计理念和实践方法,正逐渐成为推动企业技术革新的关键力量。本文将深入探讨云原生架构的核心组件,包括容器化、微服务、持续集成/持续交付(CI/CD)以及DevOps文化,并分析它们如何共同作用于企业的IT基础设施,实现灵活、高效的运营模式。同时,我们也将识别在采纳云原生技术时面临的主要挑战,并提出相应的解决策略,以帮助企业顺利过渡到云原生时代。
|
8天前
|
运维 Cloud Native 持续交付
构建未来:云原生架构在现代企业中的应用与挑战
【5月更文挑战第9天】 随着数字化转型的浪潮席卷全球,企业正迅速采纳云原生技术以实现敏捷性、可扩展性和弹性。本文深入探讨了云原生架构的关键组件,包括容器化、微服务、持续集成/持续部署(CI/CD)和DevOps文化,并分析了这些技术如何帮助企业加速产品上市时间,提高运营效率,并最终实现业务目标。同时,文章也识别了企业在采纳云原生实践中可能面临的挑战,如安全性考量、团队技能提升和复杂的网络管理,并提出了相应的解决方案和最佳实践。
|
8天前
|
存储 Cloud Native 对象存储
AutoMQ:如何基于阿里云计算与存储产品实现云原生架构升级
AutoMQ[1] 是新一代基于共享存储架构实现的云原生 Kafka。得益于其存算分离的共享存储架构,通过和阿里云合作,深度使用阿里云可靠、先进的云服务如对象存储OSS、块存储 ESSD、弹性伸缩ESS以及抢占式实例实现了相比 Apache Kafka 10倍的成本优势并且提供了自动弹性的能力。
83490 5
AutoMQ:如何基于阿里云计算与存储产品实现云原生架构升级
|
8天前
|
监控 云计算 开发者
探索云计算中的无服务器架构:从概念到实践
无服务器架构作为云计算领域的新兴技术,正在以其高效、灵活的特性吸引着越来越多的开发者和企业。本文将深入探讨无服务器架构的概念及其在云计算中的应用,通过实际案例展示如何利用无服务器架构构建可靠、可扩展的应用系统。

热门文章

最新文章

相关产品

  • 函数计算