《南瓜电影7天内全面Serverless化实践-云原生峰会(23页).pdf》由会员分享,可在线阅读,更多相关《南瓜电影7天内全面Serverless化实践-云原生峰会(23页).pdf(23页珍藏版)》请在三个皮匠报告上搜索。
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!