兵法与项目管理
孙子兵法有云:“凡战者,以正合,以奇胜。” 讲的是从战略是正面要刚得住,而依靠一支尖刀部队打开战场的僵局,而获得战场的胜利。项目管理也应担如此,然而往往大部分的项目截取了后半段而忽略了前半段,呜呼哀哉。
现代软件工程也存在着形如蒙代尔三角,质量,成本,风险。当控制得了风险和成本,那就不能要求太高的质量。
孙子兵法有云:“凡战者,以正合,以奇胜。” 讲的是从战略是正面要刚得住,而依靠一支尖刀部队打开战场的僵局,而获得战场的胜利。项目管理也应担如此,然而往往大部分的项目截取了后半段而忽略了前半段,呜呼哀哉。
现代软件工程也存在着形如蒙代尔三角,质量,成本,风险。当控制得了风险和成本,那就不能要求太高的质量。
不知道,大家是不是一直受《The Art of Computer Programming》这本书的影响颇大,亦或者大家都是理工科的学生,对于那些没有触及到了艺术就有些向往,就往往冠以计算机艺术之名,计算机艺术这个事情说起来是没错的,无论是操作系统,图形学,AI都是算得上人类智慧的结晶,艺术之作。不过对于大多数的初级程序员来说,这样的说法又让大家忽略了计算机科学工程的那一方面。
软件技能(software skill),首先突出的是一个技能的本身,无论是是达芬奇还一个美院平平无奇的学生,他们都是具备了绘画这个技能,而这个技能本身会体现出来,这个要看创作者本身,当然一个作者想要有一个更好的艺术性,显然也是需要很强的技能作为支撑的,而很多的程序员都忘了,技能的获取是靠的是训练,一个从来不执笔画画的画家是肯定练不成大师的,而一个写代码总是不动脑子的程序员也是成不了大师的。而这样的程序员往往会有几个很明显的特点:
团队中也不缺乏那些聪明而灵活的程序员,本应该走的更远的他们却停滞过于新潮的概念亦或者玄学。而且觉得其中以 《UNIX编程艺术》 这样的书籍作为典范,如果一个程序员张口闭口和你说的都是它的话,那大致可以断定,这是一个玄学程序员。这样的程序员大多数学会了 KISS 之后就抱着这颗大树再也不撒手了,这样的程序员活跃在各大网络论坛和社区之中,他们就是软件行业的禅宗,试图用一些看似有意义的话,让你进行反思,等你反思完成,发现他说的没啥意义的时候,可能已经为时已晚。软件和佛学有点不一样,佛学无法实证,什么内心的愉悦,都是从别人的嘴里讲出来的,因为佛学的禅宗是顺其自然会诞生的,当然也有实证的学派,就比如像苦行僧之类的,而软件本身扎根于计算机,我们所有的行为都是会被01的计算机执行,计算机懂不懂美?我觉得不是不懂的,只有编写的人才懂,这就得要求你,至少写出可行有效的代码,而那些禅宗大师们往往写不出一行能编译通过的代码。
保罗带了一个坏头,把黑客与画家混为一谈,人们往往因为对成功者的顶礼膜拜,就会对其一言一行进行模拟,当然这本书就变成了某些人的灵魂伴侣了。
我们看完的了简单的网络通讯,在Kubernetes中还有一个很重要的ClusterIP的概念。如下图所示,这个是K8s实现服务负载均衡的核心基础。

我们按照 kubernetes 网络原理(1) - 环境预备 & 初窥网络 重新部署一个 BGP 集群的 Calico。
在 Kubernetes 网络原理(2) - Container & Pod 中,我们已经看到了在一个 Node 内部的 Pod 和 Container 的通讯,我们今天来看看跨Node的Pod通讯。
在 kubernetes 网络原理(0) - 网络知识预备 和 kubernetes 网络原理(1) - 环境预备 & 初窥网络 中我们将基础的知识已经知悉,我们就来看看我们的网络通讯。
我们已知道 Kubernetes 的逻辑架构如下:

Docker 是“新瓶装旧酒”的产物,依赖于 Linux 内核技术 chroot 、namespace 和 cgroup。本篇先来看 namespace 技术。
Docker 和虚拟机技术一样,从操作系统级上实现了资源的隔离,它本质上是宿主机上的进程(容器进程),所以资源隔离主要就是指进程资源的隔离。实现资源隔离的核心技术就是 Linux namespace。这技术和很多语言的命名空间的设计思想是一致的(如 C++ 的 namespace)。
第零篇的话,我们就来看看最基础的 namespace,和我们后续需要使用的 Tcpdump 这个抓包工具。
微服务在2019的新趋势,势必是基础设施下行,应用支撑上行。下文展开了说。
