云原生 云原生系列之:前言(一)

少年 · 2022年05月10日 · 最后由 少年 回复于 2022年08月10日 · 7532 次阅读

专题合集

《云原生系列专题分享合集》

目录

前言的前言

我沉寂很久了 hhh(:其实不是失踪人口

去年一年都在专心修炼,现在勉强算出师了,后面就是持续精进修炼的积累过程了。所以有很多新的东西想跟大家分享。

从 19 年本科毕业到现在,刚好三年,确实是一个全新的跨度,无论是施展平台还是技术深度。

记得 20 年的时候还写了年终总结,说非常期待 21 年这第三年分水岭的飞跃提升。但是其实 21 年开年之后,就到了瓶颈期。

我当时的感觉就是,面很广,啥都做,但是没有找到自己想要专精的方向和领域。因为我感觉,测试开发 = 测试领域 + 专精技术。(个人看法不引战)

比如:UI 测试 + 图像识别, 接口测试 + CICD,算法测试 + 大数据 ... 因为没有一项专精技术,就会让测试领域被替代的可能性大大增加了,那跟原来的测试又有什么不同呢?

所以当时就有了想要跳槽的想法,投了些简历,拿了些 offer,经历些纠结(实在是虾皮给得太多,字节 hard 算法我都写出来了,阿里又太远太慢)最后来到了鹅厂,而我也给自己选好了方向:性能测试 + 云原生。

原来更多是在开源测试工具上面输出一些新的想法,新的可能,新的突破。所以翻下我之前发的文章,会发现基本上都是开源测试工具这个 tag。

比如 19 年还在接口自动化测试平台轮子大复制的年代,我已经在想能不能做出来一个 UI 自动化测试平台,实现 UI 的大一统?

比如 19 年还在 docker 没有大量被科普传道的年代,我已经在写 dockerfile & docker-compose 来部署和上线我的测试平台和工具,甚至逢人就说,天,docker 这么好用快去试一下,不好用就来砍我?

比如 19 年还在 k8s 披着高大上神秘外衣的年代,我已经在集群上集成 elk 和 goreplay,完成业务日志和报错的定向收集和排查。

比如 19 年还在 jmeter & load runner 横行霸道的年代,我已经在用 locust 完成了单机性能的对比上限测试,还发现了 yyds 的 boomer。

比如 20 年还在 selenium 统治的年代,我已经在想集成了 chrome api 的 puppeteer,是不是打开了 UI 自动化 & Mock & 低代码 全新的方式?

比如 20 年还在面向 web 测试的年代,我已经在测试面向 k8s 二次开发的底层服务,用 boomer + gRPC 上云部署,实现了对内网底层组件的性能测试。

比如 20 年还在质疑录制线上流量是玩具的年代,我已经在思考线上流量和数据工厂是不是能结合起来,让玩具变成金刚?

比如 20 年还在纠结测试开发该学什么该具备什么能力的年代,我已经在思考,测试领域 + 专精技术,是不是也是一种正确的打开方式?

所以就有了我这个系列主题的分享。

抽空写这些一是为了对过去做总结和分享,一是为了不让自己在开发不完的需求里面忘记了初衷是什么。

和软件的缘分

说和云原生的缘分之前,讲下和软件的缘分也是很有必要的。

因为我专业学的是微电子,可以简单理解为就是硬件开发,设计电路板开发板,编写芯片程序。

为什么是简单理解,因为这个专业不止学硬件,软件也学,物理也学,数学也学,导致我大三是满课,大四还有很多课。

刚好那年开始实行学分制,不知道别的专业什么情况,至少我是吃了这个学分制的亏,交了好多钱。

很多人都喜欢问我为什么不转软件专业,因为我当时就是喜欢硬件开发。

四年里面,我大致的感觉就是,原本憧憬着能研发类似变形金刚之类的芯片程序,最后却是做着类似九阳豆浆机的芯片程序,或者是抄抄改改别人的电路板,多加点晶体管。

所以就像摩尔定律要被打破一样,至少我的喜欢先被打破了。

所以到大四那年,在面临考研还是就业那年,我选择了转行软件,也是那个时候,测试开发这个职业开始悄然兴起。

我是喜欢这个职业的,相比于日复一日 CRUD 的枯燥搬砖,我想做些更有意思的东西,更有创新和创造力的东西,能影响领域甚至改变领域的东西。

和云原生的缘分

记得去的第一家公司是规模很小的公司,小到什么程度呢,就是没有分什么前端后端测试部门,就统称为技术部,整个技术部也就 10 人以内的规模。

但是你很难想象,这个公司的服务是托管在 k8s 集群上的,托管用的还是很早的腾讯云 tke1 的容器服务。

这都要归功于有个很有技术追求和远见的技术负责人,能成为这样的一个人真是让人心生向往。

于是在他的熏陶下,docker 和 k8s,不再是雾里看花的东西,我开始看见的,摸得着,虽然很陌生,但是很有趣。

然后我有很多想法,都开始不再是想法,都慢慢实现了出来,这是一种你能渐渐感觉到的成就。

然后因为一些人事变动,技术负责人离职了,所以我也萌生去意。

然后我就去了第二家公司。

这次不算小规模了,毕竟有分前端,后端,测试部门,技术加起来也有几百人。

刚开始我是被分到一个类似数据工厂这样的业务,每日点点点,然后写点脚本,做点工具,可能日子也就过去了。

但是后面我突然就被临危受命到一个叫做沙盒的项目,Runtime & Sandbox。

这个名字起得很有意思,只是刚去到的我,只感觉到了陌生。后面听说我被调过去是因为,我是公司里面唯一一个曾经和 docker & k8s 打过交道的测试开发。

项目本身主要是基于 k8s 扩展开发了很多自定义的底层组件,配合前后端提供业务所需的容器服务。

所以这个跟传统意义上的测试有很大的差别,因为它没有界面,就是面向服务器,中间件,和底层的测试。

所以我就混迹到开发的技术架构研讨会里面,熟悉整个架构,制定测试标准和方案,开发了很多工具去做测试和提效,k8s 也开始玩得有点门道。

也是这样的一个机会,我的技术栈除了 python,又新增了 go,后面迭代前端自动化测试平台的时候,又新增了 nodejs。

所以很多人都在纠结说测试开发到底要学什么编程语言,我其实觉得这个并不重要。

大部分的编程语言,都是触类旁通的,只是语法和规则有所差异,底层架构的差异你在编码上是很难感受到的。

所以编程语言只是一个工具,不要被工具束缚住了想法,更重要的是你的想法,你的思路,你的解决方案,你的提效手段。

黑猫白猫,抓到老鼠,就是好猫,编程语言也是这样。

然而到这时,其实已经有点瓶颈和迷茫了,做得多,确实会的多,但是深度呢?

就像现在大家都喜欢做平台,做轮子,但是像 http runner 这样持久更新迭代优化留存的产品,又有多少呢?

可能刚开始,广度是很重要的,能让你测试的边界最大化,扩宽你的眼界,但是也只适用于开始的那几年。

后面更多的时候,其实是需要选择一个你感兴趣的方向,去加强你的深度,所以也是为什么我会觉得,测试开发 = 测试领域 + 专精技术。

结合我的过往,我选择 性能测试 + 云原生,也不出意外,实在是有缘了。

性能测试 + 云原生

21 年,其实我都在做着全职的后端开发,从 0 到 1 ,去设计云原生压测平台的架构,主导整个技术架构的演进优化升级,加强云原生的结合,享受云原生带来的红利,并在思考,这份红利如何能被复制,被普及,被规模化?

也有机会去体验和实战很多项目,比如全国各省市健康码的压测,广交会,北京环球影城等等。

学而不思则罔,思而不学则殆。

所以边思边学,去思考业务的所需,业务的痛点,去结合更好的技术,期待开花结果的那天。

那这个系列的分享,就更多是我这一年来的技术体验和分享,脸上贴金的说法就是布道 hhh 这也真是个让人心生向往的职业。

......

未完待续,有空就开更。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 6 条回复 时间 点赞

大佬,有空讲讲性能方面的知识,现在都是一些理论(好多还不对),很少有实战经验的讲解。

迷龙 回复

好,有机会会分享一些干货

少年 云原生系列之:Docker(二) 中提及了此贴 05月11日 15:42

还有付费观看内容吗😆

目前还没有,太忙了,要是很多人有这个需求我再考虑 hhh

少年 云原生系列专题分享合集 中提及了此贴 08月10日 09:27

大佬这是准备出书啊

tangoliver 回复

不一定,不过先写着吧,就当个科普和总结 hhh

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册