专栏首页QAPM-腾讯客户端性能分析【私有化质量实践2】最“年轻”的云原生数据服务
原创

【私有化质量实践2】最“年轻”的云原生数据服务

春节快乐,干货来袭。QAPM(移动监控)在TMF中交付已经走过两个年头,两年的时间,我们也在不断成长。下面我们就来说说,在私有化交付的四个环节中,我们踩过的坑与解决方案。前言

随着云架构的不断普及,“未来的软件一定生长于云上”的理念被越来越多的人所接受。云提供了一种面向企业应用实现按需进行资源分配的模型,以一种全新的、高效的方式来部署应用。企业纷纷开始云化转型,希望将传统应用迁移到云端。基于云化架构的特点,定义一条能够让应用最大程度利用云的能力、发挥云的价值的最佳路径成为行业迫切的需求,“云原生”应运而生。云原生可以有效地缩短应用交付的周期,让需求更快地变成代码,代码更快地变成线上的应用,最终为用户服务,通过缩短“time to market”带来切实的业务价值。

而我们团队早在2016年后台应用就开始吃云原生容器化的硬壳螃蟹;大数据也在2018年实施容器化(Spark on k8s),并且还开源出来了,这些尝试早于很多团队。作为技术人,我们做这些尝试当然不仅仅是为了追求新技术,而是判断云原生势在必行,并且希望TKE(K8S)作为统一的底座,为私有化面对的各种兼容性问题做一层防护层。基于TKE,让我们的兼容性风险更为可控。

但是说实话,当时我们这个选择也让“年轻”的云原生数据服务的稳定性倍受挑战,QAPM在参与私有化项目TMF进行部署时,初期面临着严重的人力紧张的难题,在经过大半年的实践进行方案调整后,成功简化了部署流程,统一了公有/私有云的架构体系,节省了人力物力成本,达成了可观的优化成果。下面我们就来说说”年轻“的云原生数据服务在私有化交付上遇到的困难和我们的解决方案。

我们的实践

一般来说私有化部署有四个环节,它们分别是 构建制品->部署-> 验证->运维,我们一起来看一下在这四个环节QAPM是怎么做的呢。

1)制品产出

自动化一切,我们团队人非常少,告诉别人说我们做APM产品,仅投入了10个人不到,大家都用惊奇的眼光看着我们。别的不说,大家确实是拼着老命来做这个产品,还存活,我觉得是因为自动化一切的理念也贯穿始终。现在,QAPM能实现自动化镜像管理,自动拉取公有云线上稳定镜像,自动化推送到私有云环境的仓库中。也就是说,我们的镜像构建按照 开始-准备构建-构建安装包和文档-打包镜像-上传物料到cos-同步到TMF管理-发布-结束构建有序进行。你没有看错,我们连文档都是构建出来的,pydoc+简单的配置代码,再配合数据库文档生成工具tbls,我们可以自动化输出公有云与私有云的完整的文档.(附件也共享我们的一个小例子"docx自动化替换案例.zip")

压缩镜像镜像大小出了决定构建快慢,还决定了在那个封闭的私有化环境下传镜像到生产环境的耗时。之前去交银部署,足足要耗费一天一夜上传镜像。因此,在镜像包的产出上,我们采用分阶段打包镜像,即使在增加ceph和kudu的情况下,我们的镜像包的大小依旧从32G减少到25G,使得传输和部署镜像的速度更快。

