Serverless AI训练营:课时6:如何通过 0 改造,享受 Serverless 技术红利(二)
课时6:如何通过 0 改造,享受 Serverless 技术红利(二)
2. SAE 整体解决方案-前后端全链路灰度
前后端全链路灰度打通了一些请求,通过网关consumer 、 provide 在 agent 上根据规则进行相关的路流。
用户只需要经过白屏化的一些配置就能够实现全链路灰度。就是说我们可以让用户去完成一项配置之后,让某些特定的请求,达到一个特定的版本,他们在同一个环境,但属于不同的版本。
比如现在某个APP产品可能希望上海的用户或者杭州的用户先灰一部分,杭州的用户到新的版本。那么在杭州用户的后端里面带一个ID,根据ID在整个链路中,带着这个ID的请求,传递到后端时,会分发到对应的不同的版本。
就是新的用户可以通过灰度转发到新的版本里面,能够尽可能的降低发布时造成的故障。比如说如果发现有一些用户访问服务真的有问题,说明很有可能新版本有问题。那怎么办?可以缩小爆炸范围,爆炸半径,即使有故障,也可以让故障尽可能缩小。
3. SAE整体解决方案-CloudToolkit端云联调
应用整体环境在云端,那么本地服务如何安全、便捷的调用云上服务呢?应用数比单体多很多很多,本地开发调试会很成问题,我们也在ID的插进上做了一些适配。
需要在本地起一个 Comsumer Provider 就能够与云上的测试环境进行联调,极大降低了本地与云端的联系的门槛。通过这个跳板机,可以保证相应的安全的问题。原理其实就是通过跳板机将本地的服务,注册到云端的注册中心,然后就可以通过这个通道进行相关的调用。
4. SAE整体解决方案-强大的应用监控&诊断
(1)Metrics Aggregatabl
基础监控: cpu,mem,load,network,disk,io应用监控:qps,rt,异常数,http状态码,jvm指标监控告警:丰富的告警源上报,告警收敛处理,多种告警渠道触达。
(2)Tracing Requestscoped
请求调用链堆栈查询应用拓扑自动发现、常用诊断场景的指标下钻分析、事务快照查询、异常事务和慢事务捕捉。
(3)Logging Evenits
实时日志: stdout,stderr实时查看
文件日志:自定义采集规则,持久化存储,高效查询
事件:发布单变更事件,应用生命周期事件,事件通知回调机制。
在微服务的体系下,应用数量非常多,定位问题非常困难,就是需要具备一个非常高的要求。SAE具备了阿里云的ams云监控等产品,在 Metrices 、Tracing 、以及 Logging方面都相对提供了比较完整的方案,切实解决了开发者在可观测性上的一些痛点。包括技术监控、调用链等等。接下来实际操作一下,大家可以看到在精测方面体验是非常好的。
三、SAE的技术原理和极致弹性建设
我们是如何实现 Serverless 底座,让用户免用为开发SAE以及SAE等资源,实现一个极致的弹性。
1. SAE业务架构
通过SAE这张业务架构图可以清晰看到,SAE不仅实现了原生的 Serverless 里面,即免运维的SAE,而且也辐射了更高层,包括平台测托管的开发的开发集群,以及 Pass 文件的各种争抢。
另外我们可以提供一个非常高效弹性的一个效率,帮助用户在多种场景下能够降到成本。那么SAE是如何实现平台托管、开发S、以及S资源.这里的核心问题在于计算资源的隔离,网络存储资源的隔离。
(1)实现了 Serverless 架构+ 微服务架构 的完美结合,支持多种微服务框架、多种部署渠道(U1、Jenkins/云效、插件等)、多种部署方式 (war、jar、镜像)核心场景主要面向在线应用: 微服务应用、web 应用、多语言应用等。
(2)开发者工具/Saas类服务集成:Cloudtoolkit插件、云效RDC/Jenkins代码库、镜像仓库、saas类服务。
(3)支持应用类型:Spring Cloud应用、Dubbo应用、HSF应用、Web应用、。多语言应用
(4)Serverless应用引擎(SAE)
应用管理:应用生命周期、多发布策略、弹性伸缩、应用监控、日志管理、一键启停。
微服务治理:服务注册发现、配置管理、负载均衡、优雅下线、限流降级、服务安全。
(5)0代码改造:微服务无缝迁移,开箱即用支持war/Jar自动构建镜像。
15s弹性效率:应用端到端快速扩容,应对突发流量。
57%降本提效:多套环境按需启停,降本且提效。
2.SAE技术架构