一篇又长又乏味的年终总结和展望

转眼间到了 2019 年末,还记得去年也写过一篇类似的 博客;计划今年的「年终总结」蛮久了,只是觉得时间还早便一直没有动手,直到今天才恍然 —— 已经是 2019 年最后一天了。

2019 年的目标 —— 半达成

若是概括去年定下的目标:

  • 技术方面:继续深入后端领域 —— 达成。
  • 额外技能:提升英语水平 —— 半达成,虽然有所提高(至少跟老外发邮件、聊 Slack 不怯场),但还是没有达到「质的飞跃」。
  • 生活方面:***,以及锻炼厨艺 —— 达成!
  • 其它:身体健康 —— 半达成,腰疼腿麻更严重了...

讲真,作为一个程序员,我强烈建议在代码之外培养起其它的爱好,甚至是技能。当然我并不反对在职业领域深究(相反,下文会提到哪个方面「浪费」了我一整年的技术向业余精力😂),只不过今年对于代码以外的世界有了许多新的认识,它们真的会给我带来 不一样的 幸福感和成就感,这是钻研技术所体验不到的。

2019 年我干了啥

我用一些脚本把今年所有的 Git Commits 全部导出成 CSV,然后再使用 Office 365 Excel 分析,发现了一些有趣的结果。

年度报告(仅作娱乐)

  • 2019 年我一共提交了 1991 次,其中公司仓库 1024 次,个人(包括私有和开源)仓库 967 次。
  • 在公司仓库的提交中,有 851 次是在工作时间,约占 83%;相反,个人仓库有 798 次提交是在下班后或休息日,约占 83%,完美的配比。
  • 让我没想到的是,一天 24 小时,各个小时我都曾有过提交(仅个人仓库):
    • 6 月 24 号我似乎睡得很早,最后一次提交在 21:17,接着 25 号的第一次提交出现在 5:23
    • 出现在 凌晨 4 点 的只有两次提交,来源于 2 月 13 号尝试 Rust 写的一个 Demo 项目,然而后来还是暂停了 Rust 学习计划。
    • 出现在 凌晨 3 点 的也只有两次提交,来源于私人备份仓库,看起来似乎我在 6 月 26 号半夜备份了一下电脑。
    • 排除以上结果,我熬夜肝到最晚的一次是 5 月 18 日 2:44 改进 kexue-gateway
    • 在 1 ~ 2 点我曾提交过 42 次;科学上网相关 24 次,博客 10 次,Kubernetes 相关 7 次。
    • 晚上效率最高的时间是 21 ~ 22 点,因为 18 点钟总提交 27 次,19 点 60 次,20 点 99 次,21 点 138 次,10 点 148 次,11 点 70 次,12 点只剩 52 次了。

工作时间线

  • 1、2 月份我还在与 GitLab CI、Ansible、Cloud-init 奋战,主要精力集中在部署 Prometheus、Grafana 等监控、预警项目上。
  • 3 月开始深入学习 Terraform。
  • 4 月又折腾监控,顺便深入研究了 Laravel 队列并应用到线上。
  • 5 月使用 Golang 开发定时任务失败告警,同时将原本人工维护的 Cronitor 配置迁移到 Terraform,多亏了我司同事开发的 terraform-provider-cronitor
  • 转折点:5 月底终于开始真正接触 Kubernetes!
  • 6 月完整地梳理了公司网络拓扑,部署了新的 UniFi 全家桶和一台巨沉的机柜,并搭建了一套备用的网关。
  • 6 月底我们又把黑盒探针监控 StatusCake 配置迁移到了 Terraform。
  • 7 月大批量迁移 Kubernetes,依稀记得那时候狂删 Cloud-init 机器配置的酸爽。
  • 7 月下旬到 8 月上旬,接近一整月的时间我都停留在「被 PHPStan 坑(其实是被遗传代码)」->「从坑里爬出来」->「再踩新坑」的循环中;给几十个私有包加 PHPStan 还要修复报错,真是体力活。
  • 8 月剩余的时间直到 10 月底,可谓是小宇宙爆发,利用 Helm 和 Helmfile 部署了不少应用到 Kubernetes,终于称得上入门了;还顺便调研了 Helm Secrets 配合 Sops 的 Git 仓库内密钥管理方案,最终实施上线并且一直用到现在。
  • 转折点:10 月底开始接手 IT 相关工作,不仅需要维护公司员工权限(例如 Azure AD、Office 365、Atlassian 等),还包括处理来自美国办公室的 IT Tickets 以及 Onboarding Request。
  • 11 月重新梳理了年久失修的公司 VPN 接入点,其它大部分时间都用在了研究 Salesforce、使用 TypeScript 开发自动化工具,将 DiscoveryData 的 Sales leads 导入到 Salesforce,以供美国 Sales Team 使用。
  • 12 月几乎一直在处理各种各样的 IT Tickets,美国那边的招人速度实在太快了。另外,使用 Golang 开发了 PHP-CS-Fixer 规则自动更新机器人,保证数十个扩展包的代码风格一致;以及彻底废弃了不稳定的 StatusCake,转投 Pingdom。