交付完整的文档,在文档的产出上,我们私有云文档共有33篇,文档版本迭代3次,培训3+次,按照内容的区别,文档可分为SDK、TBDS、产品、产品报告、运维、部署、验收等内容。(满满的干货,地址如下:(https://git.code.oa.com/tencent_cloud_mobile_tools/sop_doc/tree/master/%25E7%25A7%2581%25E6%259C%2589%25E4%25BA%2591)。

2)部署

软件运行在 SaaS 环境和私有化部署环境是截然不同的,SaaS 环境包含了所有租户的数据,SaaS 平台需要提供一种能力来隔离不同租户的数据。而私有化部署仅仅考虑自己就行了。这种差异导致系统设计之初就应该提早的考虑这些问题,同时保证运行在平台上的应用在开发的时候尽量关注业务逻辑并忽略这些差异。

传统部署方式操作流程复杂,费时费力,一到部署时开发同学们总是大敌将至般紧张,记得QAPM刚加入金融云服务产业互联网项目(TMF)进行私有化部署时,每次交付都需要开发同学去到银行总部现场部署,由于银行的安全隔离,镜像都不能直接部署,而是需要通过跳板机上传。记得我们在交通银行部署的时候,通常是早上的飞机过去,第二天才开始部署,那是因为光是传镜像包就要传一天一夜。面对着较落后的银行设备环境及不定因素影响,优化部署成为开发们迫切需要完成的内容。

基于云原生helm,构建一键部署

而我们的解决方案,就是通过一键部署,减少部署步骤,节省时间与人力资源,具体步骤如下:

以前部署需要21步,现在只需2步,即可实现私有云的一键部署,记得当时我们的产品落地到 TMF 之后,TMF 整体节约了 30% 的计算资源,而我们负责的产品在腾讯云和私有部署均为云原生架构,减少割裂,可以说是真正的 “双赢”。

3)验证

QAPM部署完成后的验证工作包括大数据指标类的验收、性能个例的验收以及报表看板的验收。整个流程按照

脚本的配置和调试->运行脚本->触发指标计算->页面检查(包括Android功能巡查、iOS功能巡查)->小程序功能巡查->移动分析->监控页面检查等步骤进行。

在验收过程中,我们需要在每一个步骤填写验收测试的CheckList,最后再填写项目测试验收报告。在一系列有序的流程过后,我们便完成了对QAPM部署的快速验证。可以看到,验收测试CheckList的验收点能基本覆盖我们部署的方方面面,确保部署验证的工作质量。

checklist1.PNG

未来规划,私有化验证这个部分,虽然我们有jmeter的自动化接口测试,但是端到端依旧需要人工验证。实在是不符合一切自动化的理念,未来我们会串联客户端自动化与后台自动化,打造一体化全自动的验证体系,减轻我们区技同学的工作量。

4)运维

公有云与私有云的运维是巨大的,任务越繁杂,大半年来团队没有休整喘息的机会,人力紧张到令人窒息。破局势在必行。

混沌工程,前置发现运维陷阱

使用chaosmesh,我们对于我们的测试环节进行充分的故障模拟和问题修复。尽力做到滴水不漏。

可观察,运维力持续提升

整体的可观察,我们分为三部分,分别是资源、组件、业务。基于TKE的导出,我们可以获取pod的资源使用。针对Kafka、web、hdfs等特定组件,借助普罗米修斯也配置了监控。最后业务上,我们从功能,产品,版本三个维度来观察数据处理的链路是否有问题。

写在最后

