「DevOps 转型与实践」沙龙回顾第一讲

Docker拉取ubuntu22.04镜像使用ROS2 humble及仿真工具可视化进行导航 Docker中安装Ubun22以及ROS,gazebo可视化等 阅读详情

9 月 19 日,CODING 和中国 DevOps 社区联合举办的深圳第九届 Meetup 在腾讯大厦 2 楼多功能圆满结束。本次沙龙以 「DevOps 转型与实践」 为主题,4 位来自互联网、金融、零售行业的知名世界 500 强企业技术大咖,在现场分享了他们对于 DevOps 转型实践的见解和经验。80 多位观众与讲师们也进行了深入的技术探讨,共同探讨在 DevOps 潮流下,企业可能面临的新机遇和挑战。

图片

CODING 一直致力于让所有开发者都能有机会倾听最具前沿的 DevOps 技术分享,之后还会在全国各地举办一系列 DevOps 技术沙龙。在不同城市的小伙伴也无需担心,我们届时会提供线上直播平台,让异地的同学也能与导师无障碍交流,敬请期待!话不多说,本期为大家分享的是 《DevOps 在 SEE 小电铺的落地与实践》——

背景介绍

SEE 小电铺是微信生态内最大的小程序电商服务平台,目前累计与 10000+ 自媒体合作开店,是微博、斗鱼等平台的官方电商 SaaS 服务商,以及抖音头部渠道电商平台。

SEE 小电铺技术负责人马志雄讲述了在竞争激烈的电商行业背景下,SEE 小电铺是如何引入业界优秀的 DevOps 实践,打造了高效稳定的应用交付体系,帮助公司迈向云原生时代的。他主要围绕落地的法则,分享了 SEE 小电铺内 DevOps 实践的目标、落地的原则和具体实践。

引入 DevOps 实践

在疫情期间, SEE 小电铺的工作人员采取了远程办公模式,这对所有人的协作和效率提出了更高的要求。研发流程中出现的各种问题促使 SEE 小电铺反思技术架构、研发流程、度量工具以及团队文化如何能够高质量地顺畅交付用户价值。

图片

**持续改革的第一步是识别问题。**经过调研和讨论,SEE 小电铺首先引入了 DevOps 能力成熟度模型,对当前团队里面存在的问题以及需要补齐的能力进行梳理。

SEE 小电铺在组织支撑方面设立了 DevOps 工作小组,由工程效能团队专项推进,把DevOps 具体事项纳入 OKR 里进行目标管理,并拆解到相关的一线同事里面去。借此机会,团队文化被重新塑造,工作小组不断和一线同事讲未来的技术方向是什么,为什么要去做这件事情,和所有人同步推进 DevOps 目标、方法和策略。在具体落地路径上,灰度思维帮助优先主导推进那些对 DevOps 认同度比较高的同事,从比较容易改造并且能够迅速看到成效的项目着手。

随后,SEE 小电铺制定了一期改进目标:

图片

  • 统一工具平台

过去 SEE 小电铺使用了繁多的工具,不仅有维护成本高等问题,在实际研发过程中的使用也不太顺畅。举个例子,部署还是依赖于人工 + 脚本的方式手动进行。在调研了市面上各种 DevOps 工具,最终 SEE 小电铺选择了 CODING DevOps 作为一站式研发平台。主要的优势体现在不需要跳转多个产品,整个数据是打通互联的,而且部署在国内,访问速度好,中文支持度高,团队成员上手也比较快。另外,持续部署是基于 Spinnaker,功能比较强大,和目前使用的腾讯云集成较好。测试管理也无需单独付费,整个维护无需自建维护,性价比高。

  • 统一分支策略

在工具切换之后,SEE 小电铺面临的一个困境是分支策略不统一。GitLab Flow 和 Git Flow 混合使用,整个流程非常复杂,容易出错,合并也非常费时。多个版本并行时,GitLab Flow 需要配套多个环境,与持续集成的理念相违背。为了把研发效能提升到比较极致的状态,SEE 小电铺结合团队自身的情况,决定采用有功能分支的主干开发策略,然后在团队内部不断地去讲怎么用,包括怎么去更好地拆用户故事和任务,怎么去做 git cherry-pick 和 rebase ,怎么去把 commit 设计得更加原子性等。

