只是想做软件国产化,为什么那么难? 30岁做软件测试的想转行做什么比较好

长期以来,中国信息产业“缺芯少魂”,“芯”指芯片,“魂”指操作系统 。2018 年,中兴事件后,国产芯片一时成为万众瞩目的焦点,并引发一片网络热议。有网友评论,“这次被美国卡...

只是想做软件国产化,为什么那么难?

我们精选了一下网友答案:

···································^^····································


长期以来,中国信息产业“缺芯少魂”,“芯”指芯片,“魂”指操作系统。2018 年,中兴事件后,国产芯片一时成为万众瞩目的焦点,并引发一片网络热议。有网友评论,“这次被美国卡住的芯,一万年也要搞出来”。

殊不知,即使造出来国产芯,还没搞定国产操作系统。即使弄出国产操作系统,数据库上依然受制于人。即使有了国产芯、国产操作系统,我们依然没有解决最大问题——缺乏国产软件的生态。这个生态联系紧密,“环环相扣”,底层是芯片、中间是操作系统、数据库、中间件等,上层是大量的应用和服务。

为了建立一个健康的国产软件生态,不仅要有国产芯片、国产操作系统和国产数据库,而且还需要大量第三方应用和服务去适配它们。这样,国产软件生态才能“茁壮成长”。

涉足软件国产化

一般来说,国产软件可以分为三类:基础软件、通用软件和垂直行业应用软件。其中,基础软件包含操作系统、数据库和中间件,并且它是 IT 行业发展的中流砥柱。但是,在操作系统和数据库方面,这一直是我们的“软肋”。

“狭义上的软件国产化主要指操作系统和中间件的国产化。”DataPipeline CTO 陈肃说。

在其他领域,像手机 App、企业应用软件和企业服务软件等虽然也属于国产化软件,但是它们过去一直在稳步发展。

近几年,很多人是从比较火的国产数据库 / 数据仓库开始了解软件国产化的。其中,代表性的国产数据库有 TiDB、GaussDB 和 SequoiaDB 等。

国内云计算的应用和普及,有望成为国产数据库发展的重要机遇。比如,国内云厂商针对云环境应用的特点,推出开源数据库的深度定制化版本和自研的数据库 / 数据仓库版本。

众所周知,在 2019 年全球 OLTP 数据库权威测试 TPC-C 中,阿里云的 OceanBase 数据库“一举夺冠”,不仅打破 Oracle 维持 9 年的世界纪录,而且让更多人认识到国产数据库的发展水平。

据悉,DataPipeline 是一个批流一体数据融合平台,它主要为企业提供数据采集、API 数据接入、可视化运维管理和元数据管理等功能。其核心功能之一是完成异构数据库的抽取、转换、写入。

陈肃表示,对 DataPipeline 而言,软件国产化意味着不仅要适配国产数据库和数据仓库,而且要适配国产操作系统和硬件环境。DataPipeline 主要基于容器化部署,在国产操作系统、ARM 硬件环境上有时会遇到一些兼容性和性能问题,因此要根据具体环境进行适配和调优。

与之相似,融云则是另一家开展“软件国产化”的企业,它的工作也是去适配国产操作系统、国产数据库等。对融云而言,软件国产化不仅仅是适配,而且要保证在不同的国产操作系统中,它对网络和数据库层面的优化同样生效,并确保性能层面与标准产品性能对齐。

需求驱动

无论是 DataPipeline,还是融云,它们之所以涉足软件国产化,原因很简单:客户有需求

以 DataPipeline 为例,2016 年,这家公司在客户侧感知到国产化需求的增加,开始根据收到的客户需求数量进行优先级排序和研发。以市场为导向,如果只有个别用户有需求,企业可能会当做定制化需求去适配。一旦它变成普遍需求,就需要进行产品化开发,“作为一家创业公司,我们的优势之一是能快速对市场需求做出响应。”

同样,在 3 年前,融云开始走上国产化适配的道路。