可以看出,整整一年下来接触的跨度非常广,从年初的 Ansible、Terraform 到后来 Kubernetes,再到年末的 IT、Office 365 等,今年实在是学到太多之前没有机会尝试,甚至是完全没有听说过的知识。虽然其中也有疲倦和劳累,但特别感谢 RightCapital,在我司工作真的非常幸福。

仔细想想,我所在的 DevOps Team 更像是基础架构部 —— 平时不仅涉及到前后端、应用部署、网络部署、运维保障、权限管理,还需要跨时区跟 Support Team、Sales Team 沟通,任务艰巨呀😁。

个人成长时间线

相比之下,通过个人仓库分析出的时间线就简单多了,同一段时间内我基本都会围绕在同一主题深挖。

  • 1、2 月一直在整理和编写博客,包括优化 CI、调整页面布局等。
  • 2 月底开始「Laravel 部署课程」系列,可惜不久后便放弃。
  • 放弃的原因之一就是 浪费掉我今年几乎所有业余时间的大坑 —— 科学上网。由于市面上的路由器性能都很差(相信没有厂家生产路由器的时候考虑到这类用途),而那些玩软路由的方案几乎都是靠刷第三方 OpenWrt 等固件,配合第三方插件实现,且不说我曾经玩过的改版梅林稳定性有多差,单凭各种插件良莠不齐的代码质量我就受不了了。另外,遇到问题不方便调试和修复也是我放弃的主要原因。
  • 一不做二不休,4 月 8 号,Kexue Gateway 的前身诞生了,就这样开启了漫漫长征路。记得那时候还在用 Nano Pi、树莓派之类的 ARM 产品,性能和兼容性惨不忍睹。
  • 5 月 8 号,我决定编排一套适用于任何路由器(在局域网内加入一个不带 DHCP 功能的额外网关),且尽可能规范、原生、可靠的开源解决方案,也就是现在的 Kexue Gateway 项目。此后直到 7 月底,我大部分的时间都铺在了这个项目上,不断地完善和改进。
  • 6 月 11 号,没错,我对各路机场也忍无可忍了。因为六月初国内对于这类服务的管制太严格,导致稳定性大不如从前;另外整个圈子是非太多,除了经常有机场跑路之外,讨论和评测的戾气也都很重。实在不想淌这浑水,于是我买了第一台服务器,并开了一个名叫 Kexue Servers 的私有仓库,用来编排自己的服务。当然,我不愿意成为自己讨厌的人,所以一律不销售也不分享。
  • 8 月份,和工作时间线一致,对 Kubernetes 和 Terraform 的热爱爆发了。我用 Google Cloud Platform 剩余的赠金开了 GKE 集群,顺便购买了几个额外的域名,利用 Terraform 管理解析记录;凡是能迁移的服务,统统、一律搬上 Kubernetes,包括你现在看到的 博客(虽然它现在已经被我临时迁移回虚拟机)、内网穿透 inlets、Webhook 调试工具 Webhook.site、文件管理器 KodExplorer 等等;管它有没有用,先部署再说。
  • 年底之前一直在研究代理协议,没有接触过 VPN 相关的技术。想着能够比四层更加深入,11 月 10 号,我开始尝试能够承载 IP 协议、甚至二层协议的 VPN。面对 IPSec、WireGuard,那就不得不了解 Linux 路由机制,直到现在,我还一直在学习 Routing Table,BIRD 等相关知识。
  • 12 月底,也就是前几天,我又把博客重新整理了一下;简化掉不少无用的动画和样式,让读者和我的专注点更贴近内容。很巧的是,去年的这个时候我也在优化博客。

其实我是个很懒的人,十分庆幸当时忍受不了的时候,选择了自己动手做。我没有 CCIE、JNCIE 之类的证书,完全是野路子出身,但是经过不断的学习和尝试,最终掌握了不少「正规」的网络知识。希望未来自己能够保持这样对未知领域发起挑战的勇气吧。

2019 总结

结合工作和个人成长时间线,我基本得出今年的时间分配占比:

科学上网 4.5 : Kubernetes 2.5 : IT/英语 1.5 : Terraform/Prometheus 1 : PHP 0.5