图片

  • 统一制品管理

SEE 小电铺之前面临的制品管理困境是应用的分发包是多种多样的:整个系统在经过微服务进行改造以后,累计有四五十个服务需要进行维护,面临着多应用集合管理和配置困难的问题;另外制品库也是不统一的,缺乏统一的管控以及权限控制。在这种情况下,SEE 小店铺使用了 Docker 和 Helm 来解决制品的统一性问题。Docker 镜像能够标准化交付元件, Helm 能够帮助简化 K8s 资源集合管理和配置,并且方便回滚和更新。制品库则统一迁移到 CODING 制品库来做制品托管,实现应用制品的单一来源管控以及细粒度的权限控制。

  • 统一集成和部署流水线

经过多年的业务发展,SEE 小电铺的应用数量非常多,缺乏体系化的流水线建设。少部分比较完善的项目工程使用 GitLab CI,还有一部分用 Jenkins 来做构建打包,大部分的应用还在使用 shell 脚本拉取 jar 包进行发布,已有的自动化部署耦合在 CI 里,环境与配置复杂以后难以维护,不够规范且效率低容易出错。因此 SEE 小电铺首先制定了 CI 流水线的规范,包括根据不同的技术栈设计符合的流水线流程,根据分支模型和 MR 流程划分全量集成和增量集成,以及各个流程的耗时标准;之后把工具统一切换到 CODING 支持的 Jenkins,做好构建节点的资源规划,确保每次流水线都会触发自动化测试,包括代码格式检查,代码规范和静态分析,以及单元测试、集成测试和 E2E 测试的自动化执行。最终执行的一个结果会通过企微机器人同步到专门的工作群。

图片

持续部署的流水线设计,主要是借助 Spinnaker 来进行编排,配置好 Bake 和部署流程,这里面的交付制品统一使用 Helm Chart,并且借助 CODING 的持续部署功能来进行发布单的管理,包括创建提单,并行部署,人工审批等。

云原生基础架构

除了以上这四步以外,SEE 小电铺的 DevOps 实践还贯穿了很多其他理念。首先在基础架构方面,SEE 小电铺贯彻云原生的理念,把整个应用进行了 K8s 容器改造,直接使用腾讯云 TKE 产品来托管集群,帮助快速完成容器化改造,进行微服务和 BFF 架构风格下的高效容器编排,实现应用的标准化交付,确保资源隔离性和高效的利用率,并能保证环境的一致性。同时在面对流量潮汐时,也能够基于 HPA 和 Cluster AutoScaler 实现 Pod 和节点灵活快速的扩缩容,从容应对业务的各种活动和大促。同时借助 K8s 的 Readiness Probe 和 Liveness Probe,能够比较好地实现服务的自愈和容错。在把 K8s 引入基础架构以后,SEE 小电铺通过引入服务网格技术 Service Mesh 实现了更加精细化的服务治理。通过 Istio 服务治理中核心的 Virtual Service 和 Destination Rules 这两个 CRD 结合 CODING 的持续部署可以实现自动化灰度发布,取代原有的集群蓝绿发布策略,把资源利用和流量控制做到一个相对比较极致的水平,并且把微服务架构里难以落地的服务治理固化成了一个标准的基础设施,让开发能够更加关注应用本身。

图片

在上图中,根据 Istio 里面的配置规则可以实现按百分比把 10% 的流量打到新的应用里,最终通过校验以后可以把整个流量进行完全切换,实现精细化的流量转移。

可靠性 & 可观测性