融云 CTO 杨攀向 InfoQ 记者透露,“我们做国产化,是因为客户群体中有大量面向企事业单位、政府等机构的服务商。客户需求最终驱动融云启动国产化工作。”

适配怎么做?

对融云和 DataPipeline 而言,它们面临的第一个问题是确定适配目标。“定目标”,这看上去很简单,实则不易。

以国产操作系统为例,企业要先确定自己的应用或服务适配哪一个国产操作系统。而根据公开不完全统计,市面上,国产操作系统有十几个,包括深度 Linux(Deepin)、优麒麟 (UbuntuKylin)、中标麒麟 (NeoKylin)、中兴新支点操作系统、银河麒麟等。

这么多操作系统,确定初期的适配目标非常重要,因为它关乎成败。

一旦确定开始的适配目标,就会遇到第二个难题。

杨攀说,“在适配的操作系统具体版本上选择很难,因为有各种版本,让人眼花缭乱,比如通用版、高级版和安全版等。并且,除官网简单说明外,各个版本间的具体区别很难获取到详细信息。”

如果是适配某个行业数据库,企业较难从公开渠道获取到数据库最新发布版本和各版本差异。最后即使通过与售前人员联系获得数据库安装文件,但在实际适配过程中依然有坑,“实际适配中,某些特性无法很好的支持,而产品技术人员也无法给出明确解释,最终只能由适配人员从代码层面着手解决。”

通过市场调研,融云了解到:在 CPU 芯片体系架构上,主要分为 X86、ARM64、MIPS64;在国产操作系统上,市场占有率较高的有中标麒麟、银河麒麟等。在数据库方面,除了考虑市场占有率和品牌外,他们还考虑了特定行业的需求,“最终确定达梦、金仓、神通、南通”。

根据自身产品使用的语言、架构及中间件、适配评估的难度、周期和可行性方面,“我们确定的策略首先是 X86 + 中标麒麟 / 银河麒麟 + 达梦 & 金仓 & 神通 & 南通,其次是适配 MIPS64,最后是 ARM64 体系。”杨攀说。

目前,融云的适配工作有 10 余人参与,包括服务端研发、PC 端研发和 DevOps 以及部署实施等人员。在实际适配时,团队人员主要分为三类:研发人员负责数据库的适配,DevOps 人员负责中间件在操作系统上的适配,集成测试人员负责适配后的整体测试。

软件坑点和复杂性挑战

适配工作不断推进,“坑”也越来越多。以数据库的适配为例,融云遇到的挑战是对标准 SQL 语法的理解一致性的问题。

据杨攀介绍,适配 SQL 时,不仅对 utf8-mb4 字符集的支持标准不统一,而且报错时,隐式和显式通知也各不相同。为解决该问题,他们投入大量测试资源,对用到 utf-mb4 的业务逻辑,最终通过业务层进行转码来适配。

在适配过程中,“软件坑点”只是困难之一,最大的困难或许是适配复杂性

“产品依赖的一些组件需要进行 OS 层面的适配。例如,用 C 开发的基础组件,包括 Nginx、Redis 和 OpenResty 等,它们在编译过程中需要依赖指定的 glibc 库版本。因此,需要升级 glibc 库操作才可以正常运行。“他说。

并且,国产操作系统版本较多,架构不一致,也会大大提升复杂度。同时,架构不一致也会带来一系列问题,例如基础组件依赖的 OS 内置底层开发环境 glibc 库的版本不一致,需要升级、重新编译或在部署产品过程中处理掉程序的所有相关依赖项,在多个操作系统上进行反复测试,最终达到适配。

此外,除融云自研服务外,依赖的中间件,比如 Nginx、Redis、ActiveMQ 等。对不同的系统内核和基础组件版本,它们在运行时的表现有差异。这需要通过融云完整的单元测试用例和性能测试框架去覆盖功能及性能测试,从而发现潜在问题,“这部分工作也是整个适配过程中复杂度较高的工作内容”。

不过,在杨攀看来,数据库和操作系统的适配工作所面临的挑战和复杂度是不一样的。

