函数计算在双11小程序场景中的应用阿里云函数计算技术专家 函数计算在双11小程序场景中的应用 关注“阿里巴巴云原生”公众号 回复 1124 获取 PPT自我介绍 •吴天龙(花名: 木吴) •阿里云函数计算技术专家 •2013 年加入阿里云,参与分布式数据库, 对象存储等产品的开发。现任阿里云函数 计算架构师,聚焦于 Serverless 产品功 能和大规模资源伸缩调度、性能优化等系 统核心能力的研发。❖ 函数计算介绍 函数计算介绍 ❖ 双11小程序场景介绍 ❖ 技术挑战 ❖ Demo 目录函数计算-介绍 • 通用Serverless计算平 台 • 与云端事件源无缝集成 • 弹性伸缩,按量付费函数计算-介绍双11小程序场景介绍小程序场景的挑战 n 安全隔离 n 开发效率 n 大量的小程序是不活跃的 n 活动高峰期流量激增函数计算-冷启动优化 Download & Extract Code User 10ms~60000ms 预留实例 0ms 0ms函数计算-弹性伸缩 C1 C1 C2 C1 C2 时间 t1 t2函数计算-预留实例 • 预留实例:性能好 • 按量实例:按需使用函数计算-预留实例 预留实例 按量实例 效果 0 0 禁止调用 10 0 只使用预留实例,固定费用 0 10 只使用按量实例,按需付费 10 5 混合模式,兼顾性能和成本函数计算 DemoThank you !0 码力 | 13 页 | 6.95 MB | 6 月前3
Service Mesh结合容器云平台的思考和实践微服务结合容器云平台的思考和实践 2018.06.25 徐运元关于我 2008年毕业于浙江大学,曾在思科和浙大网新有超过 9年的工作经验和5年的云计算领域工作经验,带领团 队完成公司第一代基于Kubernetes的云平台开发和第 二代基于Kubernetes的DevOps云平台开发 来自于浙江大学SEL实验室目录 CONTENTS Kubernetes平台下的微服务演进 Pilot核心功能解读 易于访问的外围(负载均衡) • 服务注册和发现 致富问题 • 认证和授权 • 智能路由 • 流量管理 • 服务降级 • … • 微服务拆分原则 • 业务API设计 • 数据一致性保证 • 可扩展性考虑 • …Kubernetes对于微服务的支撑 功能列表 详情 快速资源分配 容器编排和调度 服务部署&弹性伸缩 Deployment 服务注册&服务发现 Service概念和分布式DNS API网关 终端用户认证Istio的核心组件 • Envoy 是一个高性能轻量级代理,它掌控了service的入口流量和出口流量,它提供了很多内置功能,如动态负 载服务发现、负载均衡、TLS终止、HTTP/2 & gRPC流量代理、熔断、健康检查等功能。 • Mixer 翻译过来是混音器,Mixer负责在整个Service Mesh中实施访问控制和使用策略。Mixer是一个可扩展组 件,内部提供了多个模块化的适配器(adapter)。0 码力 | 28 页 | 3.09 MB | 6 月前3
蚂蚁金服双十一 Service Mesh 超大规模落地揭秘Mesh-现状 5.客户端中间件版本的统一 9% 3.流量调度的诉求 18% 4.框架不断升级 14% 2.机器资源逐年增加 27% 1.业务和框架耦合 32%8 因为我们要解决在 SOA 下面,没有解决但亟待解决的: 基础架构和业务研发的耦合,以及未来无限的对业务透明的稳定性与高可用相关诉求。 为什么要 Service Mesh-结论9 为什么要 ServiceMesh-结论-方案 方案落地-框架升级后 应用代码 SOFABoot_Old SOFABoot/SOFARPC API SOFABoot_New JVM RPC 检测 pod 变量,注 入启动参数 判断开启了 MOSN 发布和订阅服务 直接调用,关闭寻 址功能 其他16 方案落地-容器替换 Pod Pod Old Pod New With MOSN Pod New With MOSN0 码力 | 26 页 | 2.71 MB | 6 月前3
蚂蚁金服Service Mesh渐进式迁移方案每一步都为下一步奠定基础 • 谢绝中途推倒重来 循序渐进 • 不要有一步登天的幻想,小步快跑 • 每一步的工作量和复杂度都控制在可 接受范围内 • 每一步都简单方便,切实可行 可操纵性 • 操作层面上要有足够的弹性 • 每个步骤都是可分批进行 • 步步为营,扩大战果 • 杜绝一刀切k8s和Service Mesh落地方案演进路线 部署在 非k8s上 不是Service Mesh形态 部署在K8s上 不现实 Istio的非k8s支 持投入产出比 太差 背景1:原生Istio无法支撑我们的规模 背景2:k8s(Sigma3.1)将加快普及 K8s普及在即, 不适合再大面积 铺开,快速会师ü 和路线1的核心差别 • 是先上k8s,还是先上Service Mesh • 而且是终极形态的Service Mesh(意味着更偏离目标) ü 好处是第一步(非k8s上向Sidecar模式演进)非常自然 在k8s还没有铺开前,先吃下非k8s下Sidecar模式快速落地的红利(路线2) - 然后避开非k8s下继续演进的大坑,回归长期目标(路线1) ü 好处(和路线2一样) • 在k8s未铺开前,先向前迈进一步,避免卡壳 ü 缺点 • 存在少量的投资浪费(不过和拿到的红利相比是值得的) ü 存在变数 • 是Sidecar模式的Service Mesh普及快?还是k8s普及快 ü 结论: • 特殊时期(k8s铺开前)的选择0 码力 | 40 页 | 11.13 MB | 6 月前3
Apache SkyWalking 在 Service Mesh 中的可观察性应用ShardingSphere 和 Apache SkyWalking 核心贡献者, Istio 贡献者。 1/28/01 /02 /03 SkyWalking 简介 遇到的挑战 应用方案 ServiceMesh 场景 下 SkyWalking 面 临的挑战 针对 Mesh 场景方案的演化 SkyWalking 历史和特 点 2/28SkyWalking 简介 /01 SkyWaling 的历史和特点 3/28Micro 6/287/总页数Architecture 8/28分享主题:字号 分享嘉宾 服务 抽象概念,用于汇集指标 Service 实例 进程,容器,Pod Instance 端点 URL,RPC,函数 Endpoint 观察维度 9/28遇到的挑战 /02 Service Mesh 场景下 SkyWalking 面临的挑战 ( Istio ) 10/28可观测性 11/28Istio0 码力 | 29 页 | 1.38 MB | 6 月前3
进击的 Traefik | 云原生边缘路由器探秘File ProviderMiddlewares配置 • 静态配置:Traefik 启动时的 配置,Provider 连接信息、要 监听的 EntryPoints,通过配置 文件、命令行参数、环境变量 定义 • 动态配置:Traefik 处理请求 的所有配置,证书、路由、服 务、中间件等,动态改变、无 缝更新1 Traefik 介绍 2 Traefik 2.0 核心概念 3 Traefik0 码力 | 35 页 | 8.58 MB | 6 月前3
蚂蚁金服ServiceMesh数据平面 SOFAMosn深层揭秘单核加解密性能分析 14 ØGolang 对 RSA 上没有优化,并且暂无优化计划 ØGolang 对 p256 有汇编优化, p256MulInternal, p256SqrInternal等椭 圆曲线函数实现与OpenSSL相同 ØGolang 对 p384 没有优化,boring SSL golang 性能是 golang 实现6倍 ØGolang 对 AES-GCM 有汇编优化,性能是 boring0 码力 | 44 页 | 4.51 MB | 6 月前3
大规模微服务架构下的Service Mesh探索之路以蚂蚁金服的体量,性能不够好则难于接受 • 架构与性能之间的权衡和取舍需要谨慎考虑 ü 稳定性要求 • 以蚂蚁金服的标准,稳定性的要求自然是很高 • 高可用方面的要求很非常高 ü 部署的要求 • 需要用于多种场合:主站,金融云,外部客户 • 需要满足多种部署环境:虚拟机/容器,公有云/私有云,k8s • 需要满足多种体系:Service Mesh,Sofa和社区主流开发框架 Service Mesh落 维持版本更新,同步升级 未来肯定会开源 可扩展和可定制化是必备的 可 控 性 社 区 支 持 技术输出 内部落地 如何让开源产品接受我们的改动? 如何让社区和客户认可我们的产品?开源方案选择之第一代Service Mesh Linkerd • 无控制平面 • Scala编写,基于JVM资源消耗大 • 可扩展性有限,dtab不易理解和使用 • 功能不能满足蚂蚁的需求,没法做到 类似envoy API • 设计优秀,性能和稳定性表现良好 • C++编写,和蚂蚁的技术栈差异大 • 蚂蚁有大量的扩展和定制化需求 • 我们非常认可envoy在数据平面上的表现开源方案选择之第二代Service Mesh Istio • 第一选择,重点关注对象 • 奈何迟迟不能发布生产可用版本 • 性能和稳定性远远不能满足蚂蚁的 要求 • 但我们非常认可Istio的理念和方向 Conduit •0 码力 | 37 页 | 7.99 MB | 6 月前3
Service Mesh 发展趋势(续) 蚂蚁金服 | 骑士到中盘路向何方?如web assembly技术,还有产品形态上的创新,如google traffic director对servicemesh的虚拟机形态的创新支持。 在ServiceMesh出道四年之际,也希望和大家一起带 着问题来对ServiceMesh未来的发展进行一些深度思 考。 标题中续字的缘由Part 0:灵魂拷问 你是什么垃圾? 你清楚你的定位吗? 你配吗? 你是什么东西? 你算什么东西? 为什么Istio选择Mixer和Proxy分离的架构? Part 1:ServiceMesh灵魂拷问一:要架构还是要性能? Proxy Mixer In- Process Adapter Infrastructure Backend Proxy 优点: • 架构优雅,职责分明,边界清晰 • Mixer的变动不影响Proxy • Proxy无需和Adapter耦合 • 读取配置 Mixer v1 架构的优点 • 集中式服务: • 提高基础设施后端的可用性 • 为前提条件检查结果提供集群级别的全局2级缓存 • 灵活的适配器模型,使其以下操作变得简 单: • 运维添加、使用和删除适配器 • 开发人员创建新的适配器(超过20个适配器)Part 1:ServiceMesh灵魂拷问一:要架构还是要性能? Mixer v1 架构的缺点 • 管理开销 • 管理Mixer是许多客户不想负担的0 码力 | 43 页 | 2.90 MB | 6 月前3
Service Mesh Meetup #3 深圳站request(MR)请求合并到 develop 分支; • 4. MR 触发 Jenkins,Jenkins/Drone 触发 Sonar 代码质量检测系统; • 5. Sonar 将 report 和 issue 以 comments 的方式写到 Gitlab MR 中; • 6. Developer 对 MR 进行反复修复直至通过 Sonar 的分析; • 7. Reviewer 对 MR 进行 不是一种新团队; DevOps 不是一种新角色; DevOps 是一种文化:一切自动化,工具化,规范化;选择哪个 CI/CD 工具?Docker stats 查看 Docker 服务所占用的CPU和内存开销DroneDrone • 一款使用 Go 开发,基于容器技术的 CI/CD 系统,能够单独部署,支持几乎所有的 Git 平台(Github,Gitlab,Bitbucket,Gogs,Gitea ght-reading- go/blob/master/articles/sonarqube-for-golang/2018-07-22-sonarqube-for- golang.mdDrone 和 Jenkins 联调测试方法 本地即可测试 drone 上是否可以调用成功: >docker run --rm \ -e JENKINS_URL=-e JENKINS_USER= 0 码力 | 45 页 | 18.62 MB | 6 月前3
共 29 条
- 1
- 2
- 3