SRE 方法论被 SEE 小电铺引入指导可靠性建设。首先,SLO 可靠性建模包括三个维度:Availability 可用性、Latency 延迟和 Ticket 人工干预。这三个维度分别对前后端应用进行了白盒和黑盒监控指标采集,模型计算公式最终可以输出整个服务指标。SRE 团队基于此模型搭建了内部所有服务的可靠性看板,能够实时对生产环境的服务可靠性指标进行查看和跟进。SRE 方法论中还有一个非常好的概念,就是错误预算。基于 SLO 的模型,可以计算出一段周期内错误预算消耗了多少,从而决定是否调整这个周期内的版本发布频率以及节奏。比如说要维持 99.9% 的可靠性,那一个月内的不可用窗口期就是 43.2 分钟。

可观测性基于 EFK 日志平台做了所有服务的日志收集与聚合,帮助做 K8s 改造后所有容器的收集;指标监控方面基于 Prometheus 和 Grafana 搭建了监控平台,帮助进行发布盯盘和对 Pod 异常指标进行记录和告警。

质量内建

质量内建方面,SEE 小电铺遵循了一些 DevOps 社区内较为流行的原则来实施。首先是质量门禁,内部的指标所有单元测试模块覆盖率都必须大于 80%,老的系统也会在项目排期里面不断补充完善,web、小程序、iOS、Android 和 React Native 等应用要求要有 100% 的 E2E 测试来覆盖所有的应用场景,质量门禁还需要管控合并请求,开发的 MR 需要通过 CI 自动化测试,CODING 远程提供的代码静态扫描以及结对代码 Review 以后才会被合并到主干。其次,CODING 的测试管理成功将 SEE 小电铺从原始的 Excel 管理测试用例中解放出来,支持用例的在线评审并制定迭代的测试计划。DogFooding 自测允许在集成环境上进行冒烟测试,通过测试管理中的测试计划进行追踪,并组织提测前的 demo 演示。

成果

在半年多的 DevOps 变革和实践里,SEE 小电铺实现了多项核心指标提升,单个服务部署时长从以前的数小时缩短到 5 分钟,总的全量环境部署也从一两个星期缩短到 1 个小时,开发 bug 率下降了 10 倍左右。调整迭代规划以后,大概达到每周 2 次全量环境部署频率,变更前置时间也缩短到 1 周以内,可用性也达到了 99.9%。更重要的是,团队更加聚焦到了业务交付本身。

Q:Helm Chart 管理的资源很多,你们在这方面有没有最佳实践?
A:我们做了很粗暴的一刀切,前端的应用是公共的 Helm Chart,后端的应用是另外一个 Chart,各个服务作为 Chart 中的子应用,是 Chart 里面的其中一块。在内部工程效能组规范化以后,所有的应用都是按照这个模板来做的。

Q:请问你们团队是怎么保证发布后的质量的?
A:我们的可用性维持在 99.9% 左右,但难免还是会有泄露的 bug,我们要在业务创新和稳定性中取得权衡,这个权衡就是通过 SLO 的方式。我们通过确保整体的服务维持在 99.9% 的可靠性目标前提下,尽可能快地去发布我们的应用。

温馨提示:
更多讲师 PPT 及演讲稿脱敏后将逐步更新
点击开启 CODING DevOps 云上研发工作流

代码复现3—VLN-CE 运行训练完后在 data文件下会自动生成一个“checkpoints”文件,文件下包含任务文件“seq2seq”,该文件下会包括训练出来的权重和评估结果。数据集下载完后路径提取:data/scene_datasets/mp3d/{scene}/{scene}.glb。注意这里下载的数据集并不是所有的matterport3d,只需要一部分,包含90个场景,大小压缩后约16G。在“eval”时,会在data文件下生成videos文件,里面存放的是可视化的轨迹视频。 阅读详情

相关推荐

当爬虫遇到TikTok滑块:一份给开发者的verifyV2避坑指南与调试心得

本文详细解析了TikTok滑块验证码verifyV2的破解与优化策略,涵盖验证码触发机制、滑块图片获取、验证请求构造及高级调试技巧。通过实战案例和代码示例,帮助开发者有效应对复杂反爬机制,提升验证通过率。特别针对verifyV2系统的加密算法和轨迹模拟提供了专业解决方案。