操作系统的适配,由于涉及众多组件,主要工作是在不影响性能的前提下,观察整个融云的服务端所有组件及服务在指定操作系统上能否更好的配合起来,良好运行。它更多的工作是进行调优以及验证。

数据库的适配,更多是对 SQL 语法的改写和验证。“不仅功能性的验证工作占比相对多一些,而且代码层面的工作量相对更多,且更加繁琐”。

对 DataPipeline 而言,操作系统和硬件环境的适配更多是靠灵活的部署策略。比如,某些环境容器化运行不稳定,DataPipeline 则提供非容器化的集群部署方式。

陈肃表示,工作量最大且最复杂的是将国产数据库作为数据源和数据目的地进行适配。对于数据源,DataPipeline 通常需要提供基于日志的实时采集和基于 JDBC 的批量查询两种同步方式。但是,不同国产数据库日志记录的原理各不相同,而且对第三方解析的友好支持程度也不同,因此需要投入比较多的精力去解决该问题,并应对一些特殊数据类型的处理。而在数据目的地端,他们面临的主要挑战是如何实现灵活高性能的写入。这通常需要根据数据库特性,提供实时和批量加载两种方式。

虽然有诸多困难,但是在他看来,国产数据库 / 数据仓库有着自己的优势

优势一是架构的先进性。国产数据库虽然起步较晚,但可以参考成熟产品并结合新理论进行架构方面的创新。国产数据库在水平扩展和分布式容错等方面比较优秀,这是受益于架构先进性。

另外,这波国产化浪潮正好赶上人工智能的风口。在传统数据库运维中,最头疼的是参数调优和故障恢复。以华为 GaussDB 为代表的一些国产数据库,将智能化运维作为重要产品特性加以研发和应用,“这代表了未来方向”

第二个优势是本地化服务。相比国外大厂,国内公司在灵活度、服务成本等方面都有一定优势。另外,国产数据库可根据国家政策对产品和服务进行调整的限制少、周期短,更容易满足国家“安全可控信息技术”方面的法规要求。

10 分钟解决一个 bug

在适配 Oracle 等传统数据库时,遇到问题时,DataPipeline 主要靠官方技术文档来解决。比如,如何提高写入速度,只能通过不断实验进行调优。但是在适配国产数据库时,“我们会和产品方建立比较密切的联系,有技术讨论群,可以找到对方架构师甚至 CTO 讨论问题。”陈肃说。

在 2019 年,有一次,客户反馈某个国产数据库目的地报了写入异常,查看错误提示,得知问题是出于参数数量超过限定值。因为该数据库是高度兼容 MySQL,同样的数据写入 MySQL 却没有问题。

“我们于是把这个 bug 放到技术讨论群里进行反馈,10 分钟就得到答复,而 bug 也在第二周的例行发行版中得到修复。同时,确认该 bug 产生的原因后,我们立即在产品中做了限制,帮客户绕过这个问题。”他说,“这样的响应速度和交流便捷性,是我们在做传统数据库适配时无法想象的。这也是国产软件的优势之一。”

众所周知,在所有行业中,金融行业是对数据库一致性和可靠性的要求是最高的。传统上,这个领域是 Oracle、IBM 等公司的“天下”。

在陈肃看来,截至目前,绝大多数银行的交易系统依然是基于 Oracle 和 DB2。

对银行而言,核心交易系统的升级和替换是一件需要慎重考虑的事情。一方面,即使国产数据库本身足够优秀和稳定,也需要大量测试来保证迁移的平滑和迁移后的稳定;另一方面,大部分现有应用可能包含一些特定数据库的方言,迁移到国产数据库时,由于支持的方言不同,需要经历一个适配过程。

因此,这两点决定国产数据库的存量替换工作在银行核心系统上还有一个相对漫长的过程

