云端研发新基建:Serverless与持续架构服务落地实践
在《我心中的云時代原生開發環境》這篇文章中,我們探討過云廠商的愿景,云計算的趨勢與現狀以及研發團隊的架構服務訴求等背景。今天,我想結合我們打造的云開發平臺(Cloud Workbench)跟大家進一步聊聊,如何打造全云端研發的新基建,去服務好研發團隊和用戶。
?
云時代創新核心要素
首先,讓我們快速將視野放大到社會商業爆炸式增長的云時代,無論是創業公司還是發展中的公司,都希望能有一個低成本、可持續支撐的架構服務,幫助自己的業務持續發展,用戶流量從小到大,無需變更架構,更不用中斷業務。
這種架構服務訴求背后的核心痛點體現在業務快速試錯與流量快速增長之間的矛盾。如果從傳統的架構方式去思考,這個問題很難調和:如果要快速奔跑,就沒有時間好好思考設計架構;如果架構設計不好,就無法支撐未來巨大的流量;而如果花時間把架構設計好再動手,就沒辦法快速奔跑,很可能錯過一個商業創新的時間窗口。另外,還有一個未知的疑問,這個設計好的架構真的夠好么?
結合我們之前的探索實踐,我們知道,借助云原生 Serverless 的能力:實時彈性、按量付費,正好可以幫助我們把上述問題提升到一個新的維度去解決:業務完全可以放飛自我快速奔跑,架構服務由云原生Serverless矩陣來提供,保證流量再大也不怕。
?
中小研發生態現狀
基于上述的一個判斷,我們認為,現代商業社會的啟動過程:從一個 idea 的誕生,到快速試錯,再到上線服務用戶的過程,有了一個很好的方案去支撐。但是,就像布道師們經常講的一句話,人人都在談云原生 Serverless,實際上并不是人人都知道怎么落地 Serverless。我們不妨來看幾個真實的創業公司案例。
案例一,天貓精靈技能業務
天貓精靈的技能應用開發本身與天貓精靈開發者平臺之前的連接較為松散,技能應用的開發對于一個中小開發者而言,啟動成本較高。開發技能應用過程中的技術棧和方案也因人而異,因團隊而異,也由于廣大的開發者對技能應用背后的大流量沒有一個一致的高水位保障,使得天貓精靈平臺在做推廣的時候也經常遇到阻力,擔心在推廣之后,很多技能無法承載大量涌入的活動流量,反而影響活動效果;
案例二,某直播互動健身創業公司
Y 公司是一家面對面直播互動健身的創業公司,研發團隊的構成有 2 個前端、2 個后端、1 個架構師、1 個 iOS、1 個產品經理、1 個設計師,產品的構成有微信小程序、iOS APP、Android APP、PC 端 WEB 應用;
當前的核心痛點及訴求:
案例三,某軟件外包服務商
O 公司是一家 base 杭州的軟件外包服務商,他們的研發團隊構成為:5 個 Java、4 個前端、1 個iOS、1 個Android、1 個產品經理、2 個測試、5 個商務、6 個品牌、2 個 UI 設計;
當前的核心痛點及訴求:
?
核心要解決的問題以及產品化思考
我們將上述調研的客戶反饋訴求進行梳理,可以歸納出以下幾點訴求:
人員、業務盡可能做到快速啟動,低成本啟動。開發人員能夠快速進入業務開發,架構師能省就省,業務能夠基于行業現有解決方案、基本業務架構、業務模塊盡快啟動;
開發人員的時間盡可能投入到業務開發中,但同時要保證業務所用技術架構的先進性:一個人的時間是恒定的,如何幫助中小企業把人員投入業務的時間從60%提高到99%,同時還能確保業務背后所用的技術棧及技術架構是行業內廣受認可的;
線上業務能夠做到按量付費:1、業務的流量高峰不會成為業務增長的瓶頸;2、類似于外包服務商/ISV,可以為他們的客戶靈活制定彈性的服務體系;
基于以上三點,我們進一步抽象用戶群體以及場景和服務策略:
主要用戶群體
中小體量研發團隊及創業公司研發團隊;
要做開發生態的業務或平臺;
行業軟件/解決方案ISV/服務商;
場景和服務策略
1、在快速商業化試錯的創新創業場景下,通過集成設計以阿里云 Serverless 產品線為矩陣的業務架構,幫助用戶快速迭代業務,同時保證業務上線后無需變更架構就可以持續支撐不斷增長的流量,確保業務不中斷,提高試錯效率,降低試錯成本;
2、在研發人員需要支持多業務線切換調度的場景下,通過集成云效研發協同底座的能力構建在線研發團隊,通過設計解決方案實例化的能力構建統一應用開發環境,降低開發者在業務切換中的沉默成本,讓開發者可以快速且專注地進入業務邏輯的開發,提高研發效率;
3、在需要快速啟動業務的場景下,通過構建三套業務環境,幫助用戶實現環境在線,降低環境準備的時間成本與投入成本;
4、為研發團隊提供一種將應用開發方法和結果抽象成標準的格式化的解決方案的能力,用該解決方案統一快速地教育開發者;
定義了用戶群體、問題、場景以及服務策略之后,我們開始嘗試去定義這個產品:
我們要去打造一個全云端研發工作的平臺,以業務、研發任務為用戶界面,用戶對云產品的感知盡量保持并限制在必要的情況之下,但是平臺要在背后為他們提供一系列先進的云原生Serverless架構服務,同時,具備讓用戶的團隊、環境、代碼、協同等等實現在線的能力,幫助目標用戶群體省錢、省時、可持續發展。
?
核心技術方案
作為一個面向用戶業務視角而非云產品或任何單項研發能力視角的設計,背后就必不可少的要跟非常多的系統、產品、能力進行集成;并且,要達成與用戶業務視角的關聯,又需要額外設計一套核心應用模型去支撐。這里,我們通過兩個架構設計,向大家闡述我們的實現思路與方式。
系統集成架構
認同在線協同是大趨勢。我們把自己定義為大協同領域的一環,最好能夠依托于一個更具全局性的團隊在線協同底座去建設,我們與云效合作共建,基于一個共同的團隊模型以及數據去設計實現不同的領域能力。
原子研發能力分布廣泛,以代碼為主線進行串聯設計,在開發者用戶路徑中,我們與 Codeup、Flow 等產品進行集成,與經濟體共建 IDE 集成,共同推出 CloudIDE,為開發者提供從云上代碼托管到云上研發,再到云上 CICD 的一站式服務;
解決方案實例化架構
用技術語言來描述的話,可以把解決方案實例化架構核心要解決的問題理解成將一個行業應用的開發經驗進行 “序列化” 與 “反序列化” 的過程。
我們與 OAM 團隊合作,以 OAM 為規范,對構成一個行業應用的研發環境以及依賴資源進行格式化、規范化的描述,生成一個云開發平臺所能理解和認識的解決方案,這是“序列化”的過程;
當云開發平臺去解析一個解決方案,核心會做兩件事情,一是分析和生成一個基于阿里云產品矩陣構成的云原生 Serverless 架構,另一件事情是將依賴的資源做打包上傳等預處理;然后開始生成任務,逐一進行生產、創建、安裝,直至一個行業應用被初始化完成,這是“反序列化”的過程;
通過這種設計,我們實現了云開發平臺最為核心的能力:
幫助行業開發生態格式化、規范化地沉淀經驗;
幫助行業開發生態快速分發、復制行業應用開發經驗;
幫助行業開發生態無縫升級至先進的云原生Serverless架構;
?
阿里云云開發平臺正式上線服務
2020 年 4 月 23 日,阿里云云開發平臺聯合天貓精靈智能應用平臺共同發布,上線云開發服務功能;2020 年 4 月 28 日,阿里云云開發平臺聯合阿里前端委員會 Serverless 小組,共同發布基于 Ali Midway FaaS 框架的前后端一體通用 NodeJS 解決方案。2020年5月28日,與阿里巴巴云原生團隊合作推出基于 SpringCloud、MSE 的微服務應用開發解決方案,輕松將微服務開發并部署在 Serverless 平臺之上,幫助開發者以 0 啟動成本、基于云原生 Serverless 架構服務,3 分鐘極致效率,完成一個標準技能應用的創建和部署。
在 Roadmap 中,還有小程序、大數據等場景解決方案將陸續上線。
感受云開發平臺的極致特性
1 個開發界面
- 打開瀏覽器就能開發
- 不管你用什么設備,電腦、手機、平板
- 不管是什么操作系統,Windows、MacOS、Linux、Android、iOS
1 套統一的業務環境
- 統一的云上開發和業務環境(支持 NodeJS,Java,PhP,Python, C# 等主流語言)
- 登錄即完成配置,無需等待,專注業務創新
- 遠程協同開發、所測即所得、測完即上線
1 個領先的架構
- 基于業界領先的 Serverless 架構
- 最快 1 秒鐘部署
- 按量付費不浪費,自動擴容不宕機
N 個行業應用場景
- 解決方案模版化
- 最快 3 分鐘上線一個行業應用(通用 WEB 應用,AIoT 應用,微服務應用等等)
- 99% 時間聚焦在業務,開發更專注
了解云開發平臺的運作方式
云開發平臺是一個可以滿足開發者、研發團隊完全基于「云+瀏覽器」就能完成日常開發工作的環境。它的設計理念是使自己成為團隊大協同中的一環,它會跟阿里云諸多研發能力和工具進行集成,比如:云效企業協同底座、CloudIDE、Codeup、Flow 等等,籍由強大的阿里研發生態,為用戶提供更大的協同研發可能,用戶可以在使用云開發平臺的時候,根據業務的需要,主動選擇去開通使用更多類似于項目管理、需求管理、文檔管理等其他服務。
同時,為了幫助用戶提供一個無縫應用阿里云服務的環境,云開發平臺會跟阿里云的諸多云產品進行集成,隨時為用戶的使用而準備;用戶可以在云開發平臺創建基于各種場景解決方案的應用,并為每個應用選用不同的云服務,這些云服務會開通在用戶的阿里云主賬號之下,用戶主動開通的各種云資源會按照用戶的使用,正常地計量計費。
云開發平臺鼓勵所有的場景解決方案盡可能多的基于阿里云的 Serverless 類型產品去提供服務。Serverless 類型的產品都具有實時彈性以及按量付費的特征,這可以幫助到商業化研發團隊,以盡可能低的成本去實現自己的商業價值。
?
云開發平臺具體如何真實地幫到目標用戶群體
1、云開發平臺如何幫助用戶實現線上輕量化團隊協同?
我們聯合云效,共同構建了一個在線研發團隊的能力,團隊規模從 1-10 人到 1000 人以上,全都免費提供,助力企業快速成長!
1 分鐘完成研發團隊的在線化:在云開發平臺,團隊管理者創建好自己的企業,然后創建一批子賬號分配給每一個團隊成員,團隊即完成了在線化;
如果用戶企業內已經有一套域賬號系統,那么通過對接阿里云 SP 的 SAML 配置之后,能夠方便實現用域賬號的 SSO;
如果團隊并非組織關系型怎么辦呢?在云開發平臺,團隊管理者創建好自己的企業,然后復制邀請鏈接,發送給那些并非組織關系里的成員,收到邀請的成員確認加入團隊即完成團隊的在線化;
2、云開發平臺如何幫助用戶實現業務的快速啟動呢?
團隊在線之后就要開始啟動業務。
新業務秒級啟動:在云開發平臺,團隊管理員可以從應用場景中,選擇一個成熟的行業應用解決方案,秒級完成應用的創建;
業務開發人員直接進入業務開發,100% focus 在業務的開發交付:在云工作臺,我們優化了以往傳統線下研發模式中人人需要配置開發環境的弊端,將人人要做的事情,交由應用管理員一人執行,業務開發者登錄云開發平臺即開始業務開發;
3、云開發平臺如何幫助用戶實現研發環境的升級呢?
團隊在線了,應用在線了,還剩下的環節就是代碼和研發過程。
安全可靠且免費的代碼托管服務:云開發平臺聯合阿里云 Codeup,在云開發平臺創建的每一個應用,都會自動分配一個免費的代碼倉庫,為用戶提供安全可靠且免費的代碼托管服務,幫助用戶實現代碼在線;
功能強大的云端開發環境:云開發平臺聯合阿里經濟體共建團隊推出自研 CloudIDE,為用戶提供功能強大,兼容 VS Code 插件生態的云端開發環境,內置NodeJS,Java,PhP,Python, C# 等主流語言開發環境,開箱即用,體驗媲美本地;當然,開發者也可以選擇將代碼克隆到本地,繼續以個人偏好的開發習慣進行開發,之后隨時將代碼同步到云端,做到云端與本地的實時同步;
業界領先的Serverless架構:在每一個應用的背后,都有強大的阿里云Serverless產品矩陣構成的架構服務在支撐,API Gateway+Function Compute組合、VPC+ECI+EIP組合等等,保障每一個應用上線,都能穩穩地支撐,輕松助力用戶不斷攀登新的業績高峰;
0成本啟動:基于強大的云開發平臺服務以及阿里云Serverless架構矩陣,我們幫用戶把 Serverless 如絲般順滑落地到他們的業務之中,大膽開發,放心試錯,無需為云開發平臺支付任何費用;
?
回顧
在這次突如其來的疫情期間,所有人都隔離在家,也許千人規模的企業能夠有內部的強大 IT 系統做支撐,整個企業仍然可以進行遠程異地運轉,但是對于廣大的初創及成長中的企業,這種能力無疑是稀缺的,而在線,可能是未來的一個趨勢和常態。隨著阿里云云開發平臺服務的上線,我們可以真正幫助到這些企業,通過用戶業務視角、用戶研發界面、提供云計算的開箱即用,去釋放云上研發,Serverless架構的技術紅利,推動云計算的普惠價值。
?
云開發百萬補貼活動
云開發平臺補貼活動進行中,4大免費權益讓你暢快體驗全云端開發,無需配置環境0門檻上手,利用iPad都能夠分分鐘上線一款應用,個人博客、個人相冊、視頻應用、todos應用模版任你選。上線免費領取50元無門檻阿里云代金券!
原文鏈接
本文為云棲社區原創內容,未經允許不得轉載。
總結
以上是生活随笔為你收集整理的云端研发新基建:Serverless与持续架构服务落地实践的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 容器环境自建数据库、中间件一键接入阿里云
- 下一篇: 阿里云 MaxCompute 2020-