稍微出乎我的预料,科学上网所占的比例太高了,年初的预期应该是:

科学上网 2 : Kubernetes 4 : 英语 2 : Terraform/Prometheus 1.5 : PHP 0.5

2020 展望

根据我自己的职业规划以及实际情况,接下来一年的目标与现有方向类似:

  • 保证身体健康。
  • 快速将科学上网相关内容收尾,进入维护阶段,不再占用大量时间继续开发(其实 11 月就有这个想法,希望年底能够将这方面完全结束,只可惜距离我理想的水准还差点火候)。
  • 深入学习 Kubernetes,包括目前暂时不熟悉的:
    • Taint、Tolerations、Node Affinity、Autoscaler、Resource Request 等特性,
    • HorizontalPodAutoscaler、PodSecurityPolicy、NetworkPolicy、LimitRange 等资源,
    • 以及争取能对 CRI/CSI/CNI、Scheduler 等 Kubernetes 内部原理有一定了解。
  • 继续锻炼英语,包括:
    • 尽可能多参与邮件和 Slack 讨论,
    • 坚持用英文编写技术向博文,
    • 以及争取练习几次 italki。
  • 深入学习 Prometheus,掌握:
    • PromQL 进阶语法,
    • 通过 Prometheus Operator 和 Custom Metrics 对 Kubernetes 集群监控,
    • 以及提升 Golang 编码水平,争取写一个 Prometheus Exporter 并开源。

理想占比:

Kubernetes 4 : 英语 2 : Golang 1.5 : Prometheus 1 : 科学上网 1 : 其它 0.5

明年的目标相比今年详细了不少,任重而道远呀。

最后

其实这篇博文最早的标题是「你好,2020」,在写到这里的时候,我决定改成现在的标题。

实在没想到自己文思泉涌。

新年快乐。

🎉

本作品采用《CC 协议》,转载必须注明作者和本文链接

Former WinForm and PHP Engineer. Now focus on #DevSecOps and global networking.

本帖由系统于 3周前 自动加精
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 26
Summer

终于知道为啥你好久没写文章了哈

4周前 评论
Wi1dcard (楼主) 3周前
Epona

讲道理,肉身FQ才是王道😂。你在美企应该会比较方便吧。

3周前 评论
Wi1dcard (楼主) 3周前
Epona (作者) 3周前
勺颠颠

大佬666

3周前 评论
GhostCoder

Rust 哈哈哈哈哈 和我一样对这东西有兴趣

3周前 评论
Wi1dcard (楼主) 3周前

:+1: 来自老年人固有的表情

3周前 评论
Wi1dcard (楼主) 3周前
hxd

学的广度这么大,深度会跟上吗?

3周前 评论
Wi1dcard (楼主) 3周前
hxd (作者) 3周前

很不错,加油

3周前 评论
Wi1dcard (楼主) 3周前

Laravel 部署课程 系列写的很棒,2020,共同加油

3周前 评论
Wi1dcard (楼主) 3周前

膜拜大佬,真是学习了,楼主文笔也非常好

3周前 评论

只想说一句:大佬牛批

3周前 评论

总结: 今年涨了一岁
展望: 明年还能再涨一岁
未来: 百年之后就不用涨一岁了

3周前 评论

可以分享一下 vps 各种线路之间怎么选择吗

除了 gcp 还有其他什么的(阿里云???)

3周前 评论
Wi1dcard (楼主) 3周前

好文章, 有好多软件不熟悉, 公司就我一个 后台技术, 软件都不知道怎么获得, 只能靠网上搜罗,

在这里我看到好多新的软件, 你需要学的, 至少筛选过了, k8s 有听说, 一直没用

我也开始学英文了, 现在是背背单词, 尝试看英文 docs,中文的翻译确实有跟不上的内容

3周前 评论
aWhasuka

向大佬学习,😄哈哈

3周前 评论
终生学习者

就怕死磕自己的人,向你学习。

3周前 评论
白俊遥

生活方面:***,以及锻炼厨艺 —— 达成!

此处打码了一些不可描述的东西;

3周前 评论
Wi1dcard (楼主) 3周前

果然颓废的时候还是要看看大佬在干什么

3周前 评论

想知道大佬多大年纪了

3周前 评论
Wi1dcard (楼主) 3周前
白俊遥 3周前

:joy:想到了我司技术总监说的,做技术要专一,不能什么都学!到时候会一事无成!

3周前 评论
Wi1dcard (楼主) 3周前

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!
未填写
文章
59
粉丝
483
喜欢
1105
收藏
861
排名:13
访问:15.1 万
私信
所有博文