敏捷软件开发 - 容器篇(一)

2020-11-06 10:00:00
莫文韬
转贴:
微信公众号
5958
摘要:今天我们开始谈“容器”。为什么谈这个问题呢?因为它和敏捷也有莫大的联系。我们先从集装箱的故事谈起。

一、起  因             

在上世纪40年代之前,海运的货船通常以船仓的方式来堆放货物。但是大家都知道,这样的效率非常低下,主要是以下三方面原因:

第一,货物大小不一。

由于并不是所有货物都允许向上叠放,造成船仓空间的严重浪费。

第二,货物重量不一。

无论是飞机还是轮船,都有一个“载重平衡”的概念,当平衡失调的时候就有倾覆的可能。
2014年4月16日,满载470人的“世越号”客轮发生了侧翻,300多学生罹难。原因就是底部船仓的集装箱没有固定,当时一名“菜鸟”航海师打了一个急转弯,集装箱由于惯性,都翻到了船仓的一侧。由于载重严重失调,整条船就在短时间内倾覆了。
所以,货物的布局也很大程度上限制了船的运载能力。

第三,装载与卸载成本。

由于货物的形态,形状,重量,特性(比如易碎,易燃,易爆)不一,在将货物从码头运到船仓的过程,需要各种不同专业搬运工人的参与与配合,整个装载过程非常庞大而低效。同样,卸货也一样麻烦。

由此可见,装卸一次货物要经过搬运、分类、码放、清点等等繁琐的程序,在搬运的过程中,还很有可能造成货物的损毁或丢失,可谓费心费力费时又费钱。

 二、转  机             

与此同时,在制造领域,“工业标准化”已经发展到了很高的程度,生产效率也因此得到了大幅度的提高。人们开始思考,是不是可以把“标准化”的应用从制造业套用到运输业呢?
 
每当历史的车轮停滞不前,总有人能挺身而出,继续推动它前行,成就一代传奇。麦克莱恩,美国一家运输公司的老板,大胆提出了海运“标准化”的设想:能不能先把所有的货物都事先放到统一大小的箱子里,再运到码头。这样货物装卸的对象就变成了统一大小的箱子,而非错综复杂的货物了。通过这样的改造,理论上可以大幅减少装卸环节,从而减少成本。
于是,在1956年,麦克莱恩把自己的想法赋予了实现,结果也印证了他的理论:当时普通的装货成本大概是5.83美元每吨,而麦克莱恩的集装箱装船却将成本降低到0.158美元每吨。
集装箱的应用在运输业中无疑是一场革命:把过去复杂的,相互影响和依赖的货物,变成了标准的,互不影响的集装箱,从而大大的提高了运输效率。

 三、发  散           

于是,人们不禁联想到当下的软件开发与部署问题:
  • 一方面,不同的应用可能依赖不同的环境,随着服务器中的应用增多,各种依赖的管理会变得越来越复杂。部分依赖的安装可能会对现有软件造成影响,因而需要大量测试和调试工作。
  • 另一方面,不得不说,现在软件bug的很大一部分问题也是因为环境和配置问题引起的。
所以,我们可不可以把“集装箱”工作方式应用到软件开发上来呢?当然可以!
 
我们为各个应用都独立分配一个“箱子”,应用直接在箱子内独立运行,而不用考虑其他箱子的运行情况。这样一来,前面提到的各种错综复杂的依赖,一下子就被打破了。
 
同时,由于应用的相关配置和环境都在开发阶段提前预置到了这个“箱子”内,保证了环境的一致性,因而彻底解决了在测试以及生产环节,由于环境不同而引起的各种问题。

从专业角度来讲,这个“箱子”有一个更高大上的名字,叫“容器”。容器技术的应用,极大的提高了现代软件的交付效率。
文章分类
联系我们
  • 联系人:阿道
  • 联系方式: 17762006160
  • 地址:青岛市黄岛区长江西路118号青铁广场18楼
投稿邀请

如果您有优秀的原创文章,欢迎添加联系人直接与我们联系,或通过下方邮箱发送投稿文章,一经采用,我们会付以一定的稿件报酬。

  • 投稿邮箱: yanruiyu@easycorp.ltd
  • 投稿标题:向 [敏捷开发] 网站投稿
  • 稿件要求:与敏捷开发相关的任何内容

更多投稿相关请点击 更多进行了解~