weixin_30919429的博客 641

CODING DevOps 线下沙龙回顾一:DevOps 代码质量实战

11 月 22 日,由 CODING 主办的 DevOps 技术沙龙系列「质量」专场在上海圆满结束。在活动现场,四位来自腾讯等知名企业的技术大咖们分享了研发质量与效能的实战经验,与观众们共同探讨如何采取有效手段以保证和提高软件质量。 本期沙龙回顾为大家带来的,是来自腾讯云 CODING 布道师杨周的议题——《DevOps 代码质量实战》。 问题:人越来越多,代码越来越乱 随着团队成员增多,每个人在缩进、换行、空格以及大小写方面有不同的习惯,导致代码越来越乱。代码风格问题尚且不致命,更严重的是这些问题:

CODING 博客 437

基于STM32的智能衣柜系统开发实战(附完整源码与硬件设计)

本文详细介绍了基于STM32的智能衣柜系统开发实战,包括硬件设计、软件架构和云端功能实现。系统具备实时温湿度监控、自动加热除湿、紫外线杀菌等核心功能,通过STM32F103C8T6主控芯片和ESP8266无线模块实现智能控制。附完整源码与硬件设计,适合科技爱好者和开发者参考。

peach的博客 781

演讲实录 | DevOps五大理念及其落地实践

5月29日,我在全球软件质量&效能大会QECon2021深圳站上进行了一场名为”DevOps五大理念及其落地实践”的演讲。相信很多朋友已经看过了我参与翻译的新书《独角兽项目》,也对...

图灵教育 1515

开源浏览器插件开发实战:从零搭建多平台内容分发工具

浏览器扩展(Browser Extension)是运行在浏览器上层、通过标准Web技术增强浏览器能力的轻量级程序,其核心价值在于对页面内容的读取、操作与跨应用信息流转。在内容创作与分发场景中,创作者频繁需要在公众号、知乎、优快云、头条等平台间搬运同一篇文章,而传统SaaS分发工具往往受限于免费额度、授权托管和平台适配滞后等问题。基于Manifest V3规范,开发者可以构建一款100%开源、永久免费的浏览器插件,利用content script完成从源文章页提取标题、正文与图片,通过消息通信机制将结构化数

weixin_29882269的博客 294

从UART到RS485:手把手教你用SIT3485E收发器搞定工业级通信(含原理图与PCB布局要点)

本文详细解析了从UART到RS485的工业级通信转换,重点介绍了SIT3485E收发器的原理图设计、PCB布局要点及抗干扰技巧。通过差分信号传输和优化电路设计,实现长距离、多设备稳定通信,适用于工业自动化等复杂环境。

weixin_29169505的博客 348

深度案例 | 纷享销客:用户需求精准洞察下的敏捷开发

2018 年,企业级服务仍处于高速增长时期。经过几年的市场洗礼后,企业级服务的市场格局正在逐步明朗。无论是垂直型还是通用型的企业级服务厂商,公司发展核心问题主要围绕客户满...

神策数据 1527

PX4从放弃到精通(二十二):日志

文章目录前言一、下载日志二、ulog转CSV三、利用flightplot软件分析PX4的ulog日志1 windos安装2 ubuntu18.04安装四、使用PlotJuggler分析PX4日志五、设置日志记录条件六、添加自定义日志消息 前言 PX4 1.10以上固件 QGC 一、下载日志 将飞控链接地面站,在下图页面点击“刷新”,即可看到保存的日志(前提是要有TF卡) 选择需要下载的日志,点击右侧的“下载”,然后选择目录即可进行下载,如果想擦除所有的日志,可以点击右侧的“擦除全部” 二、ulog转CS

超维空间科技的博客 6793

DevOps落地实践:普元:PRIMETON DEVOPS

普元发布了PRIMETON DEVOPS的5.0版本,其愿景定位为”打造新一代软件生产线, 快速提升IT运营质量与效率”。结合普元官方提供的资料,我们来围观一下其围绕DevOps的打法与路线。