在云原生技术不断成熟和普及、国内开源文化和社区逐渐兴起、去IOE和自主可控的时代背景下,QAPM作为“年轻”的云原生数据服务平台,也在不断进行探索,构建发现、定位、解决、验证的闭环,助力客户高效率突破 App 的性能瓶颈,打造顺畅体验的产品口碑。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 从0到1,QAPM在私有化实践过程中的质量保障

    QAPM(移动监控)在TMF中交付已经走过两个年头,两年的时间,我们也在不断成长。截止到2020年12月,QAPM私有化工单数量收敛,安灯工单数48单下降到8单...

    010101011001
  • 腾讯云副总裁刘煜宏:腾讯云原生产品每日调用次数已超百亿

    前言 7月31日,腾讯云副总裁刘煜宏在2020云原生技术大会上表示:“腾讯云原生产品API每日调用量已经超过100亿次,拥有超过100万的开发者,同时服务超过...

    腾讯大数据
  • 回顾 | 一周精彩IT技术大会纵览

    vSAN常见故障排错:1. vSAN架构回顾、2. vSAN创建VM全过程介绍、3. vSAN排错方法论、4. vSAN常用排错工具、5...

    IT大咖说
  • 云计算与DevOps: 持续集成/持续交付与市场分析

    很多企业正在采用DevOps和持续集成/持续交付方法,以提高其规划、构建、测试和发布应用程序和特性的能力,从而以高质量和规模快速推向市场。调研机构IDC公司预计...

    静一
  • 云计算和DevOps:CI / CD和市场分析

    在竞争激烈的互联网市场,企业承受着比竞争对手更快、更高质量的软件交付要求,只有当公司快速迭代更新,产品良好的功能集和用户范围才会进一步扩大。因此,很多企业正在尝...

    增强现实核心技术产业联盟
  • 腾讯云-云联网-全球互联技术实践文档

    随着全球互联网络技术不断革新,全球云厂商地域互联需求增加,越来越多企业急需解决云端多地域内网互联,低时延,高通信等需求,腾讯云依据大量用户需求,推出【云联网】3...

    TCS-F
  • 从蓝图到实践,互联网企业云原生应用的“润物细无声”

    5G 和云原生都是当下的技术热点,吸引了无数关注和讨论。但终端企业和消费者最关注的还是这些前沿技术能够带来的实际价值。5G 和云原生是否已经走出了“概念炒作”时...

    深度学习与Python
  • 一份来自B站UP主的上云邀请

    ? 软件工程专业学生的日常是什么样? 除了Day-Day-Coding,还可以写博文,做视频,更能成为B站UP主。 大家好,我是B站UP主「Mintimat...

    腾讯云计算产品团队
  • 云原生软件开发与运维 · 大咖微访谈,来咯~

    云原生软件开发与运维 智能化软件开发微访谈 背景介绍 包含容器化、微服务、服务网格等技术在内的云原生已经成为新的技术浪潮,深刻地改变着软件开发、维护和运行的...

    腾讯云原生
  • 你必须知道的云计算知识(上)

    最近订阅学习了《深入浅出云计算》专栏,一口气学完之后,做了一些总结笔记形成此文,特分享与你,希望对你有所帮助!本文为上半部分,主要总结了IaaS篇的核心要点。

    Edison Zhou
  • PaaS重塑云计算时代

    本文摘自于山金孝,潘晓华,刘世民撰写的《OpenShift云原生架构:原理与实践》一书,经出版方授权发布。

    Satoh_AI
  • 腾讯专有云研发过程首次披露

    腾讯作为新兴互联网企业代表,业务的快速稳定交付显得格外重要,这背后也是对 DevOps 思想和研发效能的考验。本次分享的两个产品,以及腾讯云在实践过程中积累的实...

    DevOps时代
  • 腾讯专有云研发过程首次披露

    2018年11月3日,DevOps国际峰会于深圳圣淘沙酒店举行,上午的腾讯研发效能专场,开场前已座无虚席。由腾讯工蜂Git、腾讯TAPD、腾讯专有云三位产品/技...

    腾讯技术工程官方号
  • Dapr 将引领云原生时代应用和中间件的未来!!

    Dapr 是由微软发起的云原生开源新项目,在今年 2 月份刚刚发布了 v1.0 正式版本。虽然推出至今不过一年半时间,但 Dapr 发展势头十分迅猛,目前已经在...

    架构师修行之路
  • 容器技术邂逅DevOps,一个新生态的形成

    为了帮助IT从业者职业之路拥有更多收获,在诸多C粉的殷切期待下,由CTO俱乐部打造的CTO线上讲堂自登场以来获得大家好评。本期邀请时速云联合创始人兼CTO王磊带...

    CSDN技术头条
  • Office线上预览编辑解决方案对比

    Office文件常常以附件的形式存在于各种系统中。大家对于线上附件的最常用的需求是预览,偶尔会有简单的编辑。目前在大多数的场景下是将附件下载到本地使用桌面Off...

    用户5326694
  • 腾讯TEG首次集体亮相腾讯全球数字生态大会,这些亮点不容错过!

    ? 5月21日—23日,腾讯全球数字生态大会将在昆明滇池国际会展中心召开。大会是将腾讯过往的三大峰会“腾讯全球合作伙伴大会”、“腾讯云+未来峰会”和“互联网+...

    腾讯技术工程官方号
  • “云上”企业的“多云”挑战

    历经十余年的发展,“云”已经成为了今天企业级IT的事实标准。从十年前部署在企业内部专有网络中,通过虚拟化将计算存储和网络资源打通的私有云;到来自第三方,部署在企...

    CloudBest
  • “云上”企业的“多云”挑战

    经十余年的发展,“云”已经成为了今天企业级IT的事实标准。从十年前部署在企业内部专有网络中,通过虚拟化将计算存储和网络资源打通的私有云;到来自第三方,部署在企业...

    SDNLAB

扫码关注云+社区

领取腾讯云代金券