【獵雲網北京】12月15日報導
背景
風變科技 一個希望通過技術去推動下一代基礎教育的組織。旗下產品包括第一代的熊貓書院(讀書類產品)、第二代的熊貓小課(泛學科綜合學習平臺),以及現在的風變編程(成人python教育)和風變人生設計(個人職業生涯規劃類)。
風變一直在挑戰自動化教學時長的極限,探索自動化教學效果的邊界。開闢了網際網路在線教育的新紀元——交互式、遊戲化的自動化教學方式,打造沉浸式的學習體驗,讓用戶高效掌握知識,減少知識在傳播過程中的損耗。
目前,風變聚焦於人工智慧教學,主要產品為「風變編程」自2019年1月上線以來,為全球250萬+用戶提供了850萬+ 堂課,並以實驗環境下單節課98%的完課率創造了遠超行業平均水平的神話。
在這些光鮮的數字背後,風變研發團隊「新矩陣」面臨著巨大的挑戰,面對產品功能不斷創新、業務規模迅速增長等挑戰,通過不斷升級前後端架構,提升團隊技術水平以及依靠強大的運維團隊攻克著每次的突發情況。"腳踏實地先把技術發展起來"是風變科技CTO一直以來對團隊的要求,「用技術推動下一代的基礎教育」是風變的使命,也是每位風變人心中的理想。
Serverless升級之路
風變科技前端架構師Function認為任何架構設計都是歷史下的產物,脫離實際情況談最優解都是不切實際的想法,如何在有限的人力資源和更優的方案中取得平衡,就像一棟大廈,工程師設計出結構穩定和考慮長遠的方案(可擴展性),施工人員不偷工減料(代碼質量),那麼這座大廈才能長久屹立,也能更好的面對新工程不斷改造。反之,如果缺乏對架構演進的理解,缺乏對於基礎設施能力的理解,缺乏對風險的判斷,盲目的上新技術可能不僅無法兌現業務價值,浪費精力,還會引入無謂的技術風險。
Serverless為什麼讓那麼多前端著迷?它的魅力到底在哪裡?
1.從前端工程師的個人角度來講,前端技術已進入深水區(大前端時代),更能證明自己的不是資源,而是可以創造更多的業務價值。因此都希望能擴大自己的業務範圍,進而才能有職業發展,僅做前臺展現碰不到核心業務,價值得不到體現。
2.從公司和團隊的考慮,前端團隊的核心在於業務價值,接入Serverless不是目的,目的是讓前端能夠藉助Serverless更加專注於業務邏輯,創造出更多業務價值,實現全棧工程師的角色轉變。
紙上得來終覺淺,絕知此事要躬行。風變的開發模式、工具、腳手架已經標準化、流程化,存量業務正在線上穩定運行,如何將 Serverless 融入到現有開發模式和工具中,存量業務的遷移如何絲般潤滑等等技術痛點,在風變前端基建團隊的努力以及阿里雲Serverless雲開發平臺團隊的助力下,已經完成了serverless架構的整體建設,與前端工程化和自動化相結合,並且集成本地CICD工作流,通過對應的邏輯採用命令行工具將開發鏈路串聯起來形成工具鏈,讓風變所有前端工程師能更好地創造出更多的業務價值,讓成為全棧工程師變成可能。
阿里云云開發平臺賦能
阿里云云開發平臺,https://workbench.aliyun.com,是阿里雲面向廣大開發者及企業提供的雲上研發工作平臺,助力研發團隊實現工作的在線化(團隊在線、環境在線、代碼在線、協同在線)以及研發模式Serverless化,幫助研發團隊實現對行業架構經驗及架構服務的高效分享與傳播,極致提升研發效率,極致降低研發成本。
阿里云云開發平臺為企業開發Serverless應用提供了幾種重要能力:
存量項目可遷移
目前開發者體驗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應用,也可實時預覽、查看運行時輸出,不用部署即可完成功能性驗證,敏捷開發靈活迭代。
Serverless升級體驗
風變科技的官網以及多個中後臺系統升級到Serverless架構後,在某些方面感受到了明顯的不同:
原有存量工程零改動直接升級Serverless架構,開發模式開發規範等均不改變
部署方便,直接集成到企業CICD流程中
通過阿里云云開發平臺提供的Open API,集成進公司內部獨有的開發命令行工具Rakete,實現團隊內部開發鏈路一體化打通
上線後無需運維,自動彈性擴縮容
完備的日誌和流量監測功能,實時掌握服務運行狀態
上線一個月,成本環比下降了45%
下一步,風變科技會和阿里云云開發平臺深入合作,將在全站推動項目升級,徹底擁抱雲原生Serverless時代。