知行合一 止于至善 7855

目标检测: yolo26在RK3588上部署

YOLO26发布:端到端目标检测新突破 摘要:Ultralytics最新发布的YOLO26算法采用原生端到端设计,无需NMS后处理,显著提升推理效率。该模型基于三大核心原则: 简洁性:消除NMS步骤,实现直接预测 部署效率:简化集成流程,降低延迟 训练创新:引入MuSGD混合优化器,加速收敛 部署教程显示,YOLO26可适配RK3588等边缘设备,通过ONNX转换和RKNN工具链实现高效部署。其创新架构特别优化了分割、姿态估计等专业任务,标志着目标检测技术的重要革新。 (字数:149)

qianxun 1444

LVGL 丝滑菜单3(Silk Menu)

h。

摸鱼专家 89

新书问答 :《看板成熟度模型》

\u0026#xD;本文要点\u0026#xD;\u0026#xD;看板成熟度模型(Kanban Maturity Model,简称KMM)是基于十多年来,由看板从小公司到大公司收集到的经验。它旨在帮助消除看板实施中的两种失败模式:因过度而导致失败的启动,以及错误的高峰平台导致未能实现完全的收益。\u0026#xD;\t它利用7个组织成熟度等级将132种具体的看板实践和20种文化价值观映射到可观察...

cpongo011702 490

基于遗传算法的码头泊位分配调度优化问题求解

例如,基因型为 [3, 1, 4, 2] 表示第一艘停靠在第三个泊位,第二艘停靠在第一个泊位,以此类推。同时,该码头有 n 艘船需要停靠,每艘船的货物数量、船长、船宽都不同,需要根据其特性来分配合适的泊位,并确定每个泊位的使用时间,以最大化码头的使用效率。码头的泊位分配调度是一个关键的物流问题,它涉及到船舶的进出港、货物的装卸和存储等多个方面,因此对其进行优化是至关重要的。根据得到的最优个体,可以得到每个泊位停靠的船只、使用时间等信息,从而确定码头的泊位分配调度方案。% 不同船只的货物数量。

uote_e的博客 1075

「DevOps 转型与实践」沙龙回顾第二讲

背景介绍 本期分享内容为 《平台化 DevOps—云计算与云原生模式下 DevOps 的建设实践》。目前,DevOps 越来越成为大家当前建设的热点,伴随着基础设施的转型和应用框架的转型,更多的业务偏向云端和 C 端的场景,促进了 DevOps 的发展。在本次沙龙上,腾讯云 CODING DevOps 资深架构师余朋飞为大家介绍了在云计算和云原生两种模式下,如何推进 DevOps 的建设和实践。 企业 IT 架构演变历程 在 2007 年之前,企业还未产生 DevOps 的概念,大多还是基于物理机的模式。2

CODING 博客 382

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

【资料合集】2018 云+技术沙龙盘点回顾

导语:“云+技术沙龙” 是 “云+社区” 对外的线下知识传播及行业前瞻的重要板块。在2018年,社区举办了超过15场线下沙龙,邀请了腾讯及行业内近百位高级工程师,产品负责人等为各位开发者...

QcloudCommunity的博客 362

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

2019 第四届「7·24运维日」技术沙龙圆满成功

由腾讯蓝鲸智云主办,嘉为科技承办的第四届「7·24运维日」技术沙龙活动于7月20日在深圳腾讯滨海大厦圆满举行。沙龙以“价值与突破”为主题 ,分享了优秀运维人的从业经验和经历的技术变革,现场发起了蓝鲸SaaS作品的评选投票,产生了一等奖(一位)、二等奖(两位)、三等奖(五位)并授予了最高1万元的现金奖励。活动当天嘉宾们与现场数百名参会者交流了如何在运维岗位上,不断拓展价值,进行...

bengjiezhan9710的博客 149

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

演讲回顾:贝壳研发效能实践分享