对于国产数据库 / 数据仓库的使用,金融行业更多是从分析系统入手。有些国产数据库,比如 TiDB,它是支持 OLTP 和 OLAP 二合一的。在实际应用中,金融企业一般从数据仓库应用入手,逐步在边缘业务系统或新业务系统使用,最终进入核心系统。

与之相比,互联网公司负担较轻,“我们确实看到一些互联网公司在比较激进地使用国产数据库替代原有数据库,尤其是在大规模的分布式集群应用场景下“。

崛起的国产化软件

无论是 DataPipeline,还是融云,它们只是无数适配企业的一个缩影。在其背后,我们看到的是国产化软件正在崛起。

众所周知,过去四十年,中国在白色家电、消费电子、通信技术、高速铁路、生物医药等领域取得极大进步,甚至在某些领域处于世界领先。但是,在操作系统、数据库等软件系统偏底层的领域,始终主要依赖国外产品。随着中国经济体量的进一步增大,围绕这些核心组件的产品 + 服务的市场规模不断扩大。按照经济规律,资本和社会资源就会逐渐流向这个领域,推动其发展和落地。

其次,国家层面对“安全可控信息技术”不断深化的要求,催生出存量替换市场。据悉,早在 2014 和 2015 年,国家针对金融行业提出安全可控信息技术推进指南。操作系统、数据库等核心组件是其中的重要组成。并且,随着中美贸易战的爆发,这项措施的必要性更加凸显,这也促使“国产化”在更多部门和行业内加速推进。

此外,还有优秀的人才培养和人才回流。过去几年,国内头部公司培养和招募了国内外大量的优秀人才,其中包括从事操作系统、数据库以及各类分布式中间件的研发人员。并且,随着 IBM、Oracle 在内的国外巨头缩减国内研发中心,一些有丰富经验的工程师相继加入国内公司从事研发工作。

作者|万佳
来源|InfoQ

·······································································

30岁做软件测试的想转行做什么比较好

我们精选了一下网友答案:

如果您现在还在问这个问题,说明您自己还没有方向,别人给的建议都是基于别人经验的。我建议您先分析一下自己的性格、能力,考虑好自己适合什么,然后对什么感兴趣,再决定。不过离测试比较近的工作是QA主管、软件开发、测试开发(STD)、项目经理。 如果您技术能力很强可以考虑做产品经理、管理能力强可以考虑项目经理,沟通能力强可以考虑实施经理或运维经理,还是要看您对什么感兴趣了。

···································^^····································


软件测试是保证软件质量的关键步骤,目前国内很多软件企业中软件开发和软件测试人员的配比仅能达到8∶1,而国际上公认的行业标准却是1∶1,像微软等大型公司中,这个比例甚至能达到1∶2,即一位软件开发人员至少与两位测试人员在配合工作。两相比较,国内软件测试人才的缺口巨大。就整体而言,测试行业目前还存在技能不均衡,软件测试人员的水平也良莠不齐,对测试过程方法技术等的规范化也不是很系统。所以朝这个方向发展还是很有前景的。 感觉培训机构都不大靠谱,重实践轻理论,你要是有文凭,建议你考个高校的自主招生的硕士生,系统的学学软件测试,这个专业性的人才出来真的很吃香。

·······································································

一口气喝六款一点点!我竟然觉得它们很......

我们精选了一下网友答案:

···································^^····································



相信作为奶茶脑残粉的你
一定有过这样的体验
在面对一点点眼花缭乱的菜单时
选不出自己到底想喝什么

 

明明上一次就在心里暗暗发誓说这次一定要点个不一样的,却在面对菜单犹豫了5分钟以后在店员不耐烦的眼神里和后面排队客人啧啧出声的压迫中,只好胡乱点了一杯。

 

或者在家开开心心打开外卖软件,前后滑动菜单一遍又一遍,在陌生的名字中迷乱了双眼以后,又回到熟悉的单品点了确认购买?




的确,一点点的菜单有几十种,各花入个眼
今天我们将要测评的是一点点6款经典搭配
不踩雷,放心吸食,皆大欢喜

测评菜单


养乐多绿/少冰/5分糖/珍珠/布丁

