在 QCon 上海 2019,腾讯专家工程师黄闻欣将与来自腾讯、华为云、顺丰科技等公司的技术大咖聚焦分享工程效率于不同的云计算服务层级的实践,包含遇到的困难,如何解决问题,如何适配新的架构,利用云的优势,有什么最佳实践,进而让企业对接与建设云计算时能更加高效,更具成效。
云计算定义了不同的服务层级 IaaS、PaaS、BaaS、SaaS。当企业从原来的技术架构中切换或建设不同的云计算服务时,都会对工程效率产生影响。
如办公、研发场景的各种 SaaS 服务不仅仅打破信息的壁垒,加入更多联动的自动化应用,还可以通过协作进一步提升工程效率;如虚拟机、虚拟网络、容器管理等服务,让原本很多 DevOps 高难度动作变成可能,但对于开发调试测试却造成了挑战,企业原本的流程与系统如何更高效对接,也形成了新的挑战。因此可以说对工程效率产生影响,这些影响有正面的也有负面。
DevOps 转型之工程效率提升
华为云首席解决方案架构师王金伦将在 DevOps 方法理念的基础上,阐述 DevOps 转型的管理与工程实战,涵盖了组织结构、实施框架、七步转型法、持续交付、微服务架构、安全管理等,通过经典的案例,血淋淋的教训,来剖析团队如何应对 DevOps 转型过程中必须跨越的问题,为团队应用 DevOps 定制合理的路线图,让企业享受到 DevOps 带来的实实在在的工程效率提升。
内容大纲
阐述 DevOps 平台在组织与团队、技术平台、系统架构、安全等方面的最佳实践经验。
阐述 DevOps 的七步转型法、实施框架、组织架构变化等管理实践。
重点阐述在持续交付、微服务架构、安全管理方面的工程实践,分享华为的理念心得。
听众受益
了解云原生时代软件上云的挑战;
理解系统化、体系化地进行 DevOps 变革转型的方法与手段;
方位理解 DevOps 转型的经验与实践,与自身转型相对照,找到共鸣点,提升转型的信心与效率。
腾讯云上基于 Service Mesh 的后台环境管理实践
腾讯高级专项测试工程师黄俊将重点阐述在腾讯云上如何运用 Service Mesh 来对后台环境进行管理,提升在研发过程中的效率 – 随着腾讯自研业务逐步迁移上云后,在腾讯云上如何利用云原生的解决方案 Istio+K8S 来对自研业务后台进行环境管理,过程中涉及到了如何来适配 rpc 私有协议、名字服务等技术细节。以及这套环境治理方案实际对业务在研发过程效率的提升效果。
内容大纲
研发过程中因为后台环境没有治理而导致效率低下的痛点。
过去我们在 IDC 时代如何来做环境治理,引出一些常用环境治理的常用思路和方案。
随着云时代的到来,在云上如何来做环境治理?原本照搬过去的解决方案不合适。
如何利用云原生方案来解决环境治理?Service Mesh 方案的提出,利用 Istio+K8S。
Istio 如何来对自研业务进行环境管理的具体技术实现,以及现有能力的展示。
在实际业务的收益。(开发阶段、功能测试阶段、自动化测试阶段的收益、增值能力 - 比如调用链等)
未来还会如何完善方案。
复杂系统灰度发布工程效率实践
灰度发布是为人熟知的概念,但认知并不一致。我们的感受是:抛开学术定义的纠结,实施前至少要对聚焦点达成共识。于我们而言,聚焦的是业务请求及相关数据流的明确控制。在这个前提下指导实施中具体问题的解决。
当前无状态应用的灰度发布谈的较多。但工程实施中,很多典型的衍生问题未被充分讨论,如:跨版本事务一致性、中间件的协同等。顺丰科技资深架构师汪洪恩会结合案例给出策略和方案。
灰度发布需放到持续交付流水线的实施和演进中看,要提升工程效率,一个能高效运转的工具链是基础,而一个复杂系统中服务众多,依赖复杂,如果希望发版频率独立,又支持影响受控的灰度发布,还需要有管理和方法论指导工程实施。我们会讨论灰度发布如何整合进流水线,以及如何兼顾交付效率和影响可控。
内容大纲
当我们谈灰度发布时我们谈什么。
复杂系统实施灰度发布,如何处理边界设定、分流规则选取、分流规则的动态变化等问题。
应用的灰度之外,跨版本事务一致性、中间件协同等典型衍生问题的处理策略。
如何在持续交付核心理念指导下,采用技术和管理的手段持续提升交付的工程效率。
在有必要进行灰度发布的情况下,如何整合进流水线,并处理好交付效率和影响可控的平衡。
听众受益
复杂系统灰度发布实施中,如何处理边界设定、规则选取、规则的动态变化。
了解技术和业务角度正确设定灰度发布目标的思路。
如何处理跨版本事务一致性、中间件协同等工程实施中典型衍生问题。
通过演进趋势和实施案例的剖析,了解含灰度发布的持续交付流水线的实施要点,以及如何处理好交付效率和影响可控的平衡。
Shopee 如何通过平台标准化提升工程效率
由于东南亚基础设施匮乏,很长一段时间内 Shopee 的系统都没有一个统一的标准,开发运维中间件等各自为战,效率不高。随着公司快速发展,迫切的需要一个标准化的平台来统一这些组件,减少内耗,提高效率。于是我们开发了新的底层平台,标准化了底层资源,由统一的调度编排系统 Eru 驱动。在这个平台上面,我们构建了多种多样的中间件服务,比如无状态的 Redis,也有重状态的 MySQL/ETCD/Kafka 等,还实现了 Kubernetes 服务。通过混编 Container 和 VirtualMachine 以及对 NUMA 架构的支持,使得我们开发者的虚拟机和离线计算任务也能跑在一个平台上。通过这些东西,我们的运行效率和研发效率大规模的得到了提高。Shopee 平台高级专家彭哲夫将分享他们的实践经验。
内容大纲
容器或者虚拟机,为什么我们还需要虚拟机;
调度和编排,为什么不用 Kubernetes;
NUMA 的支持,为什么需要支持 NUMA 架构;
中间件标准化,标准化的好处是什么;
一些标准化服务的例子。
听众受益
容器和 VM 的技术选型对比;
调度和编排系统的思考;
支持 NUMA 架构的必要性;
怎样标准化一个基础服务;
如何构建大一统平台。
移动研发 DevOps 在支付宝 App 内的落地实践
从单体支付工具到超级 App,从几个人到几百人的开发团队规模,不管是在协同开发上,还是在超级 App 的稳定性和高质量交付上,我们都会面临非常大的并发挑战。
蚂蚁金服技术专家洪锋(琉克)的分享将围绕支付宝 App 在亿级并发场景下,研发协作管理如何有条不紊的运作;同时,为了进一步提升和保障超级 App 的交付质量,支付宝又如何通过深度的 DevOps 定制,保证超级 App 的高质量交付,包括代码静态扫描分析,敏感代码管控,静态依赖分析,构建工具链深度定制等技术。
内容大纲
移动端的架构演进与思考;
从协作平台到移动研发 DevOps 演进;
深度定制的 DevOps 如何保证支付宝 App 的高质量交付。
听众收益
了解支付宝移动端架构演进过程中遇到的具体挑战;
了解亿级并发 App 的研发协作模式,以及支付宝 App 如何有条不紊完成协作交付;
了解支付宝是如何通过深度的 DevOps 定制,确保支付宝 App 的高质量交付;
了解支付宝如何在研发工具链上的深度定制,持续优化和改进交付的 App。
如何利用在线实验提升算法工程效率
稳定压倒一切,如何在阿里巴巴的钱袋子做高频线上实验?A/B Testing 是算法模型进行在线实验的经典方法。Google 于 2010 年发表了分层正交实验论文,各大公司依此思想建立了分层实验平台,可以对流量多层正交,互不影响,从而最大化提升实验效率。 随着大规模机器学习技术的发展,高度复杂的深度模型被广泛使用,在线实验参数的变更,在后台会涉及复杂分布式系统数据切换,在线服务上线等一系列操作,会面临相当多问题,严重影响迭代效率。
阿里妈妈作为国内最大的商业广告提供商,高度依赖在线实验。在投放系统的各个阶段,如检索召回、排序、竞价,涉及系统上下游多个模块,同时迭代模型版本近百个,每日实验发布近百次。而在线学习等新技术使用,使模型变更更加高频化。错误实验会对系统造成急性或慢性损害,如分布式系统宕机,营收缓慢下跌,从而引发严重金融故障。 为了在金融系统做好在线实验,平衡效率与安全,阿里妈妈事业部工程生产力团队研发了在线实验平台 WhaleShark,运用多种技术为业务提供最大帮助。目前已承载阿里妈妈所有场景广告,覆盖搜索直通车、超级推荐、品牌等多个业务场景,赋能用户进行模型、数据、配置、应用等多维高频变更。阿里巴巴高级技术专家向杭将分享他们的经验。
内容大纲
阿里妈妈业务与架构;
在线实验平台的挑战、产品与架构 ;
新一代分层实验机制,包括独立分区,联合实验,混竞路由 ;
容器化隔离,动态路由,环境自动构建;
模型特征交付与自动验证;
监控与自动容灾;
全链路数仓。
听众受益
如何利用在线实验提升算法系统迭代效率;
新一代分层实验机制,如何流量复用最大化支持搜索广告场景;
如何利用容器化隔离、动态路由、环境一键构建、灰度发布、模型交付等技术提升效率与稳定性;
深度模型与特征的自动质量方案;
如何进行实验级实时监控与容灾;
如何信息化建设,关联利用算法各阶段数据,赋能业务演进。
以上就是本次 QCon 大会关于工程效率实践的部分内容。更多关于国内外一流技术团队的实践案例请访问QCon官网,涵盖大数据、架构、移动、微服务、工程效率、运维、前端等经典方向及 Cloud Native、中台、图数据库、下一代计算等新兴方向。
评论