1、南瓜電影 7 天內全面 Serverless 化實踐Pumpkin Film Build Serverless within 7 days莊徐麟南瓜電影 CTO李浩正阿里云 Serverless 產品解決方案架構師01現狀02選型03落地Pumpkin Film Architecture南瓜電影整體應用架構手機端 Android/iOS Android TV/web OSiPad/Android Pad Web/Windows/MacOSH5/小程序多端云服務云安全能力中心PolarDBMongoDBODPSHBASERedisSLSElasticsearchDataHubMQTTARMSAD
2、B DataVFlinkPTS 壓測工具智能推薦Kafka基礎資源ECSNATCDNPCDNVPCRDS會員中心內容中心影評系統搜索引擎鑒權中心放映廳系統商城系統消息中心三方合作安全接入WAFDDOS 高防SLB+API 網關SSL 證書云安全中心數據庫審計云盾RAM保壘機報警中心DataWorks算法視頻增強Traditional operation model cannot satisfy business high-speed development傳統服務器運維無法滿足業務的高速增長Scale-Out耗時太長發版慢&易出錯,回滾麻煩運維監控困難,人員技能要求高資源利用率低權限分配繁瑣環
3、境一致性難保證One hot film speeds up Pumpkin Film to upgrade backend Architecture一場熱映電影加速了南瓜電影技術升級的思考自然爆點,日新增注冊用戶極速突破80W+流量總入口 API 網關 撐不住,緊接著后端服務、數據庫 全鏈路緊急擴容:買 ECS,上傳腳本到新機器,運行腳本,擴容 DB業務快速恢復,但整個運維過程耗時4小時!某電影上映后日新注冊用戶爆發別怪突然襲擊 我可以等,但客戶不會等、業務不會等、市場不會等。第一天第二天第三天方案一:腳本深度優化難點:能緩解問題,但維護成本高、需人工購買 ECS方案二:通過 K8s 容器化解
4、決難點:學習曲線陡峭,短期內很難組建好專業團隊Which solution to choose技術升級選型Why Serverless 應用引擎(SAE)初印象1234監控比較全,查問題應該更快點吧不用買機器、運維機器了,歐耶能自動彈性,想彈多少是多少,這點很贊不用改造,WAR/JAR 包部署,太方便了SAE Practice:CICD Pipeline lifting development efficiency SAE 實戰:CICD Pipeline 加速迭代效率Git pushwebhookDeploy阿里云 OSS可選單批、分批、金絲雀發布等多種發布策略Travis CIGitHub
5、SAE自建監控系統上傳GitHub+Travis CI+SAE(WAR/JAR/Docker 鏡像)SAE Practice:deploy first API gatewaySAE 實戰:上線第一個應用 API 網關容災考慮:SAE+ECS 組合提供服務,逐漸切流,最后將ECS 作為災備鏈路。挑選第一個場景:API網關突發流量較多,最適合使用SAE。ECS 冷備實例ECS 冷備實例.SLBAPI 網關應用Service AService BService CService DService EService F.終端應用SAE 實例SAE 實例DB災備鏈路正常鏈路SAE Practice:AP
6、I gateway auto-scaling to deal with sudden trafficSAE 實戰:API 網關自動擴縮,應對突增流量 構造場景 壓測閾值PTS 壓測工具自動彈性策略配置SAE 資源使用量資源量應用實際所需資源量容量計算模型應用監控 ARMS 服務監控、調用鏈分析 診斷報告 告警應用高可用服務 AHAS 限流降級SAE 自動獲取實時監控指標根據壓測結果設置彈性策略設置限流、降級策略彈性預測按峰值保有資源量時間SAESAE 彈性效果圖SAE Practice:out of box ability of full chain monitoring and analis
7、ysSAE 實戰:開箱即用全鏈路監控&診斷能力能在 SAE 上看到應用的調用關系拓撲圖、可以定位到慢 SQL、慢服務、方法的調用堆棧、進而定位到代碼級別的問題;也能查看各種維度的 Top N 關注應用,實現 1人輕松運維成百上千個應用。SAE Practice:enterprise level ability of authority isolation and approval SAE 實戰:【企業級特性】權限隔離&審批傳統服務器模式:以機器粒度添加權限,操作繁瑣;無運維審批風險大開發1組AECS AECS B資源組1ECS CECS D 資源組2添加 RAM 授權添加 RAM 授權開發2組
8、B添加 RAM 授權跳板機賬號名密碼操作日志賬號名密碼操作日志部署/運維應用部署/運維應用CVSSAE ASAE BSAE CSAE D開發1組開發2組管理員(主賬號)運維操作SAE 發布單暫停審批流程添加 RAM 授權添加 RAM 授權添加 RAM 授權Y(審批通過)SAE 發布單運行部署/運維應用N(審批不通過)SAE 發布單停止ABCSAE 模式:以應用粒度添加權限,方便省心;運維操作可設置審批流SAE brings Pumpkin Film with differences SAE 給南瓜電影帶來的改變發布變快應用發版時間大大縮短,灰度策略配置更詳細的監控,方便快速診斷問題極致彈性自動
9、擴容應對流量突增免運維減少人力成本,讓開發更專注業務監控更完善開發運維效率提升70%成本下降40%擴容效率10倍以上Tips and expectations on SAESAE 避坑指南&一些期待一些期待 SAE 可以覆蓋全鏈路的自動擴容(應用+數據庫+網絡+)優化 Java 冷啟動時間 健康檢查和應用啟動過程耦合度高避坑指南【容災】多可用區部署&應用最小存活實例數【灰度】推薦啟用分批/灰度發布策略,安全生產【提前驗證】健康檢查的正確使用【穩定性】擴容閾值的合理設置【可追溯】建議配置SLS 日志和 ARMS 報警微服務應用應用類型/場景平臺基礎設施平臺提供統一的 K8s 集群IaaS 資源層
10、(神龍+ECI+VPC+NAS+SLB)Serverless 應用引擎阿里云沙箱容器 2.0應用管理自動構建鏡像無損上線&下線微服務流量灰度分批/金絲雀發布Java 冷啟動加速權限隔離/審批Spring Cloud/Dubbo 無縫遷移一鍵啟停環境自動彈性伸縮端云聯調Web 應用視頻會議SaaS 類服務創新應用(IOT&區塊鏈)通過 WAR/JAR/PHP zip 源碼包/Docker 鏡像等多種方式部署事件中心Serverless 應用引擎 SAE:All on Serverless覆蓋全場景應用,讓 Serverless 從專用到通用,從復雜到簡單微服務零改造無縫遷移Web 應用一站式托管
11、零門檻容器化,無感擁抱K8s前端全棧小程序全套微服務治理運維配套靈活彈性,極致效率&成本SAE big launchSAE 重磅發布彈性能力 2.0業界首發混合彈性策略:定時和指標策略混用;在開源 K8s 能力上,豐富業務彈性指標,支持高級彈性配置Java 冷啟動提速 40%極致部署效率 15s一站式 PHP 應用托管聯合 Dragonwell 突破 Java 應用冷啟動瓶頸,提速40%應用發布全鏈路升級:阿里沙箱容器2.0、鏡像加速、ACREE 等提供端到端部署極致體驗支持 PHP zip 源碼包部署,支持多種運行時環境和自定義擴展無縫集成應用監控能力SAE Best Practice 1:
12、lower entry barriers on microservice transformationSAE 最佳實踐1:低門檻微服務架構轉型VS.WAR/JAR/Docker 鏡像用戶中心群組中心資源中心SAE (Serverless PaaS 平臺)認證中心學習中心.Spring Cloud 應用唐負載均衡日志管理環境隔離服務注冊/發現配置管理限流降級服務安全IaaS 購買&運維應用運行環境管理業務應用1業務應用2業務應用NGPE APM客戶需要關心的平臺提供的傳統微服務架構開發模式Serverless 架構微服務應用開發模式應用生命周期管理彈性伸縮灰度分批發布適用場景通用行業從單體演進到
13、微服務架構開源自建微服務不能滿足高級治理和穩定性需求價值:開箱即用,降低學習和研發成本穩定性背書,歷經雙11考驗的微服務最佳實踐SAE Best Practice 2:one click to start and pause development&test environmentSAE 最佳實踐2:一鍵啟停開發測試環境應用實例應用實例應用實例應用實例應用實例應用實例應用實例應用實例應用實例應用實例生產環境命名空間一鍵開啟所有應用測試環境命名空間一鍵開啟所有應用應用實例應用實例應用實例應用實例應用實例應用實例應用實例應用實例應用實例應用實例應用實例應用實例應用實例應用實例應用實例應用實例應用實
14、例應用實例應用實例應用實例生產環境命名空間一鍵開啟所有應用測試環境命名空間一鍵停止所有應用所有應用的實例均縮容到 0,不產生計費。但系統會保留應用配置信息,便于需要時一鍵秒級拉起。白天夜晚適用場景中大型企業多套環境,測試&預發環境一般晚上都不使用,長期保有應用實例,閑置浪費高。價值:節省閑置成本,光測試環境能節省2/3的機器成本。SAE Best Practice 3:Full chain canary releaseSAE 最佳實踐 3:全鏈路灰度的解決方案GreyConsumer灰度規則灰度規則Agent灰度規則/query.json|_cookie:y1/|_header:x=10Gre
15、yProviderAgentProviderAgentConsumerAgentSLBGatewayAgentheader:x=10 Consumer 需要增加一個 Interceptor,將 header、cookie 等傳遞給 provider適用場景調用鏈中因個別/部分應用新上線,需要精準用戶灰度驗證價值:控制最小爆炸半徑無需重新搭建一整套新環境,降低部署運維和硬件成本能覆蓋七層流量到四層微服務接口、方法的灰度SAE Best Practice 4:lower cost with elastic resource poolSAE 最佳實踐 4:作為彈性資源池降本適用場景彈性時長極短,或者
16、峰值流量和常態流量差異較小從 ECS 遷移到 SAE 的過渡方案價值:免容量規劃,彈性實例免運維提升擴容效率,輕松應對突發流量;降低硬件成本業務側 To do:SAE 和 ECS 的實例需使用同一個 SLB,同一個注冊中心自建發布系統需保持 SAE 和 ECS 實例版本一致性;自建監控系統,需規整 SAE 和 ECS 的監控數據外部負載均衡(服務注冊中心)SAE 彈性實例 0-N NAS/OSSRDS日志服務 SLSApp AApp AECS 保有實例流量高峰觸發彈性自建彈性服務業務管控平臺自建發布系統自建監控系統SAEAll on Serverless,Simple is the best!