乌龙奶茶/热饮/不另外加糖/波霸

四季青/常温/5分糖/波珍椰

乌龙拿铁/热饮/不另外加糖

红茶玛奇朵/热饮/3分糖/波珍椰

咖啡冻奶茶/常温/5分糖


首先说下这次我就不提每款饮品的颜值了!因为可能要圣诞了,一点点所有的饮品几乎统一包装了!完全看不到里面的样子


一切准备就绪!



养乐多绿


养乐多绿其实就是绿茶加上养乐多,养乐多中和了绿茶的涩味,入口感觉酸酸甜甜,还是蛮爽快的!就是不能再比五分糖更低的糖分了!糖分再低就会涩了!

加的布丁真的是完整的一个,很好的中和养乐多、绿茶的味道,就是一个要4块钱,比较贵!

乌龙奶茶



正好测评那天比较冷,喝一口乌龙奶茶,整个口腔充满焦香味,吸管戳到底,轻轻转动两下,一口吸上来Q弹软糯的波霸,加上醇厚的奶茶,感觉整个人重新活了过来!



四季春



从来没有像这样直接喝过四季春,万万没想到还不错,清清爽爽!没这么喝过的小伙伴可以试试哟!口味上有小惊喜!



乌龙拿铁



解腻刮油的选择,回味还有淡淡茶香,但感觉这款比较中规中矩,下次可以试试加红豆和珍珠,据说是网红隐藏菜单搭配!



红茶玛奇朵



玛奇朵就是奶霜,或者叫奶盖,一点点家是甜口的,把牛奶调成绵密甜香的奶霜,配各种茶做基底,红茶的口感偏涩一点,五角星方便你划开杯盖把奶盖喝得一滴不剩,喝的时候很有层次感,很醇滑!特别是我点了五分糖,真的是聪明啊!超级神仙的味道!



咖啡冻奶茶



这真的是第一次喝,超大块咖啡冻,口感比布丁硬比椰果软,龟苓膏的卖相,咖啡糖的口感,带着丝丝苦苦的焦糖味!唯一可惜的是忘记加奶霜了,根据小伙伴的推荐,加奶霜会更好喝!



虽然现在我们大南通,各种奶茶牌子几乎都有,个人喝的比较多的还是一点点和COCO,希望有一天能够把这两家的所有口味的奶茶都喝遍!



今日问答

每次喝一点点,你点什么?


有没有什么推荐的街边小吃或者老店
可以直接留言或者跟小公举讲哟



测评历史可点击查看

那些年排了无数次的炸鸡柳老店,每一口都是记忆!我希望他再开50年!

南通街头这家鸡蛋汉堡随心情出摊,常常不够卖,竟然好几次没排上队!生气!

探店测评|南通这家烧烤店不出名,但很划算!

我竟然在南通这家网红“早餐”店踩到了雷?你也许去排过队!

真实测评丨等待2小时,终于喝到了这8杯喜茶,值得吗?

举报!南通老网红“东北烤肉”真的不要去,因为……

对不起,开了17年的无名火饺,我不能给五星好评!

别找了,南通今年中秋聚会的餐厅都在这里!

26年的街边老店!你吃过吗?就靠一块烧饼,在南通做的风生水起……

南通市中心外卖指南①,上班族必备!美味又便宜!


-END-
本文非商家广告文章,纯小编个人美食推荐
本文由濠滨论坛颖子撰写,未经授权禁止转载发布

  • 发表于 2020-11-19 01:31
  • 阅读 ( 431 )
  • 分类:软件测评

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
admin
admin

0 篇文章

作家榜 »

  1. xiaonan123 189 文章
  2. 汤依妹儿 97 文章
  3. luogf229 46 文章
  4. jy02406749 45 文章
  5. 小凡 34 文章
  6. Daisy萌 32 文章
  7. 我的QQ3117863681 24 文章
  8. 华志健 23 文章

推荐文章

联系我们:uytrv@hotmail.com 问答工具