这个问题可能有些人会认为并不需要提出,因为无论是公司的高管还是一线的研发管理人员,可能都已经设定了一些与。

simayi2018的博客 1469

连接未来,驱动创新|腾讯云 CODING DevOps 主题沙龙完美收官

嘉宾徐磊认为在 AI 的助力下,开发者作为一个垂直领域的角色,得以专注于决策性工作,发挥更大的创造性和决策能力,这个过程既促进了业务的创新发展,也推动了开发者角色的进一步演变。招联研发中心架构管理团队负责人田勇从多个维度出发,与大家分享了招联研发中心在研发模式对齐、效能平台整体设计以及落地方案推广等方面的实践经验,不仅为业界同仁提供了宝贵的借鉴,也为 DevOps 在企业中的应用提供了新的思路和方法。他分享了在整体流程中的经验,并强调了平台在落地过程中所遇到的挑战与应对策略。点击**「直播回放」

CODING 博客 417

沙龙回顾丨云计算进入多元架构,云原生时代的挑战与机遇

近日,京东云联合英特尔举办“破局丨云原生时代IT基础设施变革”技术沙龙,来自京东的4位技术大咖分别就混合多云基础发展趋势、京东在大规模集群管理的遇到的问题及解决方式、京东DevOps破局以...

京东科技开发者 1638

精彩回顾|Meetup 合肥站--云原生技术沙龙

2022 年 8 月 13 日,安徽开发者社区联合 SOFAStack 社区、Apache APISIX 社区和云原生社区在合肥共同举办了云原生技术沙龙。本次活动吸引了众多当地的开源爱好者和参与者前来参加,伴随着现场浓厚的技术交流氛围,活动圆满落幕!????接下来,就让小编带着大家一起一览本次活动的精彩瞬间吧????✦Meetup08.13 合肥✦本次活动以云原生技术为主题,聚焦了云...

金融级分布式架构 313

沙龙回顾 | 移动互联网下的测试工程效率提升,含PPT和视频

10月19日,携程上海总部,来自华为、网易、携程等行业内深耕多年的资深专家和实战派人物,与250余位参会者一起,聚焦测试工程效率提升,围绕AI、自动化平台、DEVOPS等...

携程技术 1071

运维侠客行杭州站沙龙回顾 | 云时代下的运维管理实践(附干货下载)

我们处在一个巨变的时代,在云计算、大数据和物联网等新技术、新理念不断更新的大背景下,企业同时面临着数字化和“互联网+”转型的双重挑战,企业对于“稳态IT”和“敏态IT”都提出了强烈的需求,如何推进双态环境下的技术演进变成全行业共同面临的难题。 在这样一个“时空交错”中,优云软件推出了一个名为:“运维侠客行”的线下沙龙品牌,杭州作为首站,活动当天汇聚了来自不同行业和企业的运维从业人员,其中有几

uyunopss的博客 976

华为敏捷DevOps实践:产品经理如何开好敏捷回顾会议

大家好,我是华为云DevCloud项目管理服务的产品经理 恒少:) 作为布道师和产品经理,出差各地接触客户是常态,经常和华为云的客户交流、布道、技术沙龙,但是线下交流,覆盖的用户总还是少数。我希望借助线上的平台,和用户持续交流华为在研发效能提升上的思索和考虑。 <恒少出品,必然妥妥干货,必定理论联系实践>,因为软件无银弹,探索始终在路上 ---------------------...

devopscsdn的博客 345

线下沙龙 | DevOps 落地实践那些事儿

软件开发和运维领域正在发生巨变,DevOps 不应当只是在当今 IT 运维领域中我们所谈论的一个“热点”。DevOps 是一种思维方式,同时也是一种工作方式,作为一套促进开发、技术运营和...

ONES研发管理工具 301
上一篇: 本周四,CODING DevOps 深度解析系列最后一课等你来
下一篇: 「DevOps 转型与实践」沙龙回顾第二讲
腾云 CODING
博客等级 码龄8年 203粉丝 260原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值